50 lines
1.5 KiB
Plaintext
50 lines
1.5 KiB
Plaintext
{{omit from|ACL2}}
|
|
{{omit from|Applesoft BASIC|no concept of a GUI}}
|
|
{{omit from|AWK|no concept of a GUI}}
|
|
{{omit from|Batch File}}
|
|
{{omit from|Blast}}
|
|
{{omit from|Brainf***}}
|
|
{{omit from|Commodore BASIC}}
|
|
{{omit from|GUISS|Only makes use of installed applications}}
|
|
{{omit from|Integer BASIC|no concept of a GUI}}
|
|
{{omit from|Lilypond}}
|
|
{{omit from|Logtalk}}
|
|
{{omit from|Lotus 123}}
|
|
{{omit from|Maxima}}
|
|
{{omit from|PARI/GP}}
|
|
{{omit from|PostScript}}
|
|
{{omit from|Retro}}
|
|
{{omit from|SQL PL|It does not handle GUI}}
|
|
|
|
|
|
Almost every application needs to communicate with the user in some way.
|
|
Therefore, a substantial part of the code deals with the interaction
|
|
of program logic with GUI components.
|
|
|
|
Typically, the following is needed:
|
|
|
|
* put values into input fields under program control
|
|
* read and check input from the user
|
|
* pop up dialogs to query the user for further information
|
|
|
|
|
|
;Task:
|
|
For a minimal "application", write a program that presents a form with three components to the user:
|
|
::* a numeric input field ("Value")
|
|
::* a button ("increment")
|
|
::* a button ("random")
|
|
|
|
|
|
The field is initialized to zero.
|
|
|
|
The user may manually enter a new value into the field,
|
|
or increment its value with the "increment" button.
|
|
|
|
Entering a non-numeric value should be either impossible,
|
|
or issue an error message.
|
|
|
|
Pressing the "random" button presents a confirmation dialog,
|
|
and resets the field's value to a random value if the answer is "Yes".
|
|
|
|
(This task may be regarded as an extension of the task [[Simple windowed application]]).<br><br>
|