Delphi - 6. lekce
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Delphi - 6. lekceDelphi - 6. lekce

 
Hledat
Moderní platforma pro vytvoření vašeho nového webu – Wix.com.
Nyní už můžete mít web zdarma.
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

Delphi - 6. lekce

Google       zatím neprovedena       15. 4. 2005       16 495×

Tentokrát se dozvíte něco o procedurách a funkcích. ..

Reklama
Reklama

Lekce č.6

 

Tentokrát se dozvíte něco o procedurách a funkcích. Přeji příjemný počteníčko;).

 


Procedury a funkce

Neboli tak zvané podprogramy. Pomocí nich se program rozděluje na několik samostatných podprogramů. Které potom jen hlavní program ve vhodnou chvíli volá. Pomáhá to řešit problém tak že ho neřešíme celý najednou ale rozdělíme si ho do několika menších problémů. A také je to velice dobrá věc v tom pokud se má nějaká věc v programu opakovat nemusí ji znovu celou psát ale jenom stačí zavolat jednou napsaný podprogram (tedy funkci nebo proceduru)

 

Funkce

Procedura je téměř stejná jako funkce liší se od ní jen tím že nevrací hodnotu a funkci se musí přiřadit její datový typ. Definice funkce může vypadat takto:

function TForm1.dvakrat (hodnota : integer): integer;
begin
dvakrat:=hodnota*2;
end;

 

Každá funkce se před použitím musí deklarovat:

...

type
  TForm1 = class(TForm)
    function dvakrat (hodnota : integer): integer;

...

 

Teď už funkci stačí jen zavolat:

...

cislo:=dvakrat(10);

...

Do proměnné číslo se uloží hodnota 20;)

 

Procedury

Definice procedury může vypadat takto:

procedure TForm1.zprava;
begin
  ShowMessage('kuk');
  Beep;
end;

 

Každá procedura se před použitím musí deklarovat:

...

type
  TForm1 = class(TForm)
    procedure zprava;

...

 

Teď už stačí jen zavolat proceduru:

...

zprava;

...

Pokaždé když se takto zavolá procedura zprava tak vyskočí hláška s nápisem kuk:)

 

Funkce a procedury s parametry

Všechno další v podstatě platí pro procedury i funkce společně. Já budu sice psát o procedurách ale jde to tak i u funkcí;)

 

Je sice pěkné že procedura zprava nám vyvolá okno s nápisem kuk ale co když budeme chtít vypsat úplně jiný text. Aby jsme nemuseli psát úplně novou proceduru tak proceduře zprava prostě přidáme parametr:

procedure TForm1.zprava (TextVOkne:string);
begin
  ShowMessage(TextVOkne);
  Beep;
end;

 

Proceduru už jen stačí zavolat se správnou hodnotou:

...

zprava('baf:D')

...

 

Takto to vypadá jednoduše ale zas tak jednoduché to bohužel není. Pascal rozlišuje 3 druhy parametrů. Ten který jsme teď použili je parametr předávaný hodnotou. Druhý způsob řeší problém který nastane v této situaci:

procedure TForm1.zprava (TextVOkne:string);
begin
  ShowMessage(TextVOkne);
  Beep;
  TextVOkne:='proběhla procedura zprava';
end;

 ...

var param:string;

 ...

param:='baf:D';

zprava(param);

zprava(param);

 ...

Teoreticky by se měla vypsat zpráva baf:D a poté  proběhla procedura zprava  ale tak se nestalo. Lze to napravit použitím parametru předávaným odkazem. Na rozdíl od parametrů předávaných hodnotou kde se do formálních parametrů procedury pouze zkopíruje hodnota skutečného parametru je v tomto případě na místo formálních parametrů dosazena přímo adresa proměnné která je skutečným parametrem. To způsobí že veškeré změny v hodnotě parametru provedené uvnitř procedury zůstanou zachovány  i po jejím skončení. Parametr předávaný odkazem se deklaruje podobně jako parametr předávaný hodnotou akorát před ním musí být uvedené slovo var:

procedure TForm1.zprava (var TextVOkne:string);

Nyní už vše funguje jak má.

 

Třetím typem je procedura s konstantními parametry. Deklaruje se pomocí slova const:

procedure TForm1.zprava (const TextVOkne:string);

Funguje tak že její hodnota v průběhu procedury nejde změnit.

 

Úkol

V úkolu o procedurách a funkcích vám nechám volnost;) Vymyslete si vlastní jednoduchý program ve kterém použijete procedury a funkce s alespoň dvoumy typy parametrů. Těšte se na další lekci budeme dále rozebírat procedury a funkce;)

 

Funkce Beep  slouží k tomu aby počítač pípl;)

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
Autor programuje v Delphi.

Nové články

Obrázek ke článku Už v roce 2022 proteče průměrným chytrým telefonem 11 GB dat měsíčně, říká studie Cisco

Už v roce 2022 proteče průměrným chytrým telefonem 11 GB dat měsíčně, říká studie Cisco

V roce 2022 bude vlastnit mobilní zařízení 5,5 miliardy lidí (71 % světové populace), celkový počet mobilních zařízení připojených k internetu přesáhne 8 miliard a průměrný chytrý telefon přenese 11 GB dat měsíčně. Vyplývá to ze studie Cisco Mobile Visual Networking Index, která předpovídá budoucí vývoj mobilního datového provozu. Ta si dále všímá toho, že uživatelé budou stále více využívat Wi-Fi připojení. I proto se počet Wi-Fi hotspotů celosvětově zvýší na více než půl miliardy.

Reklama
Reklama
Obrázek ke článku Průmyslové firmy chtějí zkrátit proces přijímání lidí ze zemí mimo EU. Inspiraci vidí v Polsku.

Průmyslové firmy chtějí zkrátit proces přijímání lidí ze zemí mimo EU. Inspiraci vidí v Polsku.

Pokud chtějí průmyslové firmy v Česku obsadit volné místo uchazečem ze země mimo Evropskou unii, znamená to pro ně i půlroční čekání. Výrazně to přitom pociťuji i na vynaložených nákladech. Svaz průmyslu a dopravy chce proto zkrátit měsíční lhůtu vyvěšení volné pozice na Úřadu práce. Průmyslové firmy a personalisté by však volili komplexnější zjednodušení, o pracovní povolení by měli žádat přímo zaměstnavatelé. Jako vzor uvádějí dlouhodobě fungující systém v Polsku či Maďarsku.

Obrázek ke článku Pět mýtů spojených s tvorbou e-shopů

Pět mýtů spojených s tvorbou e-shopů

Chuť Čechů nakupovat online stále roste a internetovým obchodům se v Česku daří. I proto o vlastním e-shopu přemýšlí i podnikatelé, kteří si dosud vystačili s kamennou prodejnou nebo profilem na sociální síti či prodejním portálu. Kolem samotné tvorby webu však stále panuje řada mýtů, které mnohdy od založení e-shopu zbytečně odrazují

Obrázek ke článku Konference: Cloud computing rychle mění firemní IT

Konference: Cloud computing rychle mění firemní IT

Cloud computing se během několika posledních let stal samozřejmostí a jeho využití stále roste. Drtivá většina velkých firem již disponuje multicloudovou strategií, v průměru používají více než 3 cloudy současně a s dalšími experimentují. Co přesně cloud firmám přináší? Na jaké problémy lze při jeho využívání narazit? I na tato témata se zaměřuje konference Cloud computing v praxi, která se koná 21. 3. 2019 v pražském Kongresovém centru Vavruška na Karlově náměstí 5.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032019 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý