Izgled forme rešenja ovog zadataka prikazan je na donjoj slici.
Forma koristi novu komponentu RadioGruop koja može da sadrži više dugmadi koja predstavljaju grupu opcija pri čemu samo jedna može biti odabrana u datom momen. Klikom na atribut Items dobićemo ekran prikazan kao na donjoj slici.
Unutar ove forme unosimo nazive dugmadi koje ćemo korisiti. Glavni deo koda ovog programa je sledeći:
.
.
procedure TForm1.RadioGroup1Click(Sender: TObject); begin Case RadioGroup1.ItemIndex of 0: Begin Edit1.SetFocus; Edit1.SelectAll; End; 1: Begin Edit2.SetFocus; Edit2.SelectAll; End; end; end; procedure TForm1.Button1Click(Sender: TObject);
Var s: string;
n: real;
gr: integer;
begin
Case RadioGroup1.ItemIndex of
0: Begin
s:=Edit1.Text; Val(s,n,gr);
If gr <> 0 Then Begin
ShowMessage('Nisu dobro unesni Farenhajti');
Edit1.SetFocus; Edit1.SelectAll;
End
Else
Edit2.Text:=FloatToStr((5/9)*(StrToFloat(Edit1.Text)-32));
End;
1: Begin
s:=Edit2.Text; Val(s,n,gr);
If gr <> 0 Then Begin
ShowMessage('Nisu dobro unesni Celzijusi');
Edit2.SetFocus; Edit2.SelectAll;
End
Else
Edit1.Text:=FloatToStr(1.8*StrToFloat(Edit2.Text)+32);
End;
end;
end;
procedure TForm1.Postavi(Sender: TObject);
begin
RadioGroup1.ItemIndex:=0;
end;
End. |
Objasniti ćemo glavne karakteristike ovog programa:
- Nakon poziva programa biće pozvana procedura Postavi(događaj na formi OnActivate) u kojoj se postavlja unutar RadioGroup komponente, prva opcije kao podrazumevana(pretvaranje Farenhajte u Celzijuse).
- U proceduri Button1Click vršimo dogovarajuće pretvaranje zavisno od odabrane opcije i prikazujemo dobijeni rezultat.
Kompletan kod programa možete preuzeti ovde.