E,ovako imam jednu nedoumicu u vezi Delphija
Npr. da ovako glasi zadatak:
Treba izracunati ukupan broj Z koji je jednak zbiru brojeva X i Y(koji su realni brojevi).Treba ubaciti jedan EditBox gde ce se ispisivati vrednost broja Z(kao recimo zaokruzen broj).A sada treba dodati RadioGroup koji ce isti ovaj broj Z da prikazuje u novom EditBox-u kao: broj sa 2 decimale,4.........itd........
Da li neko zna kako da mi pomogne?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
EditX: TEdit;
EditY: TEdit;
Button1: TButton;
EditZ: TEdit;
RadioGroup1: TRadioGroup;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
procedure Button1Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
// Globalna promenljiva za rezultat
// Mora da bude glogalna da se ne bi svaki put kada se
// pritisne RadioButton ponovo izracunavao rezultat.
// Promenljiva na pocetku ima vrednost nula.
Z: real = 0;
implementation
{$R *.dfm}
// Odradi sabiranje
procedure TForm1.Button1Click(Sender: TObject);
begin
// Sabiraju sa dva broja uneta u EditX i EditY,
// ali se prvo pretvaraju u realne brojeve pomocu
// StrToFloat funkcije.
Z:=StrToFloat(EditX.Text)+StrToFloat(EditY.Text);
// Ispisuje se rezultat kao zaokruzen (Round funkcija)
// decimalan broj. Ovo moze da se uradi na vise nacina
// ali sam Format iskoristio jer cu ga kasnije ponovo
// koristiti za prikaz decimala. %D je oznaka za decimalan
// (ceo) broj. Ostale oznake mozes da vidis u help-u.
EditZ.Text:=Format('%D', [Round(Z)]);
end;
procedure TForm1.RadioButton1Click(Sender: TObject);
begin
//provera da li je RadioButton1 selektovan
if RadioButton1.Checked then
// Ispis rezultata Z sa dve decimale
// Mislim da je ovo samo po sebi dovoljno jasno.
// Jednostavno %f je oznaka za Float iliti Real, .2 govori
// Format funkciji da broj treba da ispise sa 2 decimale.
// Abo bi stavio 8.2 to bi znacilo da se za ceo broj pre
// zareza izdvaja minimum 8 mesta tako bi na primer
// 123.456 bio ispisan _____123.45 gde je "_" prazno mesto
EditZ.Text:=Format('%.2f', [Z]);
end;
procedure TForm1.RadioButton2Click(Sender: TObject);
begin
//provera da li je RadioButton2 selektovan
if RadioButton2.Checked then
// .4 znaci 4 decimalna mesta. Ako broj neam toliko
// decimalnih mesta, ona se popunjavaju nulama.
// Na primer 123.456 bi bilo 123.4560
EditZ.Text:=Format('%.4f', [Z]);
end;
procedure TForm1.RadioButton3Click(Sender: TObject);
begin
//provera da li je RadioButton3 selektovan
if RadioButton3.Checked then
// .6 znaci 6 decimalna mesta. I tako dalje...
EditZ.Text:=Format('%.6f', [Z]);
end;
end.
Evo kako bi forma izgledala.
http://www.dodaj.rs/f/2G/Fx/3TzH9Aqw/realadd.jpg
E sad nisam proveravao da li je unet teks u EditX i EditY stvarno Real pa će program da izbaci grešku ako uneseš neki tekst, mada ako ti treba mogu i to da uradim.
P.S. Da ne bude zabune, ide prvo komentar pa kod.
vBulletin® v3.8.7, Copyright ©2000-2025, vBulletin Solutions, Inc.