Programiranje

Započeo kostur, Oktobar 27, 2012, 10:02:14 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

kostur

Nisam znao gde da metnem ovu temu. Smatram da bi dobro došla za nas koji imamo problema sa programiranjem. Naime, ako ima neko ko zna u Delphi-u da programira, sad je pravi čas da se javi.

Znači, treba da napravim calc, vrlo jednostavan sa poljima a, b i rešenje. e sad, on se sastoji od tri labela, tri edita i dugmeta. Labeli su tu da označe da je Edit1 = a; Edit2 = b; Edit3 = r.

I sad kad otvorim button sa naznakom plus ( '+' )

process
var a,b,r:real;
begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
r:=StrToFloat(Edit3.Text);
r:=a+b;
end;
end.

Kad idem na Run, i ukucam u edite recimo 2 i 3, on mi izbaci poruku kako ' i " nisu prave vrednosti (nešto tako), da li ima greške u kodu?
Sky-Watcher 150/750 N
EQ-3 montaza
Okulari Super 25 i 10 mm
Barlow 2x
Trazioc 6x30
Laserski kolimator
Optisan 36050n na fotostalku za posmatranje Sunca ;D
http://astronomija101.wordpress.com/

gile.ms

process
var a,b,r:real;
begin
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
// r:=StrToFloat(Edit3.Text); ovo "leti" napolje, ne učitavamo r iz Edit-a već ga računamo...
r:=a+b;
Edit3.setText(r); // nisam siguran da sam uboo sintaksu, ali na ovom mestu treba da prikažemo rezultat na predviđenom mestu...
end;
end.

nadam se da sam pomogao  :)
SkyWatcher 150/750 EQ3, TS 10x50, TS 20x80, Star Adventurer, EOS 550d<br />----------------------------<br />Truly, Madly, Deeply

kostur

#2
E to sam tražio! Hvala!
To jest morao sam malo da iskarikiram 8)


procedure TForm1.Button1Click(Sender: TObject);
var a,b:real;
begin
a:=strtofloat(edit1.Text);
b:=strtofloat(edit2.text);
Edit3.Text:=FloatToStr(a+b);
end;
end.


Tačno nisam trebao r da ubacujem - HVALA!!!!
Sky-Watcher 150/750 N
EQ-3 montaza
Okulari Super 25 i 10 mm
Barlow 2x
Trazioc 6x30
Laserski kolimator
Optisan 36050n na fotostalku za posmatranje Sunca ;D
http://astronomija101.wordpress.com/

kostur

Eh, ali ako recimo ubacim da je a = nečemu, a b prazno, onda mi izbacuje isto to. Kako da podesim da ako je edit2.text null onda je jednak nuli?
Sky-Watcher 150/750 N
EQ-3 montaza
Okulari Super 25 i 10 mm
Barlow 2x
Trazioc 6x30
Laserski kolimator
Optisan 36050n na fotostalku za posmatranje Sunca ;D
http://astronomija101.wordpress.com/

Sima_Strahota

Ne znam kako to funkcionise u Delfiju, ali C# i Java, recimo, imaju kontrolu gresaka, to jest nesto sto se zove Exception.
Funkcionise tako sto 'hvata' sve nepravilnosti, kao sto su recimo deljenje nulom, citanje prazne vrednosti i kojesta jos.

A trebalo bi da mozes i da proveris taj edit box na null vrednost?

Naravno, uvek mozes da varas, pa da ga pri startovanju programa podesis na 0 :)
...

orion310591

Ne moze s "prazno" da se radi... jer ces ko zna koju vrednost tako da povuces s ko zna koje lokacije, moras da zadas nulu u slucaju da ti je to B "prazno".

gile.ms

napravis neku if else konstrukciju tipa


if edit1.Text = '' then a:=0; else a:=strtofloat(edit1.Text);


ne znam kako ide sintaksa u delfiju, ali if/else je svuda isto...

P.S. ovo rešenje nije otporno na slučajeve kada se u box upiše string koji nije broj... ali na netu imaš more primera sigurno...
SkyWatcher 150/750 EQ3, TS 10x50, TS 20x80, Star Adventurer, EOS 550d<br />----------------------------<br />Truly, Madly, Deeply

kostur

ma delfi sugavi, sto u skoli ne ucimo c++ ili javu, ovako nikad ne bih radio u njemu
Sky-Watcher 150/750 N
EQ-3 montaza
Okulari Super 25 i 10 mm
Barlow 2x
Trazioc 6x30
Laserski kolimator
Optisan 36050n na fotostalku za posmatranje Sunca ;D
http://astronomija101.wordpress.com/

Sima_Strahota

Svaki programski jezik je koristan na svoj nacin i u svakom mozes da uradis (uglavnom) sve. Pogotovo u modernim jezicima. Ako te zanima programiranje, onda ti je u principu svejedno.

Evo sad vidim da Delphi ima ono o cemu sam govorio: http://www.delphibasics.co.uk/Article.asp?Name=Exceptions
Koristeci ovo mozes da uhvatis razne greske i da ih se resis.
Takodje, za kontrolu ulaza mozes da koristis i Regular Expressions, sto je po meni bolja varijanta.
...