Deklarace Radim Štefan
2 Použité zkratky BP – Borland Pascal De – Delphi
3 Deklarace Type – deklarace typů Var – deklarace proměnných Const – deklarace konstant Function – deklarace funkce Procedure – procedury Object (BP) – objekty Class (De) – objekty
4 Deklarace v programu (BP) Type, Var, Const, Object – globální deklarace na začátku programu Hlavičky funkcí – forward 1 Hlavičky procedur – forward 1 1 )Deklarovat hlavičky a funkce pomocí klíčového slova Forward není nutné. Je to výhodné pro přehlednost Není nutné hlídat posloupnost deklarací funkcí a procedur
5 Deklarace v programu (BP)
6 Globální deklarace v UNITách Interface - rozhraní, propojení Type, Var, Const, Object (BP), Class (De) - globální Hlavičky funkcí Hlavičky procedur
7 Příklady (BP) - interface
8
9 Hlavičky funkcí a procedur
10 Příklady (De) - interface
11 Příklady (De) - interface
12 Lokální deklarace v UNITách Implementation - uskutečnění, naplnění, realizace Type, Var, Const, Object (BP), Class (De) – lokální pro aktuální unitu Deklarace metod objektů, procedur, funkcí – Hlavička + realizace algoritmu
13 Hlavička globální funkce Lokální proměnné – platí jen v rámci této Unity Deklarace lokální funkce – platí jen v rámci této Unity Deklarace globální funkce realizace funkce jejíž hlavička je deklarovaná v INTERFACE
14 Deklarace typů Type TS15 = string[15]; TS15 = string[15]; TPole1 = array[ ] of integer; TPole1 = array[ ] of integer; TPole2 = array[1..100] of TS15; TPole2 = array[1..100] of TS15; TPole3 = array[1..100] of string[15]; TPole3 = array[1..100] of string[15]; RVeta = record RVeta = record Jm: ts15; Jm: ts15; Pr: string[25]; Pr: string[25]; End; End;
15 Deklarace typů (De) Type TForm1 = class(TForm) TForm1 = class(TForm)... Deklarace objektů... Deklarace objektů Private Private (Deklarace lokální) (Deklarace lokální) Proměnné Proměnné Metody – hlavičky procedur a funkcí Metody – hlavičky procedur a funkcí Public Public (Deklarace globální) (Deklarace globální) Proměnné Proměnné Metody – hlavičky procedur a funkcí Metody – hlavičky procedur a funkcí End; End;
16 Deklarace typů (De)
17 Celočíselné typy (BP) TypeRozsah Shortint– b Byte b Integer– b Word b Longint– b Comp ,2* ,2* b
18 Celočíselné typy (De) TypeRozsah Shortint– b Byte b Smallint– b Word b Integer– b Longint– b DWord b Longword b Cardinal b Int ,2* ,2* b
19 Typy s pohyblivou řádovou čárkou (BP) - Float TypeRozsahČíslice Real 2.9x10 – x –12 6B6B6B6B Single 1.5x10 – x –8 4B4B4B4B Double 5.0x10 – x –16 8B8B8B8B Extended 3.6x10 – x –2010B Comp – –1 -9,2* ,2* –20 8B
20 Typy s pohyblivou řádovou čárkou (De) - Float TypeRozsahČíslice Real48 2.9x10 – x –12 6B6B6B6B Single 1.5x10 – x –8 4B4B4B4B Double 5.0x10 – x –16 8B8B8B8B Extended 3.6x10 – x –2010B Comp – –1 19–20 8B Currency – –208B Real 5.0x10 – x –168B
21 Další typy TypOznačeníVelikost Char Znaková proměnná 1B String Řetězec – textová proměnná 255B – BP 4G – De String[10] Řetězec – pevná délka [10] 10B Boolean Logická proměnná 1B
22 Deklarace proměnných Type TS15 = string[15]; TS15 = string[15]; Var i:integer; i:integer; a, b:single; a, b:single; s:string; s:string; s10:string[10]; s10:string[10]; s15:TS15; s15:TS15; c:char; c:char;
23 Deklarace proměnných Type TS15 = string[15]; TS15 = string[15]; TP1 = array[ ] of integer; TP1 = array[ ] of integer; TP2 = array[1..100] of TS15; TP2 = array[1..100] of TS15;Var s15: TS15; s15: TS15; s15a: string[15]; s15a: string[15]; P1: TP1; P1: TP1; P1a: array[ ] of integer; P1a: array[ ] of integer; P2: TP2; P2: TP2; P2 = array[1..100] of TS15; P2 = array[1..100] of TS15;
24 Deklarace proměnných Type TVeta = record; TVeta = record; Jmeno:string[15]; Jmeno:string[15]; Vyska: byte; Vyska: byte; Hmot:single; Hmot:single; end; end;Var Veta:TVeta; Veta:TVeta; Použití Begin Veta.jmeno:= ‘Jan’; Veta.jmeno:= ‘Jan’; Veta.vyska:= 180; Veta.vyska:= 180; Veta.hmot:= 82.5; Veta.hmot:= 82.5;End.
25 Deklarace konstant hodnotu nelze v programu měnit. Const MaxI = 1000; MaxI = 1000; Ano = True; Ano = True; Ne = False; Ne = False; MyName = ‘Karel’; MyName = ‘Karel’; Eps = 1.0E-10; Eps = 1.0E-10; PrvniX = 1.0; PrvniX = 1.0; PrvniI = 1; PrvniI = 1;
26 Deklarace konstant hodnotu nelze v programu měnit. Const MaxI = 1000; MaxI = 1000; Ano = True; Ano = True; Ne = False; Ne = False;Var i: integer; i: integer; t:boolean; t:boolean;Begin t:= Ano; t:= Ano; IF t then t:= Ne else t:= Ano; IF t then t:= Ne else t:= Ano; i:= MaxI; i:= MaxI;End.
27 Deklarace konstant hodnotu nelze v programu měnit. Const MyName = ‘Karel’; MyName = ‘Karel’; Eps = 1.0E-10; Eps = 1.0E-10;Var s: string; s: string; x:extended; x:extended;Begin s:= MyName; s:= MyName; x:= Eps; x:= Eps;End.
28 Deklarace konstant hodnotu nelze v programu měnit. Const PrvniX = 1.0; PrvniX = 1.0; PrvniI = 1; PrvniI = 1;Var i: word; i: word; x:extended; x:extended;Begin i:= PrvniI; i:= PrvniI; x:= PrvniX; x:= PrvniX; End.
29 Deklarace konstant hodnotu lze v programu měnit. Const (PB) Var (De) MaxI: word = 1000; MaxI: word = 1000; Ano: boolean = True; Ano: boolean = True; Ne: boolean = False; Ne: boolean = False; MyName: string[10] = ‘Karel’; MyName: string[10] = ‘Karel’; Eps: single = 1.0E-10; Eps: single = 1.0E-10; PrvniX: double = 1.0; PrvniX: double = 1.0; PrvniI: integer = 1; PrvniI: integer = 1; Proměnná s počáteční hodnotou
30 Deklarace hlaviček procedur Deklarujte proceduru bez parametrů Procedure AAA; Begin AAA; AAA; End.
31 Deklarace hlaviček procedur formální parametry 2 vstupní celočíselné parametry Procedure aaa(I, j: integer); 2. varianta Var k, l: integer; Begin k:= 10; l:= 5; k:= 10; l:= 5; AAA(k, l); AAA(k, l); End. 1. varianta Begin AAA(10, 5); AAA(10, 5); End.
32 Deklarace hlaviček procedur 2 vstupně/výstupní znakové parametry Procedure aaa(var c, d: char); Var a, b: char; Begin a:= ‘ p‘; b:= ‘H’; a:= ‘ p‘; b:= ‘H’; AAA(a, b); AAA(a, b); End.
33 Deklarace hlaviček procedur 1 vstupně/výstupní znakový parametr 1 vstupní float parametr Procedure aaa(var c: char; x: single); Var a: char; Begin a:= ‘x‘; a:= ‘x‘; AAA(a, 10.0); AAA(a, 10.0); End.
34 Deklarace hlaviček procedur 2 vstupně/výstupní znakový parametry 1 vstupní logický Procedure aaa(var c, d: char; t: boolean); Var a, b: char; Begin a:= ‘x‘; b:= #13; a:= ‘x‘; b:= #13; AAA(a, b, true); AAA(a, b, true); End.
35 Deklarace hlaviček procedur 1 vstupně/výstupní znakový parametr 1 vstupní znakový parametr 1 vstupně/výstupní logický parametr Procedure aaa(var c: char; d: char; var t: boolean); Var a: char; z: boolean; Begin a:= ‘x‘; z:= false; a:= ‘x‘; z:= false; AAA(a, ‘v’, true); AAA(a, ‘v’, true); End.
36 Deklarace hlaviček funkcí 2 vstupní celočíselné parametry Typ funkce stejný jako vstupní parametry Function aaa(I, j: integer): integer; Var i: integer; Begin i:= AAA(10, 5); i:= AAA(10, 5); End.
37 Deklarace hlaviček funkcí 2 vstupně/výstupní znakové parametry Typ funkce stejný jako vstupně/výstupní parametry function aaa(var c, d: char): char; Var a, b, r: char; Begin a:= ‘ p‘; b:= ‘H’; a:= ‘ p‘; b:= ‘H’; r:= AAA(a, b); r:= AAA(a, b); End.
38 Deklarace hlaviček funkcí 1 vstupně/výstupní znakový parametr 1 vstupní float parametr Typ funkce stejný vstupní parametr function aaa(var c: char; x: single): single; Var a: char; y: single; Begin a:= ‘x‘; a:= ‘x‘; y:= AAA(a, 10.0); y:= AAA(a, 10.0); End.
39 Deklarace hlaviček funkcí 2 vstupně/výstupní znakový parametry 1 vstupní logický Typ funkce stejný vstupní parametr function aaa(var c, d: char; t: boolean): boolean; Var a, b: char; t: boolean; Begin a:= ‘x‘; b:= #13; a:= ‘x‘; b:= #13; t:= AAA(a, b, true); t:= AAA(a, b, true); End.
40 Deklarace hlaviček procedur formální parametry Vstupní parametr: proměnná stejného typu Konstanta stejného typu Vstupně/výstupní parametr: proměnná stejného typu
Pokračování příště