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

Delphi - 4. lekceDelphi - 4. lekce

 

Delphi - 4. lekce

Google       zatím neprovedena       14. 4. 2005       18 137×

V této lekci rozšíříme své znalosti o proměnných.

Reklama
Reklama

Lekce č.4

 

V této lekci rozšíříme své znalosti o proměnných.

 


Ordinální datové typy

Jsou to takové typy u kterých jdou jednotlivé hodnoty za sebou v dané posloupnosti. To znamená že se vždy ví která hodnota je předcházející a která následující. Patří sem všechny celočíselné typy znaky a ještě některé další. Aby jste tomu lépe rozuměli. Prostě to znamená že číslu jedna následuje dvojka nebo třeba před znakem 'C' je vždy znak 'B'.

V Delphi je pro práci s ordinálními typy zavedeno 5 funkcí:

 

>Ord: zjistí ordinální hodnotu prvku. Např. ord(1) vrátí hodnotu jedna protože před jedničkou je nula a tudíž je druhá v pořadí (ordinální hodnota se počítá také od nuly). ord('A') vrátí hodnotu 65 protože je 66 v pořadí).

 

>Pred: vrací hodnotu která předchází hodnotě uvedené v závorce. Takže pred(1) vrací hodnotu 0 a pred('A') vrací znak @ protože jeho ordinální hodnota je jednu menší než u znaku A.

 

>Succ: Je opakem Pred a vrací následující hodnotu. Succ(1) =2 a Succ('A') ='B'.

 

>High: Vrací nejvyšší možnou hodnotu kterou může proměnná daného typu mít. Tedy High(byte) =255.

 

>Low: Tato funkce je opakem funkce High takže Low(byte) =0.

 

Příklad použití: dejme tomu že chceme proměnné typu byte přiřadit druhou nejvyšší hodnotu:

 

var i:byte;
begin
  i:=High(byte);
  i:=Pred(i);
  Button1.Caption:=IntToStr(i);
end;

 

Tato funkce nám tedy vypíše na tlačítko hodnotu 254. Ale co se stane když chceme proměnné přiřadit hodnotu o jednu vyšší než je její maximální kapacita? Nejlepší bude když si to zkusíte;) místo i:=Pred(i); stačí zapsat i:=Succ(i); Jak sami jistě vidíte proměnné se přiřadila hodnota 0. Ano po překročení maximální hodnoty začala proměnná narůstat od její nejnižší hodnoty. Pokud vám přijde že to může vést k těžko odhalitelným chybám ve vašich budoucích tak stačí v hlavním panelu kliknout na Project->Options a v kartě Compiler zaškrtněte Range Checking. Nyní když spustíte program a pokusíte se překročit maximální hodnotu proměnné tak vám Delphi nahlásí nemilou chybu.

 

Typické neordinální datové typy jsou reálné. Jak jistě víte platí že mezi čísli 0,5 a 1,0 je nekonečně mnoho prvků. 

 

Řetězce

Pro práci s textem budeme používat proměnou typu string.  Protože téměř všechny vlastnosti komponent které pracují  textem jsou typu string. Tím nám odpadne namáhavé přetypování. A občas i s typem Char který je velký 1byt a vejde se do něj tedy 255 znaků. Řetězce se do proměnných ukládají pomocí '. Pokud tedy máme proměnnou s typu string a chceme do ní uložit nějaký text tak to bude vypadat takto:  s:='text'; Kdyby jsme to zapsali bez apostrofů tak by si Delphi myslel že do proměnné s chceme uložit proměnnou text. Už jsme si řekli o funkci Ord která slouží k převedení znaků na číselnou hodnotu. Jejím opakem je funkce Chr která vrací znak takže Chr(65) ='A'.Všechny znaky a jejich hodnota je uložena v mezinárodní tabulce ASCII.

 

Přetypování 

Již jsme si ukázali jak přetypovat z typu integer na typ string pomocí funkce IntToStr. Funguje to i naopak pokud chceme typ string převést na integer poslouží k tomu funkce StrToInt. Ale má to jeden háček pokud do proměnné typu string přiřadíte nějaký znak a pokusíte se jí přetypovat na Integer tak program nahlásí potupnou chybu. Samozřejmě je spoustu dalších funkcí na přetypování ale teď nás nemusí zajímat protože se budeme snažit vyhýbat potřebě přetypovávat. Jinak jsou všechny způsoby přetypování popsány v Helpu Delphi tak kdyby vás to moc zajímalo tak se tam můžete kouknout;)

 

Logické datové typy

Proměnné tohoto ordinálního typu mohou mít pouze dvě hodnoty. Pro ně jsou předdefinované dvě konstanty True a False. Delphi nabízí 4 logické datové typy mi ale budeme používat pouze ty Boolean jak už jsem řekl může mít hodnoty pouze True nebo False a je velký 1byt. Proměnné těchto typů se používají hlavně k vyhodnocování různých situací. Hodně se o nich budeme bavit v příští kapitole.

 

Úkol

Za úkol vytvořte program který při jeho spuštění vypíše největší a nejmenší možnou hodnotu 3 datových typů. Nic náročného;) Úkoly posílejte stejným způsobem jako u minulé lekce.

×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.

1 názor  —  1 nový  
Hlasování bylo ukončeno    
0 hlasů
Google
Autor programuje v Delphi.

Nové články

Obrázek ke článku Blockchain & Bitcoin konference

Blockchain & Bitcoin konference

V pátek 19. 5. 2017 se v pražském konferenčním centru Andel’s konala Blockchain & Bitcoin konference. Řada odborníků a podnikatelů v oboru blockchainu a kryptoměn představila možnosti budoucího směřování tohoto oboru. Speakeři většinou rusky mluvící provenience prezentovali řešení svých firem založená na technologii blockchainu.

Reklama
Reklama
Obrázek ke článku Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

Bezpečnostní tým Cisco Talos odhalil celkem 4 kampaně dosud neobjeveného malwaru, který dostal jméno KONNI. Ten se dokázal úspěšně maskovat od roku 2014. Zpočátku se malware zaměřoval pouze na krádeže citlivých dat. Za 3 roky se ale několikrát vyvinul, přičemž jeho současná verze umožňuje útočníkovi z infikovaného počítače nejenom krást data, ale i mapovat stisky na klávesnici, pořizovat screenshoty obrazovky či v zařízení spustit libovolný kód. Pro odvedení pozornosti oběti zasílali útočníci v příloze také obrázek, zprávu a výhružkách severokorejského režimu či kontakty na členy mezinárodních organizací.

Obrázek ke článku Pouze jedna z deseti lokálních firem ví o pokutách plynoucích z GDPR

Pouze jedna z deseti lokálních firem ví o pokutách plynoucích z GDPR

Trend Micro, celosvětový lídr v oblasti bezpečnostních řešení a VMware, přední světový dodavatel cloudové infrastruktury a řešení pro podnikovou mobilitu, oznámily výsledky výzkumu mezi českými a slovenskými manažery zodpovědnými za ochranu osobních údajů, který zjišťoval, jak jsou připraveni na nové nařízení o ochraně osobních údajů (GDPR). Většina firem v České republice a na Slovensku nad 100 zaměstnanců je již s novým nařízením GDPR obeznámena. Výzkum provedený ve spolupráci s agenturou Ipsos ukázal, že téměř 8 firem z 10 o nařízení ví, přičemž jeho znalost je o něco vyšší na Slovensku (89 %) než v České republice (69 %).

Obrázek ke článku Vyděračský software Locky se vrací, tváří se jako potvrzení platby, odhalil tým Cisco Talos

Vyděračský software Locky se vrací, tváří se jako potvrzení platby, odhalil tým Cisco Talos

Jeden z nejznámějších ransomwarů, Locky, se vrací. Po většinu roku 2016 patřil mezi nejrozšířenější vyděračské softwary. Ke svému šíření využíval emailové kampaně s infikovanými přílohami. Ransomware Locky byl rozesílán prostřednictvím botnetu (internetový robot zasílající spamy) Necurs. Jeho aktivita na konci roku 2016 téměř upadla a spolu s ní i šíření ransomwaru Locky. Před několika týdny se Necurs opět probudil a začal posílat spamy nabízející výhodný nákup akcií. Dne 21. dubna zaznamenal bezpečnostní tým Cisco Talos první velkou kampaň ransomwaru Locky prostřednictvím botnetu Necurs za posledních několik měsíců.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý