ot PhrozenCrew(10-12-2006)

reiting (23)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

Programirane na programa s grafichen interfeis (GUI) s Lazarus i freepascal za Linux i Windows

V tozi urok v lesni stupki shte se opitam da pokazha osnovata za programirane s Free pascal, kato izpolzvam IDE sreda za programirane Lazarus (perfektno IDE s otvoren kod za Windows i Linux).
Free Pascal e kompilator, koito e mnogo blizuk po sintaksis do Delphi.

Reshih da napisha mnogo sempla programka s grafichen interfeis (GUI), koiato da dade osnovnite tehniki na programiraneto s pomoshtta na Lazarus. Programkata shte izvurshva konvertirane na temperatura po TSelzii v temperatura po Farenhait.
Za da niama otegcheni neka se zalaviame za rabota.
1. Startiraite Lazarus i izberete ot padashtoto menyu Project -> New Project...
SHTe vi se otvori prozoretsa "Create a new project" v koito triabva da izberete tipa na noviia proekt. Izberete "Application" (ako ne e markirano) i natisnete butona "Create".



V tozi moment veche razpolagate s podlozhka (Form1) za grafchniia interfeis na programata koiato iskame da napishem.



2. V lentata s instrumenti, malko pod padashtite menyuta, triabva da e izbran taba "Standart". V tozi tab sa vkarani vsichki po-izpolzvani instrumenti neobhodimi za grafichen interfeis. Pri spirane na mishkata vurhu vseki instrument shte se izpisva imeto mu: TMainMenu, TPopupMenu, TButton, TLabel. Za tozi proekt shte sa vi neobhodimi samo 2 instrumenta - TButton i TEdit.



Kliknete vurhu instrumenta TEdit i posle kliknete kudeto i da e vurhu podlozhkata Form1. Vednaga shte se poiavi pole za redaktirane. Tova pole Lazarus shte go krusti sam Edit1.



3. Sega kliknete vurhu instrumenta TButton i posle niakude do poleto za redaktirane, koeto napravihme predi malko. Lazarus shte krusti tozi buton Button1.
4. Otnovo kliknete na lentata s instrumenti vurhu TEdit i posle pak vurhu podlozhkata Form1 niakude do Button1.



Veche triabva da imate vsichki neobhodimi instrumenti za grafichniia interfeis na programata, a te sa dve poleta za redaktirane i edin buton. Neka malko da opravim interfeisa. Lazarus predlaga mnogo dobra snap funktsiia pri mestene na elementite. razpolozhete vsichko taka, che da izglezhda dobre.



5. Sega veche idva po-slozhnata chast. Dobre e da razbirate pone malko ot ezika za programirane Pascal, no ako ne razbirate niama da e fatalno. SHTe se opitam da obiasnia kolkoto moga. Ima dosta rukovodstva v gugul za Pascal, taka che mozhete da si namerite dosta podrobna informatsiia.
Kliknete dva puti vurhu butona Button1, koito suzdadohte. SHTe se poiavi prozoretsa s sors koda na programata i shte vidite migasht kursor gotov za zadavane na komandi mezhdu begin i end:
procedure TForm1.Button1Click(Sender: TObject);
begin

end;




Tochno na tova miasto triabva da vkarame nashiia kod. Mdam, no kakvo tochno da napishem. Konvertiraneto na temperatura po TSelzii do temperatura po Farenhait stava po slednata formula:
°F = °C * 1.8 + 32
Hm, znachi poleto za redaktirane Edit1 shte e pole za zapisvane na temperaturata po TSelzii, a poleto Edit2 shte pokazhe presmetnatata temperatura po Farenheit. Neka da probvame taia formula. SHTe izvlechem napisanoto v poleto Edit1 (zadulzhitelno triabva da sudurzha chislo), sled natiskane na butona Button1 posle shte go obrabotim po formulata i shte nakarame programata da izpishe rezultata v Edit2. Da vidim kak shte izglezhda samiia kod:
Edit2.Text := FloatToStr((StrToFloat(Edit1.Text)*1.8)+32);
Taka, sega neka obiasnim kakvo napravihme. S "StrToFloat" prevurnahme stringa(teksta) ot Edit1 v chislo s plavashta zapetaia, koeto da se razpoznava ot Pascal, sled tova izvurshihme neobhodimite matematicheski operatsii s tova chislo i nai-nakraia pak go prevurnahme v udoben za pokazvane spored Pascal tekst s funktsiiata "FloatToStr".
6. Da vzemem da probvame tova chudo dali raboti. Natisnete F9 i pochakaite malko. Ako vsichko e nared bi triabvalo da vi se pokazhe programata, kato v poleto Edit1 triabva da napishete niakakvo chislo. Da rechem che napishete 2.1356, sled tova natisnete butona Button1 i vizhte dali v poleto Edit2 se e poluchil rezultata 35,84408. Ako tova e taka znachi veche ste gotovi grafichnata si programa.



7. Sega neka da napravim malko fini nastroiki. Sprete programkata i se vurnete podlozhkata v Lazarus. Izberete elementa Edit1. V diasno se namira Object Inspeector-a v koito e i Properties taba. Kato se porazgledate v toia tab shte vidite poleto Text, a sreshtu nego Edit1. Iztriite nadpisa Edit1.



Po sushtiia nachin postupete i s Edit2. Sega izberete butona i namerete poleto v Properties - Caption. Sreshtu Caption bi triabvalo da e izpisano Button1. Iztriite tozi nadpis i napishete Convert.

CHudesno!. Sega dali ne mozhem oshte malko da pipnem, ei taka za obshta kultura. Mai shte e dobre da poluchavame otgovora zakruglen do vtoriia znak sled desetichnata zapetaia. Za tazi tsel shte izpolzvame funktsiiata za formatirane FloatToStrf. Tazi funktsiia ima mnogo vuzmozhnosti, no na nas ni samo edna ffFixed. S tazi funktsiia mozhete da izberete i pretsiznost na zakruglianeto, no tova e tema za drug urok. I taka neka zamenim reda
Edit2.Text := FloatToStr((StrToFloat(Edit1.Text)*1.8)+32);
s tozi
Edit2.Text := FloatToStrf((StrToFloat(Edit1.Text)*1.8)+32,ffFixed,5,2);
Kompilirame otnovo i da vidim kakvo se poluchava kato zadadem otnovo sushtata temperatura po TSelzii kakto po-gore 2.1356.



Dali da ne smenim i imeto na samiia prozorets. Kliknete vurhu samata podlozhka i izberete ot Object Inspector-a taba Favorites. Tam sreshtu poleto Caption zamenete Form1 s Converter
Da kompilirame pak nashata programka i da vidim kakvo e stanalo.



Ot tam natatuk sledvat improvizatsiite. Pozhelavam vi uspeh s programiraneto s Pascal!
Izhodniiat kod na programata mozhete da namerite tuk.


<< Pravene na arhivi po "lesniia nachin" | Razmisli po HFSC >>