Mer om radioknapper og radiogruppe

Det er ofte enklere å håndtere radioknapper gjennom deres felles gruppe enn å behandle dem hver for seg:

Hvis radioknappene gies verdiene (.value) 0, 1 og 2, kan vi henge lytterfunksjonen direkte på gruppen,
og finne verdien til valgt radioknapp med egenskapen .selectedData i gruppen.

Se eksemplet som følger.


Dette er det som skjer når brukeren kjører programmet:

Dette er koden som må kjøres og som setter opp det som er nødvendig for at det som er vist over skal skje:

/// ----------------Eksempel på koding av oppsett ---------------------///

// I Flash Professional:
// Radioknapper med navn litenRb, middelsRb og storRb, med egenskapen .value satt til henholdsvis 0, 1 og 2.
// Radioknappene ligger i en gruppe som er angitt i groupName og kan nåes med egenskapen
// .group i alle de tre radioknappene.

// Konstanter for å få informativ kode:
const LITEN:   int = 0;
const MIDDELS: int = 1;
const STOR:    int = 2;
// Variabler som lagrer status for radiogruppen:
var storrelse: 	int = MIDDELS;		// Default størrelse middels
// Angi lytterfunksjon til systemet som sender hendelser (events):
// (Spiller ingen rolle hvilken knapp vi bruker for å hente gruppen.)
var gruppe: RadioButtonGroup = litenRb.group;
gruppe.addEventListener( Event.CHANGE, storrelseEndret);
// Skriver lytterfunksjonen:
function storrelseEndret(evt: Event): void {
	storrelse = int( gruppe.selectedData );	// Må konvertere til heltall, kunne vært andre typer data.
	// som egentlig er det samme som:
	storrelse =  int( gruppe.selection.value );  // radioknappens value = gruppens selectedData
}// storrelseEndret()

 

/// --------------------------- Databehandling ---------------------------///

 

// I databehandlingsdelen kan man sjekke valget (LITEN=0, MIDDELS=1 og STOR=2) som
// ligger i variabelen storrelse på denne måten:
if( storrelse == LITEN ) {
   ...
} else if( storrelse == MIDDELS ) {
   ...
} else if( storrelse == STOR ) {
   ...
}//if
/// ------------------ Eksempel på prisberegning med tabell--------------///
// Sparer mye if-sjekking ved å legge prisene på de 3 x 3 = 9 kombinasjonene av
// størrelse og type i en pris tabell.
//(Forutsetter at konstantene GRILL, WIENER og OSTEPOLSE 
// og at variabelen type er kodet og satt.)
// Grunnpriser:
const GRUNNPRIS: Array = [ [15.0, 18.0, 20.0] ,	//Grill: 	L, M, S
   			[12.0, 13.0, 14.0] ,	//Wiener:	L, M, S
   			[20.0, 23.0, 26.0]	   //Ostepølse:    L, M, S
	 		];
var sum: Number = 0.0;
// Et eller annet sted i koden som gjør beregningene kan vi da slå opp prisen
// på riktig kombinasjon direkte:
sum += GRUNNPRIS[ type ] [ storrelse];	// Vil slå opp type i rad og størrelse i kolonne.
// Eksempelvis:
// Hvis valgt type er 1=WIENER og valgt storrelse er 2=STOR, slår vi opp GRUNNPRIS[1][2],
// altså i andre rad og tredje kolonne og får 14.0.
// (Husk at vi nummererer 0, 1 og 2, ikke 1, 2 og 3 i tabeller!)