1. díl - Úvod do prostředí, Okno a první program

Ostatní jazyky Delphi Úvod do prostředí, Okno a první program

Pokud chcete vůbec programovat, potřebujete program, ve kterém byste vytvářeli ty své. A jelikož zde budu psát jak programovat v Borland Delphi, budete si nějaké muset pořídit. Buď si ho můžete koupit, ale musím předem upozornit, že to není levná záležitost. V průběhu vývoje bylo několik verzí uvolněno jako Freeware, je to například Delphi 7, můžete si sehnat tu, ale musíte ji na nových Windows spouštět jako administrátor. Jako poslední můžete použít projekt Lazarus, který je 100% freeware a napodobuje Delphi IDE, většina z návodu by mělo platit i pro Lazarus, i když s Delphi to máte jistější.

A teď se dostáváme k samotnému programování:

Seznámení s prostředím

Delphi je složeno ze čtyř nebo pěti oken.

  1. okno, to nahoře obsahuje menu a nabídku objektů, které můžete vložit do svého programu("Delphi X - Project1").
  2. okno, to vlevo dole obsahuje editor nastavení funkcí vloženého a vybraného objektu("Object Inspector").
  3. okno, to vpravo dole s plochou na psaní je jakoby papír, na který svůj program píšete("Unit1­.pas").
  4. okno, to zbylé vpravo dole je předloha okna vašeho programu, do níž umísťujete objekty("Form1").
  5. okno, je vlevo uprostřed a je jenom v novějších verzích. Je v něm vlastně jakýsi strom vašich objektů("Object TreeView").

Abyste mohli programovat, potřebujete zatím těchto 5 věcí, které se píší v textovém okně ("Unit1.pas"):

  1. příkaz se ukončuje středníkem (;)
  2. text se ohraničuje apostrofy
    Př.:  'Ahoj!'
  3. k dosazení hodnoty se používá dvojtečka a rovná se (:=)
  4. vlastnosti se od objektů oddělují tečkou (.)
Př.: Edit.Text := 'Toto je zápisník!';

5. příkaz pro zavření okna je CLOSE (Close;)

Začněme oknem Object Inspector:

Je rozdělený na tři části:

1.: Nejvýše umístěná je část, kde si vybíráte objekt, jehož parametry chcete nastavovat. 2.: Pod ním jsou dvě záložky(Proper­ties a Events), kterými změníte tabulku dole z tabulky vlastností na tabulku Akcí a naopak. 3.: Tabulka dole je nejdůležitější. V ní editujete různé věci, jako například šířku, nápis atd.
Protože každý objekt má své vlastní speciální vlastnosti, budu zde popisovat ke každému objektu tabulku dole zvlášť. Teď však napíšu všeobecnosti, které potom budu vynechávat:

  • Name - název objektu, který budete potom používat ři písemném editování programu.
  • Left - pozice objektu (jak moc vpravo bude) braná vzhledem k jemu nadřazenému objektu (např.: Left = 100 u okna - Okno bude 100 pixelů od levé části obrazovky; Left = 100 u tlačítka - Tlačítko bude 100 pixelů od levé části okna programu)
  • Top - pozice objektu (jak moc dole bude) braná vzhledem k jemu nadřazenému objektu (např.: Top = 100 u okna - Okno bude 100 pixelů od vršku obrazovky; Top = 100 u tlačítka - Tlačítko bude 100 pixelů od vršku okna programu)
  • Visible - nastavuje se akorát True, nebo False (T.=Ano, F.=Ne), zda bude objekt vidět (Pozn.: Radši to nezkoušejte u okna, těžko se pak zavírá :-)
  • Enabled - nastavuje se akorát True, nebo False (T.=Ano, F.=Ne), zda bude objekt přístupný (bude vidět, ale bude zašedlý a například na tlačítko nepůjde mačkat)
  • Tag - to je spíš jen taková blbůstka pro vás, ale stejně jako NAME to má každý objekt. Je to jakékoli číslo (INTEGER - viz příště), které určíte, můžete ho měnit a je to vlastně taková proměnná pro každý objekt (ten si jí však nevšímá - není na ní závislý)

No, tak to je ze všeobecných věcí přibližně všechno, tak se vrhněme na první objekt, OKNO (FORM)!

Okno (Formulář)

Vybrat ho můžete buď kliknutím na něj v Delphi okně s ukázkou, nebo vybráním v horní části Object Inspectoru. Jednodušší je ale požít kliknutí (zvláště, když nevíte jak se ten a ten objekt jmenuje).

