Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

1. Változótípusok az Object Pascalban 2. Elágazások, ciklusok Negyedik Generációs Nyelvek ( Delphi )

Hasonló előadás


Az előadások a következő témára: "1. Változótípusok az Object Pascalban 2. Elágazások, ciklusok Negyedik Generációs Nyelvek ( Delphi )"— Előadás másolata:

1 1. Változótípusok az Object Pascalban 2. Elágazások, ciklusok Negyedik Generációs Nyelvek ( Delphi )

2 1. VÁLTOZÓTÍPUSOK

3 Delphi Delphi II / 3 Értékadó utasítás Változó-azonosító := Kifejezés ; A := 5 ; B := A + 3 ; A := (B + 7) * 2 ; A kifejezés tartalmazhat: VáltozótA Konstanst3 Műveletet+ Zárójelet()...

4 Delphi Delphi II / 4 Változótípusok Egyszerű típusok Összetett típusok P ointer P rocedural V ariant V ariant Ezek a típusok nem osztályok, mint a Javaban, hanem valós típusok ! mint a Javaban, hanem valós típusok !

5 Delphi Delphi II / 5 Object Pascal típusok

6 Delphi Delphi II / 6 Egyszerű típusok

7 Delphi Delphi II / 7 Egyszerű típusok sorszámozott  egész egész  karakter  logikai logikai  felsorolt  résztartomány valós

8 Delphi Delphi II / 8 Összetett típusok string struktúrált típusok  halmaztípus  tömbtípus tömbtípus  rekord típus  fájltípus  osztálytípus  osztályhivatkozás típus  interfész típus

9 Delphi Delphi II / 9 Egész típusok

10 Delphi Delphi II / 10 Valós típusok

11 Delphi Delphi II / 11 Logikai típusok Delphi logikai típusok Boolean, ByteBool, WordBool, és LongBool A Boolean és a ByteBool (Byte) típus 1bájtnyi memóriát foglal, WordBool 2 bájtot (Word), és a LongBool típus 4 bájtot (LongInt).

12 Delphi Delphi II / 12 Stringek ShortString255 karakter2-től 256 byte-ig AnsiString~2^31 karakter 4 byte-tól 2GB-ig 8-bit (ANSI) karakterek WideString~2^30 karakter 4 byte-tól 2GB-ig Unicode karakterek TípusMax. hossz Memóriában foglalt hely Használt karakterek

13 Delphi Delphi II / 13 Stringek Turbo Pascal karakterlánc: max. 256 elemű #6Delphi C típusú karakterlánc: max. 64 K -1 elemű D e lphi#0 Nulla végzésű karakterláncok

14 Delphi Delphi II / 14 Stringek (OP új lehetőségei) Object Pascal - ban: String PChar = ^ Char; Array [0..Max] Of Char; Helyfoglalás: String és Array[0..Max] of Char esetén a fordító PChar esetén Mi Nulla végzésű karakterláncok Pascal C típusú

15 Delphi Delphi II / 15

16 Delphi Delphi II / 16 Konverziós függvények Egész számok átalakítása Stringek átalakítása Lebegőpontos számok átalakítása Dátumok átalakítása

17 Delphi Delphi II / 17 Egész számok átalakítása IntToStr(Value: Integer): string; Integerből string IntToStr(Value: Int64): string; Int64-ből string IntToHex(Value: Integer; Digits: Integer): string; Integerből hexadecimális szám, amely string típusként kezelendő IntToHex(Value: Int64; Digits: Integer): string; Int64 típusból hexadecimális string

18 Delphi Delphi II / 18 Egész számok átalakítása A Digits paraméter,a hexadecimális szám(amely persze string típusú) minimum helyi értékeinek számát állítja be. IntToHex(5,2)05 IntToHex(50,2)32 IntToHex(500,2)1F4 IntToHex(5,2)05 IntToHex(50,2)32 IntToHex(500,2)1F4

19 Delphi Delphi II / 19 Stringek átalakítása A következő függvények stringet alakítanak át egész típussá, ha a konverzió nem sikerül EConvertError kivétel keletkezik lsd. Kivételek kezelése StrToInt(const S: string):Integer; Stringből integer StrToIntDef(const S: string; Default: Integer): Integer; Stringből integer, megadható egy Default érték, amelynek az a feladata, hogy konverziós hiba esetén nem kivétel képződik, hanem a függvény ezt az értéket adja vissza

