spájame
slovenskú
IT komunitu
pridaj sa
Registrácia · Login

Joozty 6.3.2014
Hodnoť článok:
0 0

Vytvárame vlastné programy v Delphi 7 1. časť

Chceš sa naučiť vytvárať programy v Delphi 7? Tento seriál je určený práve pre teba. :)

Veľa ľudí si myslí, že Pascal ako taký je už strašne starý jazyk a neoplatí sa ho vyučovať. Do určitej miery majú pravdu, ale podľa mňa je to stále najlepší jazyk v ktorom sa rýchlo naučíte programovať. Nie je komplikovaný a myslím si, že sa ho dokáže naučiť naozaj každý. Preto nie nadarmo sa ešte vyučuje. Veľa skúsených programátorov vytváralo prvé programy práve v Pascale.

Na internete nájdete mnoho tutoriálov na Pascal. Aby tento seriál bol niečím výnimočný, tak sa nebudeme učiť iba teóriu a programovanie v konzole. Budeme vytvárať vlastné programy, pri ktorých pochopíte ako to všetko funguje. Začneme od jednoduchých základov a dostaneme sa až po vytváranie pomerne zložitejších programov. Nakoniec si vytvoríme vlastný textový editor.

Poďme na to

Ako to už býva zvykom, prvý program, s ktorým začína každý seriál o programovaní je „Hello World“
Aby sme ostali verní tradícii, vytvoríme si ho aj my, ale trochu ho vylepšíme.

Čo potrebujeme predtým vedieť?

Predtým ako začneme programovať si musíme povedať čo je to premenná a ako sa do premennej ukladajú veci a o príkaze showmessage.

Premenná – Je to v podstate miesto v pamäti, kde si ukladáme údaje, s ktorými budeme neskôr pracovať. Existuje viac typov premenných podľa toho, čo si do nich ukladáme. Ak do nich ukladáme číslo, stačí nám poznať premennú typu integer. Ak si ukladáme text, je to zas premenná typu string.
Samozrejme, existuje viac typov premenných, ale o tých si povieme niečo nabudúce.

Ukladanie do premennej – je to príkaz priradenia a má tvar a:=b. (Do premennej a ulož b)

Showmessege – je príkaz, pomocou ktorého dokážeme zobraziť na obrazovku text. Výstupný reťazec je vždy string. Vyzerá nasledovne: Showmessege('Ahoj'); Tento príkaz nám zobrazí na obrazovke text Ahoj.

Čo ideme robiť?

Naším dnešným cieľom je vytvorenie programu, ktorý nás po zadaní mena pozdraví.

Vytvorenie programu

1.Pustíme si Delphi 7.
2.Klikneme na File – New - Application.
3.Zo záložky „Standard“ vyberieme položku panel a vložíme ju na formulár.
4.Do formulára vložíme taktiež zo záložky „Standard“ jeden BUTTON a jeden EDIT.
5.Vo vlastnostiach buttonu zmeníme caption na pozdrav ma a captions editu a panelu zmažeme.
6.Pre vylepšenie pridáme ešte zo záložky „Standard“ jeden label a premenujeme ho na „Zadaj meno“.

Náš formulár by mal vyzerať takto:

Takže grafickú stránku nášho programu máme hotovú. Môžeme sa pustiť do kódovania.

7.Klikneme dva-krát na button (Pozdrav ma), pretože ideme programovať udalosť po kliknutí na button.
8.Prvé, čo potrebujeme, je načítanie mena.
9.Zadeklarujeme si premennú, do ktorej sa nám uloží meno. Musí byť typu string, pretože je to textový reťazec – slovo.
10.Nazvime ju meno. Premenné sa deklarujú do var a to nasledovne: var meno:string;
11.Teraz to samotné načítanie. Pod begin napíšeme: meno:= edit1.text; (Do premennej meno priraď text z editu).
12.Každý príkaz, ktorý zadávate treba oddeliť bodkočiarkou.
13.Keďže už máme načítané naše meno v premennej, tak môžeme prejsť k zobrazenia nášho mena na obrazovke. Použije príkaz showmessage. Pridáme tam takýto kód:
Showmessage('Ahoj ' + meno);
Tento príkaz nám zobrazí text Ahoj + to čo máme uložené v premennej meno.
14.Už to len uložíme a spustíme
File – Save as – Save

Kód by mal vyzerať nasledovne:

Tip: Je dobré, keď si svoj kód aj komentujete. Zlepšuje to priehľadnosť. Keď sa vrátite k programu o niekoľko týždňov, tak si už nemusíte pamätať čo aký príkaz robí. Ak chcete komentovať treba použiť // a za to písať.

Nabudúce si vytvoríme jednoduchú kalkulačku, ktorá bude vedieť sčítavať, odčítavať, násobiť a deliť.

Hodnoť článok:
0 0

11 komentárov k článku:

Komentovať môžu iba prihlásení

Zaregistruj sa cez bezplatnú registráciu alebo použi login cez Facebook (FB Connect)

Prihlás sa tu, ak už máš profil na Zajtra.sk:


Zabudol som heslo

0 0 Patrik Pomichal 18.3.2014 17:07:02
@Miloš Ano tak. Spravil som 2. "exac". Takze program po overeni, ze existuje novsia verzia (zavolal som http request a to vratilo verziu) som spustil update program a ukoncil som aktualny. Update po prepisani suborov spustil program a ukoncil sa. To ake subory sa maju stiahnut som riesil na serveri, kam som nahral subor s menom: verzia.nazov.ext a script povyberal vsetky subory, ktore mali vacsiu verziu nez co poslal update, s tym ze z kazdeho suboru bral len tu najvyssiu verziu. To vsetko potom zazipoval a poslal. Na strane klienta som overil subor pomocou hashe a rozbalil do pracovneho adresara.
0 0 Miloš 16.3.2014 19:46:06
@Patrik Pomichal Ako si urobil tú samoaktualizovaciu aplikáciu? Pomocou druhej aplikácie alebo má na to Lazarus nejaké možnosti? Dosť ma to zaujalo a rád by som sa niečomu priučil.
0 0 Miloš 9.3.2014 11:48:25
No a ešte ma napadlo, že Lazarus umožňuje aj programovanie pre Android, ale momentálne si nie som istý ako pokračuje vývoj. V štandardnej inštalácii to nedokáže, ale sú nejaké balíčky, ktoré to vedia rozbehať. No ale myslím, že pre Android je určite vhodnejšie Android Studio.
0 0 Miloš 9.3.2014 11:46:55
@Joozty Úplne stačí skontrolovať, či tento diel seriálu pôjde aj v Lazarovi (myslím, že áno, akurát si to bude pýtať iné obrázky) a premenovať článok. Potom už len pokračovať v seriále.
0 0 Miloš 9.3.2014 11:44:55
@igo Toto zažívam aj s Lazarom pri použití inline procedúr, ale riešim to tak, že pomocou Find+Replace zakomentujem inline a je to vyriešené. Keď skončím debugovanie, vrátim inline naspäť. Tiež som si dlho zvykal, že F4 treba nahradiť kombináciou klávesov F5 a F9, pretože F4 funguje len vo vnútri procedúry. Lazarus má tiež svoje muchy, ale myslím, že sa na ne dá rýchlo zvyknúť.
0 0 Miloš 9.3.2014 11:41:56
Neboj sa, tutoriály na Lazarus budú zhodné na 98 % s Delphi. Pár rozdielov sa nájde a pár dôležitých informácií nájdeš tu:
http://wiki.freepascal.org/Lazarus_For_Delphi_Users

Skôr ide o to, že Lazarus ti v základnej inštalácii ponúka ďaleko viac než Delphi 7, keďže je stále aktívne vyvíjaný na rozdiel od Delphi 7, ktorého súčastník sa nazýva myslím RAD Studio (ktoré je samozrejme ďalej vyvíjané) a predpokladám, že od Delphi 7 je to už dosť veľký rozdiel.

Lazarus napríklad v sebe obsahuje podporu pre OpenGL, tiež podporuje prácu s databázami SQLite, MySQL, PgSQL a ďalšími. Navyše je multiplatformový a pokiaľ sa snažíš vytvoriť multiplatformovú aplikáciu, nič ti v tom nebráni pokiaľ nepoužiješ špecifické knižnice, ktoré sú len pre určitý operačný systém.

Istú dobu, kým som Lazarus nepoznal poriadne, som ho považoval za akýsi večne problémový pokus o náhradu Delphi. Realita je ale úplne iná. Občas vie trochu potrápiť, ale ak sa s ním zžiješ, tak s ním problém mať nebudeš. To že je plnohodnotný som pochopil dosť neskoro. Bolo to vtedy, keď autor Total Commandera vydal informáciu o tom, že celý program preportuje do Lazara, keďže vývoj Delphi dlho stagnoval a používatelia žiadali 64-bitovú verziu.

Delphi používam teraz už len kvôli jednému starému projektu, ktorý postupne prepisujem do Lazara. Len čo to bude hotové, Delphi pôjde z počítača preč.

