Welcome, Guest. Please login or register.


Author Topic: Programming apps for SymbOS with the QUIGS environment. (Read 5901 times)

Offline gflorez

  • EP addict
  • *
  • Posts: 3614
  • Country: es
    • Támogató Támogató
Programming apps for SymbOS with the QUIGS environment.
« on: 2020.February.23. 21:26:23 »
Now that Enterprise "net-things" seem to move with EPnet and SF3, I want to remember all you that there is a PC environment(only Win64 or Wine on Linux) named QUIGS that allows easy development of programs for SymbOS.

His creator is  Trebmint(Rob Buckley, a member of this web), and it is being a work of decades(first was  SymStudio, then Unify, and now Quigs, all incompatible between them...), still on beta version. Edoz(Edo van Zanten, also an Enterprise Forever member) is his beta-tester and creator of a lot of interesting SymbOS apps.

Today I am only presenting the software, but on incoming messages I will try to explain how to use it.

The present packet can be opened on the desktop of your computer, creating a directory named QUIGS, and putting all there. The distribution is not completely clean, there are some files that I don't know why are there, probably font code from past reincarnations of the environment.

We only have to manage the QUIGS.EXE executable, all the source files with the .qpf tag, and the "OUTPUT" directory. This is the last version from 08-01-2020.
« Last Edit: 2020.February.24. 15:06:12 by gflorez »

Offline gflorez

  • EP addict
  • *
  • Posts: 3614
  • Country: es
    • Támogató Támogató
Re: Programming apps for SymbOS with the QUIGS environment.
« Reply #1 on: 2020.February.23. 21:27:22 »
2nd part.

Offline gflorez

  • EP addict
  • *
  • Posts: 3614
  • Country: es
    • Támogató Támogató
Re: Programming apps for SymbOS with the QUIGS environment.
« Reply #2 on: 2020.February.23. 21:28:09 »
3rd.

Offline gflorez

  • EP addict
  • *
  • Posts: 3614
  • Country: es
    • Támogató Támogató
Re: Programming apps for SymbOS with the QUIGS environment.
« Reply #3 on: 2020.February.23. 21:29:06 »
4th.

Offline gflorez

  • EP addict
  • *
  • Posts: 3614
  • Country: es
    • Támogató Támogató
Re: Programming apps for SymbOS with the QUIGS environment.
« Reply #4 on: 2020.February.23. 21:29:58 »
And 5th.

Offline gflorez

  • EP addict
  • *
  • Posts: 3614
  • Country: es
    • Támogató Támogató
Re: Programming apps for SymbOS with the QUIGS environment.
« Reply #5 on: 2020.February.24. 10:50:58 »
Who download only some parts of the file? probably  the boots that are constantly tracking the WWW.

----

Ok, once with QUIGS downloaded and installed, you must open the SETTINGS.TXT file to adapt the program to your monitor resolution. Also, it must be run on a freshly loaded WIN session, because if not, it will refuse to work annoyingly.

Now I will give a brief description of what is it and what not.

It is an environment, not only an editor for a language, it brings a lot of tools to create the app. Once you start using it understand the titanic task of creating it, while doing it so easy to the user.

Sadly, it has ONE BIG DRAWBACK: still there is no manual of use.... although it is very intuitive to use. Other minor drawback is that it has still a number of bugs, but it is very usable. For example, the use of Copy/Paste is very limited and the lenght of the lines has not been defined.

But first some hints about the target of QUIGS -----> SymbOS.

SymbOS is a "modern" multi-task WIMP,(Windows, Icons, Mouse, Pointer) operative system on a Z80 architecture computer, you all know that, but internally it manages cleverly and very fast a lot of "complex" things to show us a face that seem very similar to a WIN98 OS. Like EXOS, it manages automatically the pagination system, but instead, all SymbOS apps are made of relocatable code, something that EXOS can do but is not so easy to achieve. Don't fear, QUIGS will do that task for us....

Also, SymbOS is not a whole thing, it is made of a multitude of "events", like open/close a window, click a button, pull a menu, etc. QUIGS necessarily has to be based on these elements so, every time we launch the environment we  are presented with the first event, the bigger of all, Main:

[ Guests cannot view attachments ]
« Last Edit: 2020.February.24. 10:58:52 by gflorez »

Offline gflorez

  • EP addict
  • *
  • Posts: 3614
  • Country: es
    • Támogató Támogató
Re: Programming apps for SymbOS with the QUIGS environment.
« Reply #6 on: 2020.March.01. 16:42:58 »
Think about the Main event as the place where code is forcedly executed, where there are no interrupts to share the processor time. The other "normal" events are asked for action on a scheduled basis.

This means that we can't abuse of executing code on the Main event, only placing in it little tasks that cannot be delayed. Why? because the other "normal" events share processor time. For example, an idle loop inside one event doesn't affect a lot to the execution of other events, but an idle loop on the Main event takes for it all the processor time, and this is a waste on a multitask system like SymbOS.

But the limitations end here, there are a lot of events that will make us to feel like home.

Every program as such needs some type of frontend, and it can be the most hard of the phases of creating it, because a good written program working perfect can be a deception without an easy and nice frontend to control it.

As I have said, SymbOS has a lot of different events to add to a program, and QUIGS has an editor of frontends to do it named "Form", because that is what it does. If you return to the last picture, you will see, under the menu and under the direct access symbols, four folders: Code, Form, Sheet and Map.

