PDA

Visualizza la versione completa : (Delphi7) Gli operatori relazionali


camaleonteplus
27-04-2010, 17:24
//controlla da 0 a 30
numero_da_Controllare := StrToInt(Ren.Caption);
numero := 30;
if numero_da_Controllare <= numero then
ALed1.Value := True;
//controlla da 31 a 60
numero_da_Controllare := StrToInt(Ren.Caption);
numero := 31;
if numero_da_Controllare >= numero then
ALed2.Value := True;
//controlla da 61 a 100
numero_da_Controllare := StrToInt(Ren.Caption);
numero := 61;
if numero_da_Controllare > numero then
ALed3.Value := True;
end;

il codice qui sopra:
da 0 a 30 mi accende un led verde che si spegne al valore 31.
da 31 a 60 un led giallo che dovrebbe spegnere al valore 61 (Ma non lo fa).
da 61 in poi uno rosso.
Adesso il problema è che quello giallo che dovrebbe avere un campo tra 31 a 60 non riesco a controllarlo perché anche quando supera il valore 60 resta acceso come devo impostare l'operazione?
Spero di essermi spiegato bene.

sebaldar
27-04-2010, 18:06
può darsi che io non abbia capito cosa vuoi fare, comunque proverei così


numero_da_Controllare := StrToInt(Ren.Caption);
//controlla da 0 a 30
numero := 30;
if numero_da_Controllare <= 30 then
ALed1.Value := True;
//controlla da 31 a 60
else if numero_da_Controllare >= 31 then
ALed2.Value := True;
//controlla da 61 a 100
else if numero_da_Controllare > 61 then
ALed3.Value := True;
end;

camaleonteplus
27-04-2010, 20:17
ALed1.Value := False;
ALed2.Value := False;
ALed3.Value := False;
numero_da_Controllare := StrToInt(Ren.Caption);
//controlla da 0 a 30
if numero_da_Controllare <= 30 then
ALed1.Value := True;
//controlla da 31 a 60
if numero_da_Controllare >= 31 then
ALed2.Value := True;
//controlla da 61 a 100
if numero_da_Controllare > 61 then
ALed2.Value := False;
if numero_da_Controllare > 61 then
ALed3.Value := True;
end;

ho risolto in questo modo prendendo spunto dal tuo suggerimento.

oregon
27-04-2010, 21:17
Le due if finali sono uguali ...

Loading