Když před změnami v Object Inspectoru kliknete na okno, objeví se v horním rámečku v OI(Object Inspector) nápis Form1 TForm1. To znamená že máte vybrán objekt typu TForm1, který se jmenuje Form1. Změníme-li v tabulce Properties řádek Name (jméno, jak znáte již z předchozího textu) třeba na OknoHra, bude nápis *Okno TOknoHra.

V tabulce Properties je spoustu věcí. Tak vám vypíšu ty nejdůležitější, ale i těch je příšerně moc:

  • BorderStyle - Tohle se vám někdy může hodit, určuje se zde styl rámu okna:
    • bsDialog-okno má stálé rozměry (šířku a výšku), nemá ikonu a má pouze tlačítko pro uzavření okna.
    • bsNone-okno prostě nemá okraj. Ani horní lištu s tlačítkem pro zavření.
    • bsSingle-okno má stálé rozměry (šířku a výšku), ale dá se maximalizovat a minimalizovat.

      Jinak má vše!

    • bsSizeable-okno má všechno příslušenství a dá se roztahovat (měnit rozměry).
    • bsSizeToolWin-okno se dá roztahovat (měnit rozměry), horní lišta je užší, nemá ikonu a má pouze tlačítko pro uzavření okna.
    • bsToolWindow-okno má stálé rozměry (šířku a výšku), horní lišta je užší, nemá ikonu a má pouze tlačítko pro uzavření okna.
  • BorderWidth- šířka okraje okna (místo, kam nemůžete vkládat objekty)
  • Caption- nápis vlevo nahoře na liště okna (napravo vedle ikony)
  • Color- barva pozadí okna
  • Constraints- maximální a minimální rozměry roztahovatelného okna, dělí se na MaxHeight(maximální výška okna), MinHeight(minimální výška okna), MaxWidth(maximální šířka okna) a MinWidth(minimální šířka okna)
  • Cursor- tvar kurzoru myši, když ukazuje na okno
  • Height- výška okna při spuštění (v pixelech)
  • Hint- popisný, pomocný text, který se objeví po chvíli držení kurzoru nad oknem
  • Icon- ikona vlevo nahoře na liště. Načtete jí z disku a zůstane uložená v programu
  • Menu- vyberete si název menu, které bude zobrazeno v okně (musíte ale nejprve nějaké vytvořit)
  • PopupMenu- vyberete si název postranního menu, které bude zobrazeno po kliknutí pravým tlačítkem myši na okno (musíte ale nejprve nějaké vytvořit)
  • Position- nastavíte pozici okna na obrazovce. Je zde spoustu typů, ale já nevidím moc velké rozdíly. Jediné co používám je poScreenCenter, čímž se okno při spuštění pokaždé vycentruje doprostřed obrazovky.
  • ShowHint- nastavíte, zda se bude zobrazovat popisný, pomocný text (Hint)
  • TransparentColor- nastavíte, zda bude nějaká barva v okně průhledná
  • TransparentCo­lorValue- vyberete si barvu, která bude průhledná, pokud máte nastaveo True u TransparentColor

Tak to by byly asi ty nejdůležitější věci.

A na tabulku Events se podíváme později. Nyní se podíváme na jiné objekty.

V hlavním, horním okně máte takový blok plný ikon a záložek (novější verze Delphi mají tento blok v pravém dolním okně). Zde si vybíráte objekty, které budete vkládat.

Menu komponent Delphi

Zatím uvedu ty nejdůležitější ze složky Standart. Vkládají se tak,že kliknete na ikonku a následně na okno tam, kam chcete objekt umístit. V této části si uvedeme první tři: LABEL(nápis - ikona A), EDIT(rámeček na editaci jednořádkového textu - ikona s rámečkem s ab) a BUTTON(tlačítko, ikona tlačítka s OK).

Začněme ještě šipkou. Když máte vybranou šipku(kurzor), můžete editovat již vložené objekty či okno (posunovat, roztahovat). Tato ikona je ve všech oddílech nabídky.