20 Delphi Delphi II / 20 Stringek átalakítása pl.: a:=StrToIntDef('15',100); a értéke 15 a:=StrToIntDef('15',100); a értéke 100 StrToInt64(const S: string):Int64; Stringből Int64 típus StrToInt64Def(const S: string; const Default: Int64): Int64; Stringből Int64 típus A második paraméter alapérték, amellyel hiba esetén tér vissza

21 Delphi Delphi II / 21 Stringek átalakítása StrToFloat(const S: string): Extended; stringből lebegőpontos szám StrToFloatDef(const S:string; const Default: Extended): Extended; stringből lebegőpontos szám, hiba esetén alapértékkel

22 Delphi Delphi II / 22 Stringek átalakítása StrToDate(const S: string): TDateTime; stringből dátum típus StrToTime(const S: string): TDateTime; stringből idő típus StrToDateTime(const S:string): TDateTime; stringből dátum-idő típus

23 Delphi Delphi II / 23 Lebegőpontos számok átalakítása FloatToCurr(const Value: Extended): Currency; Extendedből Currency CurrToStr(Value: Currency): string; Currency típusból string FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): string; extendedből string a formátum megválasztásával, a Precision paraméterrel a szám jegyeinek számát adhatjuk meg, a Digits paraméterrel a minimális tizedesjegyek számát

24 Delphi Delphi II / 24 Lebegőpontos számok átalakítása CurrToStrF(Value: Currency; Format: TFloatFormat; Digits: Integer): string; currencyből string a formátum megválasztásával

25 Delphi Delphi II / 25 Lebegőpontos számok átalakítása A FloatToStrF és CurrToStrF függvények esetében a következő formátumokat választhatjuk: ffGeneraláltalános ffExponentkitevős, normálalakos ffFixedtizedestört, ahol a tizedesjegyek számát pontosan meg lehet adni ffNumbertizedestört ezres tagolással ffCurrencypénznem Megj.: ha a szám teljes hosszát kisebbre állítjuk, mint a szám hossza, minden esetben –a Format paramétertől függetlenül- kitevős alakban jelenik meg

26 Delphi Delphi II / 26 Lebegőpontos számok átalakítása FormatFloat(const Format: string; Value: Extended): string;Extendedből string formátummegadással FormatCurr(const Format: string; Value: Currency): string;Currencyből string formátummegadással A FormatFloat és a FormatCurr függvényeknél használhatunk formátumkódokat

27 Delphi Delphi II / 27 Lebegőpontos számok átalakítása Formátumkód jelentése #számjegy, ha nem áll annyi számjegyből, akkor nem jelenik meg semmi 0számjegy, ha nem áll annyi számjegyből, akkor 0 jelenik meg.tizedestört megjelenítés,ezres-elávasztójel E+ E- e+ e-kitevős alakú megjelenítés ’szoveg’ ”szoveg” szoveg megjelenése a szám után ;a formátumkód a pozítiv, negatív és a nulla formátumkódjait tartalmazza, a ; ezeket választja el

28 Delphi Delphi II / 28 Dátumok átalakítása DateToStr(Date: TDateTime): string; dátum formátumból string formátum TimeToStr(Time: TDateTime): string; idő formátumból string formátum DateTimeToStr(DateTime: TDateTime): string; idő/ dátum formátumból string formátum

29 Delphi Delphi II / 29 Tömbök A Pascalben a tömbök azonos típusú, adatokat tárolnak Var Tömbnév : Array[Kezd..Vég] Of Típus; A Kezd a kezdőindex, a Vég az utolsó index. A Delphiben az ilyen típusú tömböket nevezzük statikus tömböknek dinamikus tömb: elemszáma futáskor dől el nyitott tömb paraméter: az azonos típust sem kell biztosítanunk, tárolhatunk egyazon tömbben különböző típusú elemeket

30 Delphi Delphi II / 30 Tömbök (dinamikus tömb) A Delphi 4 verziótól kezdve támogatja a dinamikus tömbök kezelését. A dinamikus tömb mérete nem fordításkor, hanem futáskor dől el. A dinamikus tömb bármikor bővíthető elemekkel, kitörölhetünk elemeket, ill. megszüntethetjük A dinamikus tömb deklarációja Var T : Array Of Real;