This means that a program in QUIGS is not only the written code, there are other aspects that are not in the listing but still are saved on the program file.

Offline gflorez

  • EP addict
  • *
  • Posts: 3614
  • Country: es
    • Támogató Támogató
Re: Programming apps for SymbOS with the QUIGS environment.
« Reply #7 on: 2020.March.01. 18:36:50 »
If you click on the Form label you will see appearing something like this instead of the code:

[ Guests cannot view attachments ]

And, if you click on the middle of the "form", some options will emerge at the right side of the screen:

[ Guests cannot view attachments ]

The "forms" can be accumulated, is for it that QUIGS has the "Control Form" selector under the design grid, to edit the forms one by one.

Like with the Main event, here we have a main Form that will be the first frontend to be seen when the program will be opened.

At the left of  "Control Form" we have the "Add Control" selector. As you can see all reminds to a paint program, but the fact is that it is real programming....

The options that have appeared at the right of the screen are the attributes of the selected form. And under them you can see where the events that control the form will be created.

Being the events of the Main form, we have to be careful with them.

If you click on new "Form1.Open.Event" or "Form1.Close.Event", you will see immediately how the event is added to the Code list. Open will serve as the initialisation of the program, and Close will be the place where the computer resources are liberated, just like you do on other languages. Logically, the Open code will be executed just at the launching of the program, and the Close code when the  X in a square at the top most right corner of the main form is clicked or other ways implemented to close the program.

All variables declared at the start of the code are shared by all the events, so better select well the names. Also, the order of the events is not important, and their effect can be simulated, for example, an action on some code can call the execution of "Form1.Close.Event", what will automatically close the program without need to clicking the X...
« Last Edit: 2020.March.01. 18:59:56 by gflorez »

Offline Povi

  • EP addict
  • *
  • Posts: 2307
  • Country: hu
    • http://povi.fw.hu
Re: Programming apps for SymbOS with the QUIGS environment.
« Reply #8 on: 2020.March.02. 09:29:43 »
:shock: :shock: :shock:
WOW
*** Speicherplatz zu klein

Offline Tutus

  • EP lover
  • *
  • Posts: 692
  • Country: hu
    • Enterprise 128
Re: Programming apps for SymbOS with the QUIGS environment.
« Reply #9 on: 2020.March.05. 21:01:40 »
On Form1 I displayed an Enterpress logo and a text below it.
However, compile failed. When you start the .exe file, the cursor bounces in SymbOS :)
Or I went very far and missed important things (which you haven't written down yet) :D

Offline gflorez

  • EP addict
  • *
  • Posts: 3614
  • Country: es
    • Támogató Támogató
Re: Programming apps for SymbOS with the QUIGS environment.
« Reply #10 on: 2020.March.05. 21:12:43 »
I recognise that I am not an expert on this environment...

So, chapters will come when I have time and  more strengthened my knowledge.

But while that happens... It would be perfect to open a new thread where we could discuss about our programs.

Offline gflorez

  • EP addict
  • *
  • Posts: 3614
  • Country: es
    • Támogató Támogató
Re: Programming apps for SymbOS with the QUIGS environment.
« Reply #11 on: 2020.April.13. 03:29:16 »
I am going to return to this thread. I feel that if I don't do it now it will remain unfinished forever.....

-------

Be careful from now on, because some of the  actions on the environment still don't work properly and can hang it.... but we can save the project every time that some thing is well done, or even use several names for the phases we achieve in your work.

Ok, now that we have the empty main form(the front-end of our future application), and defined its characteristics on the left side of the screen, we can begin to add controls(events) to it.

[ Guests cannot view attachments ]

They are used like the tools on a paint program. Put the mouse pointer over the symbols and a brief description will surface. Select one of them and paste it on the work area inside Form1. A lot of controls will appear on the right side of the screen instead of the ones for Form1. There we can modify parameters of the pasted control, even we can erase it. There are dimensions and position, colours and the usual navigation buttons. The last setting is to add the control to the text of the program. The environment proposes us a name, but we can put there what we want.

In the case of text boxes, usually it appears an input line where we can write the default text we want they to show at start.

Always will be one of the controls or forms highlighted on the work area, to show to which event the settings shown correspond. It is not necessary that all objects shown on the form have a function. For example, if we need to put a warning text on some part, it will not interact with the other events, so we don't need to add it unnecessarily to the text code.

Let´s see an example:

[ Guests cannot view attachments ]

This is the code:

Code: [Select]
// Quigs 1.01 Application for Symbos
// Name:
// Coder:
// Date / Version:

// Declare variables
Var position:Int=1

// End declares

Function Main:Void()
 // Main loop
 
EndF

Function Button1.Event:Void()
 If position=0 Then
 position=1
 Button1.Text.Set("")
 Button1.Refresh
 Button2.Text.Set("click here")
 Button2.Refresh
 EndIf
EndF
Function Button2.Event:Void()
 If position=1 Then
 position=0
 Button2.Text.Set("")
 Button2.Refresh
 Button1.Text.Set("click here")
 Button1.Refresh
 EndIf
EndF


I only have defined 2 buttons, and declared them as events on the text code.

As you can see, the code is controlled by only one variable, position.

The code on every button is only executed after a click on it.

The function XXXXX.Text.set("yyyyy"), where XXXXX is the name of an event, is used to change the text on the buttons, and XXXXX.Refresh is used to effectively write the text.
« Last Edit: 2020.April.13. 03:36:54 by gflorez »