• Welcome to Forum Astronomskog Magazina. Please login or sign up.
 

Programiranje

Started by kostur, October 27, 2012, 10:02:14 am

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

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

October 27, 2012, 12:14:04 pm #2 Last Edit: October 27, 2012, 12:31:55 pm by kostur
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.
...