Vyskúšaj, nebudeš ľutovať. A pri vytváraní tutoriálu sa môžeš inšpirovať aj príkladmi, ktoré sú dodávané s Lazarom.
0 0 Joozty 9.3.2014 09:41:05
Takže vravíte, že nemám s Delphi 7 pokračovať? Pozriem sa na ten Lazarus. Priznám sa, že som v tom ešte neprogramoval tak mi dajte chvíľku a začnem robiť tutorialy v tom. :)


0 0 igo 7.3.2014 15:09:40
moja rada je s delphi ani nezacinat. ako som volakedy mal rad delphi tak ho teraz preklinam. ked clovek zacne robit seriozne veci cele delphi je nespolahlive. napr. pri debugovani zacne cloveka hadzat na riadky v ktorych ani nie je ziadny kod, nezachati breakpointy a pod. proste cele zle :) radsej ludia zacnite robit javafx
0 0 Jozef Bakos 7.3.2014 12:17:28
No lazarus by bol asi lepsi sam v nom programujem :D Napriklad moj program napisany v lazaruse najdete tu: https://nadejazivot.sk/eyectrl-2-8-beta/ odporucam pozriet video :D riesil som tam veci ako multithreading, tcp/ip konkretne stahovanie suborov, smtp je tam tiez takze spravy dokaze posielat, automaticke aktualizacie programu :D a podpora pre multimedia, emulacia mysi je tam ties
0 0 Patrik Pomichal 6.3.2014 17:43:02
Cenim snahu autora a chcel by som podakovat za jeho cas, kotry venoval clanku. Musim ale suhlasit s @Miloš serial s Lazarusom by podla mna bolo prinosnejsie. Mozno aj pre autora. Ja osobne Lazarus pouzivam ak potrebujem vytvorit "okennu appku" a rad by som precital konkretne riesene ulohy ako napriklad pracu s mailami, spracovavanie nejakeho online feedu, pracu s vlaknami alebo ako spravit aplikaciu ktora sa dokaze aktualizovat. Tieto ulohy som realne aj riesil mozno by ich autor riesil inac (lepsie).
1 0 Miloš 6.3.2014 16:45:02
Nechcem kritizovať snahu autora, ale dovolím si predsa len jednu poznámku, ktorá určite bude mať nejakú hodnotu.

Zaujímalo by ma, prečo sa autor venuje v tomto seriále programovaniu v Delphi 7? Delphi 7 je určite kvalitné a prepracované prostredie, o čom nie je pochýb. V každom prípade, začínať programovať v tomto prostredí nepovažujem za vhodné z viacerých hľadísk:
1. Prostredie je staré približne 10 rokov, čo sa odzrkadľuje aj na jeho možnostiach.
2. Delphi 7 je pre bežné používanie ťažko zohnateľné. Legálne ho zoženie akurát študent školy, ktorá má licenciu, ktorá umožňuje, aby učiteľ poskytol kópiu aj žiakom pre štúdijné účely.
3. Pre komerčné využitie je nutné mať zakúpenú licenciu (priznám sa, že neviem ako je definovaná študentská licencia) a tá nie je najlacnejšia. To nehovorím o tom, že Delphi 7 je už zastaralé a licencia sa už myslím nedá ani zakúpiť.

Preto si myslím, že je vhodné, aby sa autor pozrel na projekt Lazarus:
http://lazarus.freepascal.org/

Toto prostredie vychádza z Delphi a dokáže minimálne to čo Delphi 7. Samozrejme sú tam menšie či väčšie rozdiely (najväčšie v oblasti databáz, ale ani to nepovažujem za veľkú prekážku). Pre účely tohto tutoriálu bude Lazarus určite postačovať a myslím si, že vzhľadom na aktívny vývoj bude určite aj vhodnejším.

S aktuálnou verziou "Delphi", čiže RAD Studiom (nie som si presne istý názvom) by som si Lazara nedovolil porovnávať, pretože o možnostiach tohto produktu nemám dostatok informácií. Predpokladám však, že tu sa už ich cesty mierne rozchádzajú (RAD Studio vsádza na univerzálnosť (použiteľné jazyky sú minimálne C++ a Object Pascal) a Lazarus na multiplatformnosť (Windows, Linux, Mac)).
Zajtra.sk > Programovanie > Seriály > Vytvárame vlastné programy v Delphi 7 1. časť


Kritika

Vieš ako robiť veci lepšie? Pomôž našim odvážnejším členom a skritizuj im projekty!

Reklama

Seriály zo Zajtra.sk

Reklama