Vložíme-li objekt do okna příkladu, v okně "Object TreeView" se objeví název objektu závislý na jiném (například na okně). čím více vpravo název je, tím více je podřazený.

  • Label to jest nápis. Tento text je v programu na pevno a uživatel s ním nic neudělá.

    Řekněme si nějaké vlastnosti v tabulce Properties v Object Inspectoru:

    • Caption - nápis, který se zobrazí
    • Color - barva pozadí textu
    • Font - Nastavení fontu, barvy textu atd.

    A to je z vlastností vše. Když tu něco, co chcete vědět není, uvedl jsem to již u dřívějších objektů, nebo to není důležité.

  • Edit to jest rámeček, ve kterém může uživatel programu psát text.

    Řekněme si nějaké vlastnosti v tabulce Properties v Object Inspectoru:

    • BorderStyle - nastavíte zda bude mít Edit rám (bsSingle) nebo ne(bsNone)
    • Color - barva editačního pole
    • MaxLength - maximální počet vepsaných znaků
    • ReadOnly - když je TRUE, smíte z Editu pouze kopírovat, ale nesmíte zapisovat. Pokud je FALSE, zapisovat smíte
    • Text - nápis, který se zobrazí v rámečku, dokud se nezačne upravovat

      A to je z vlastností. Když tu něco, co chcete vědět není, uvedl jsem to již u dřívějších objektů, nebo to není důležité.

  • Buttom to jest **tlačítko. Tlačítko s nápisem.

    V tabulce Properties v Object Inspectoru budete potřebovat speciální akorát:

    • Caption - nápis na tlačítku

    Ale zde už bychom si mohli uvést hlavní buňku z tabulky Events v Object

    Inspectoru:

    • OnClick - když na objekt kliknete, pošle vás to do okna do procedury Click v okně s textovým editováním programu. Zde napíšete, co se stane, když se klikne na tlačítko. Např.:
procedure TForm1.Button1Click(Sender: TObject);
begin
 Close;
end;

Okno se po stisknutí tlačítka zavře!

Tak a teď si ukážeme pár věcí při dělání samotného programu: Nejprve si nastavíme parametry okna. Pojmenujte ho Okno a ostatní si dejte podle sebe, nebo to neměňte! Když máme nastavené okno, vložíme edit Pojmenujeme ho Edit a ostatní opět jak chcete - jak se vám líbí, ale aby se dal v Editu editovat text. Jakmile máme Edit nastavený, radši si program uložíme. K tomu slouží ikona s dvěma disketami za sebou. Objeví se postupně dvě okna. V prvním uložíte nějak okno a v druhém pojmenujete program (stejně se bude jmenovat výsledný EXE soubor).

Potom program vyzkoušíme. Klikneme na ikonku PLAY (zelená šipka doprava). Program se automaticky uloží jako název programu + .EXE a spustí se. Nyní by už měly všechny nastavené parametry fungovat. V Editu by měl jít psát text a ostatní funkce by měly být takové, jaké jste zadali.

Nyní běžící program vypneme a zpět v Delphi vložíme tlačítko (button). Pojmenujeme jej Tlacitko, nápis (Caption) dáme třeba "Přepiš text" a ostatní jak chcete. Teď, když program spustíte, mělo by jít tlačítko mačkat, ale nic nedělat. Program vypneme a v Delphi ještě přidáme label. Pojmenujeme ho Napis a ostatní zase jak chcete. Nyní ale program stále nic nedělá. A tak dvojitě klikneme na tlačítko, čímž se rychleji dostaneme do procedury Click. Zde napíšeme:

Napis.Caption := Edit.Text;

Tím dosáhneme toho, že po kliknutí na tlačítko se v nápisu dole objeví to, co uživatel napsal do Editu. Když program spustíte, mělo by to fungovat. Pokud chcete, můžete přidat ještě nějaké tlačítko, u kterého do procedury Click napíšete třeba:

Napis.Caption := 'Ahoj, lidi';

A po stisknutí tohoto tlačítka bude nápis dole "Ahoj lidi". A takhle si můžete hrát. A to je prozatím vše...

...Kukensius


 

Stáhnout

Staženo 741x (201.66 kB)

 

  Aktivity (1)

Článek pro vás napsal Kukensius
Avatar
Jméno: Lukáš Kučera alias Kukensius<br/> Narození: říjen 1987 (ve znamení vah)<br/> Bydliště: Jihlava, Česká Republika<br/> Studium: 1. ročník magisterského studia<br/> Škola: Vysoké učení technické v Brně<br/> Fakulta: Fakulta elektrotechniky ...

Jak se ti líbí článek?
Celkem (2 hlasů) :
4.54.54.54.54.5


 


Miniatura
Všechny články v sekci
Delphi

 

 

Komentáře
Zobrazit starší komentáře (10)

Avatar
Michal Haňáček:

Já se tady nechci přít o to jestli jsou, nebo nejsou Delphi populární, ani se Delphi jako produktu nijak nezastávám. Dokonce ani netvrdím, že se tady u nás (myslím v čechách) nějako extra využívají, nebo se těší nějaké výjimečné oblibě (což ale neznamená, že v jiných zemích je to stejné jako u nás) ... Jen mi zkrátka přijde hloupé skálopevně tvrdit, že Delphi jako produkt je mrtvý když to tak úplně není pravda. To že se tady u nás příliš nepoužívá je věc další.

Jen tak pro moji soukromou informaci. Mohu vědět z čeho vycházíš, když tvrdíš, že Delphi už prakticky nejsou? (Klidně do PM, ať tady zbytečně nespamujeme ...)

