Atom Nieuws
../../../images/back.gif ../../../images/exit.gif ../../../images/forward.gif
pagina 10

Atomic Windows

Voorbeeld programmeren in AW: Kies dmv selectieknoppen


Inleiding:

In het leven moet men af en toe keuzes maken. Atomic Windows heeft hiervoor een speciaal object genaamd radiobutton, oftewel selectieknop. In dit voorbeeld wil ik wat dieper ingaan op het gebruik van deze selectie-knoppen.
Een aantal selectie knoppen waaruit men een keuze kan maken wordt een groep genoemd. De eigenschap van een groep is dat men altijd maar l keuze kan maken uit alle selectie-knoppen die tot zo'n groep behoren. In Atomic Windows is de groep een variabele A t/m Z. De eerste selectie-knop die gedefinieerd wordt, komt overeen met bit 0 van de groeps-variabele. De volgende selectie-knop, uit dezelfde groep, komt overeen met bit 1, enz, enz. Dit betekent dus dat er per groep 8 selectie-knoppen mogelijk zijn.

Principe:

Het programma doet het volgende: er zijn 2 groepen gedefinieerd. Een groep Var.B (variahele B) en een groep Var.C (variabele C). Elke groep heeft 3 selectie-knoppen. Bit 0, Bit 1 en Bit 2. Wanneer je op de druknop 'Show B' drukt, kun je zien wat de waarde van variabele B op dat moment is. Hetzelfde geldt voor de drukknop 'Show C', maar dan voor de andere groep.
Druk maar eens een selectie-knop in en kijk dan wat er met de waarde van de bijbehorende variabele gebeurt.

PROC INIT:

In deze procedure worden de voorinstellingen gemaakt voor de groepen B en C. Deze zijn allebei 1, dit betekent dus dat bit 0 gezet is en dat dus de eerste selectie-knop ingedrukt is bij aanmaak van het scherm.

PROC BUILDSCREEN:

Hier wordt het scherm opgebouwd. Met behulp van het commando DLGFRAME wordt er duidelijk gemaakt welke selectie-knoppen hij welke groep horen. Je ziet dus dat bij de definitie van een selectie-knop (DLGRADIOBUTTON), alle knopen die bij dezelfde groep horen dezelfde variabele hebben.
Een afdruk van het scherm staat hieronder.

select-1.gif

MAIN:

De hoofdlus van het programma initialiseerd de variabelen en bouwt dan het scherm op. Indien er op een drukknop gedrukt wordt, kan men een bepaalde tijd zien wat de waarde van de desbetreffende variabele is Het programma ziet er als volgt uit:

10 PROGRAM RADIOBUTTON
20
30 DIM V32
40
50 PROC INIT
60 $V="C=0"
70 B=1;C=1
80 *LO.RBFONT 7000
90 DLGBA.#7000
100 CLEAR4
110 DLGCLS
120 PEND
130
140 PROC BUILDSCR
150 DLGPO.0
160 DLGCR.A,"RadioButton",104,6,4,19,16
170 DLGFR."Var.B",4,1,4,8,7
180 DLGRA.B,"Bit0",0,2,5
190 DLGRA.B,"Bit1",0,2,7
200 DLGRA.B,"Bit2",0,2,9
210 DLGFR."Var.C",4,10,4,8,7
220 DLGRA.C,"Bit0",0,11,5
230 DLGRA.C,"Bit1",0,11,7
240 DLGRA.C,"Bit2",0,11,9
250 DLGPU.10,"Show B",0,1,12
260 DLGPU.20,"Show C",0,10,12
270 DLGEND
280 PEND
290
300 INIT
310 BUILDSCR
320 CASE A OF
330 <10> ?V=CH"B";V?2=B+48
340 DLGLA.$V,0,1,14
350 DLGPO.2;PAU.100
360 <20> ?V=CH"C";V?2=C+48
370 DLGLA.$V,0,1,14
380 DLGPO.2;PAU.100
390 CEND
400 IF A<>0;GOTO 310
410 P.$12;END

Zo, weer een artikel in de reeks 'Voorbeeld programmeren in AW' De volgende keer meer. Tot schrijvens'!!

Kees van Oss

../../../images/back.gif ../../../images/exit.gif ../../../images/forward.gif