31 Delphi Delphi II / 31 Tömbök (dinamikus tömb) A SetLength eljárás segítségével bővíthetjük a tömböt: Pl.: SetLength(T, 5) hatására a tömb 6 elemű lesz, az elemek értékei T[0]=0, T[1]=0, T[2]=0, T[3]=0, T[4]=0, T[5]=0 A Length függvény(System unit) a tömb elemeinek darabszámát adja vissza, a Low függvény az alsó, míg a High a felső indexet adja vissza. Dinamikus tömbök esetében az alsó index mindig 0. A dinamikus tömb megszüntetése: T:=Nil; SetLength(T,0); //a memóriából nem törlődik! Finalize(T);

32 Delphi Delphi II / 32 Nyitott tömb paraméterek A nyitott tömb paraméter lehetőséget biztosít arra, hogy olyan alprogramokat alakítsunk ki, melyek hívása nem függ a paramétertömb méretétől. Pl. Var Ntömb : Array Of Integer; Az alprogramon belül a Low függvénnyel a nyitott tömb paraméter első elemének indexét (legtöbbször 0), a High függvénnyel az utolsó elemének indexét kérhetjük le.

33 Delphi Delphi II / 33 Variant típus Variant A Variant változókban az összes Delphi típus tárolható. A Delphi automatikusan elvégzi a konverziókat, így nem kell foglalkoznunk a változó típusával. Variant A Variant változók használata lassúbb, mint más változóké a konverziók miatt, memóriaigénye sem a legjobb (16 byte), mégis kerülhetünk olyan helyzetbe, hogy a használata elkerülhetetlen. Variant A Variant típus használata megkönnyíti az OLE ügyfél vagy kliens automatizmusok írását

34 Delphi Delphi II / 34 Változók deklarációja Pascal-ban a változókat deklarálni kell! Var Letszam : Integer ; { 2 byte } Fejadag, Osszesen : Real ; { 6-6 byte }

35 Delphi Delphi II / 35 Sorszámozott típusok Low : A függvény viszaaadja a paraméterként adott változó típusának alsó értékhatárát. Tömb típusnál a tömb legkisebb elemének indexét adja vissza High : A függvény viszaaadja a paraméterként adott változó típusának felső értékhatárát. Tömb típusnál a tömb legnagyobb elemének indexét adja vissza Pred : A függvény a paraméterként megadott változó típusának értékkészletéből visszaadja az előtte álló értékét.

36 Delphi Delphi II / 36 Sorszámozott típusok Succ : A függvény a paraméterként megadott változó típusának értékkészletéből visszaadja a mögötte álló értékét. Dec : Az eljárás a paraméterként megadott változó értékét csökkenti. Inc : Az eljárás a paraméterként megadott változó értékét növeli.

37 2. ELÁGAZÁSOK, CIKLUSOK

38 Delphi Delphi II / 38 Elágazások Egyágú If F1 Then U1 ; vagy If F1 Then Begin U11 ; U12 ;... U1n ; End; Kétágú Esetszétválasztás (Case)

39 Delphi Delphi II / 39 Elágazások (kétágú) If F1 Then Utasítás1 Else Utasítás2 ; Vagy If F1 Then Begin Utasítások ; End Else Begin Utasítások ; End;

40 Delphi Delphi II / 40 Esetszétválasztás Case kifejezés Of érték(ek)1 :utasítás1 ; érték(ek)2 :utasítás2 ;... [Elseutasítás ] End ; Sorszámozott típusú konstans kifejezés

41 Delphi Delphi II / 41 Esetszétválasztás Case Kor Of 0..13: Write('Gyerek') ; :Write('Fiatal') ; :Write('Ifjú') ; :Write('Felnőtt') Else Write('Idős'); End ;

42 Delphi Delphi II / 42 Ciklusok Előltesztelős While F1 Do Begin Utasítások ; End ; Hátultesztelős Repeat Utasítások ; Until F1 ; Számlálós A ciklusban maradás feltétele A kilépés feltétele

43 Delphi Delphi II / 43 Ciklusok Számlálós ciklus For Cv:=Kezdőérték To Végérték Do Begin Utasítások ; End ; For Cv:=Végérték DownTo Kezdőérték Do Begin Utasítások ; End ;


Letölteni ppt "1. Változótípusok az Object Pascalban 2. Elágazások, ciklusok Negyedik Generációs Nyelvek ( Delphi )"

Hasonló előadás


Google Hirdetések