Odpovědět  +1 26.5.2014 9:03
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
Odpovídá na Michal Haňáček
Luboš Běhounek (Satik):

V Delphi se samozřejmě udržují existující aplikace, protože přepsání do jiného jazyka nikdo nezaplatí. Ale osobně jsem za posledních cca 5 let (kdy se programováním živím) neviděl ani jeden nový projekt v Delphi ani jsem od kolegů nic takového neslyšel - netvrdím, že je Delphi mrtvé, ale rozhodně je na tom mnohem hůře než dříve a nemám pocit, že by se to nějak zlepšovalo.

Editováno 26.5.2014 12:31
Odpovědět  +1 26.5.2014 12:29
:)
Avatar
Odpovídá na Luboš Běhounek (Satik)
Michal Haňáček:

Souhlasím s tebou. O Delphi, respektive o projektech v Delphi tvořených příliš slyšet není. Četl jsem o tom, že Delphi je hodně populární v jižních zemích (každopádně to je informace typu "jedna teda povídala") ale vycházím zejména z toho, že se mi osobně nechce věřit, že by Embarcadero tlačilo nemalé peníze do "mrtvoly". Vždyť snad (pokud se nemýlím) každý rok přichází s novou verzí XE ...

Co jsem tak koukal, tak nové Delphi umožňují vývoj i pro mobilní platformu, OS X ...

Odpovědět 26.5.2014 12:44
Každé rozhodnutí a každý krok v životě nás někam posune. Bohužel jen některé nás posouvají dopředu.
Avatar
mkub
Redaktor
Avatar
Odpovídá na Michal Haňáček
mkub:

Delphi sa celosvetovo nepouziva, nie iba v CZ, ci SK, pokial viem

celkovo Pascal by sa dal povazovat za mrtvy jazyk, aj ked sa vyvija Free Pascal, Lazarus, Delphi), ale bikto to uz nepouziva a ako Satik napisal, prepisaniedo ineho jazyka by bolo komplikovane a dost narocne (pozri si napr. zdrojovy kod Pascalu a C)

Editováno 26.5.2014 12:58
 
Odpovědět 26.5.2014 12:53
Avatar
mkub
Redaktor
Avatar
Odpovídá na Michal Haňáček
mkub:

Embacadero Technologies nie je spolocnostou, ktora vyvija rad nastroje, ale je iba ich distributorom
Delphi je stale vyvijany spolocnostou Borland, ktoru zastupuje na trhu prave tato spolocnost a Borland uz nieje lidrom na poli devel nastrojov a dalo by sa povedat, ze uz je odsunuty do uzadia

a to, ze Delphi kazdorocne vychadza s novou verziou? myslis, ze to je dokaz, ze Pascal/Delphi este stale zije?
pocul si o vyvojovom cykle? software musi byt obnovovany, aj ked ho pouziva iba hrstka ludi...
takze Delphi je z hladiska rozsirenia uz mrtvy produkt

 
Odpovědět  -2 26.5.2014 13:10
Avatar
R.P.
Člen
Avatar
R.P.:

Ten komentár som písal skoro pred 1,5 rokom, vtedy som bol úplný začiatočník a myslel som si že to tak je, avšak som s Delphi tak či tak asi po mesiaci skončil a prešiel som na C#. Beztak ďakujem za ozrejmenie tej problematiky. :)

Odpovědět 26.5.2014 15:22
Každý má dve možnosti. Sme buď naplnení láskou…, alebo strachom.
Avatar
mkub
Redaktor
Avatar
Odpovídá na R.P.
mkub:

ale zabudol som uviest, ze Pascal ma aj prvky prevzate z C/C++, ale narozdiel od C++ ma horsie spraveny objektovy model, niektore situacie sa musia riesit uplne inac, nez u C++

to pisem o objektovom rozsireni Pascalu, nie o povodnom Pascale navrhnutom Nicolausom Wirthom

Editováno 26.5.2014 16:02
 
Odpovědět 26.5.2014 16:00
Avatar
Člen
Člen
Avatar
Člen:

Chcel by som sa opytat, ci sa da aplikacia napisana v Lazaruse spustit na hocijakom pocitaci s Windowsom?
Dik za odpoved :)

Odpovědět 12.6.2014 18:11
...
Avatar
Odpovídá na Člen
Jan Řezníček:

Ano, aplikaci lze v Lazarusu zkompilovat pro 32bitové i 64bitové Windows.

 
Odpovědět 29.6.2014 7:22
Avatar

Člen
Avatar
:

Delphi je programátorsky sice zastaralý, ale některé firmy pracují pouze v něm. A tak, kde je poptávka, je i nábídka. :-)

 
Odpovědět 19.8.2014 22:45
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 20. Zobrazit vše