Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Objektově orientované programování - cvičení 1
2
Práce s řetězci DELPHI (1)
Napište jednoduchý program, který má 2 globální řetězce, Str1 a Str2. Po stisknutí tlačítka do Str1 zapíše ‘AHOJ’ a do Str2 nakopíruje hodnotu Str1. Druhé tlačítko změní hodnotu jednoho z řetězců. Po každém přiřazení vypište stav řetězců
3
…pokračování... K zobrazení stavu řetězců si napíšeme funkci StringStatus. Řetězec se do ní musí předávat jako VAR nebo CONST, aby se předával odkazem a nikoliv hodnotou (kopírováním). Nedokumentované pomůcky: na offsetu -8 je ReferenceCount, na offsetu -4 je délka stringu.
4
…pokračování... Ukázka řešení je v souboru demo1.exe (je to samozrobalovací komprimovaný soubor) Všechny ukázky jsou určeny k rozbalení v adresáři C:\WINDOWS\TEMP
5
…pokračování...
6
…pokračování...
7
Práce s řetězci DELPHI (2)
Jako ukázku předávání stringů mezi Delphi a Windows volejte funkce API (Windows) pro název okna: (1) jméno okna přeneste do Delphi, (2) z Delphi změňte jméno okna. Řešený příklad je zde
8
…pokračování...
11
…pokračování Ale pozor na zradu! Kdybychom zapsali
Edit1.Text := PomocnyString + ‘ je nadpis’; tak by se ten konec vůbec nezobrazil! Důvodem je, že Windows nenastavují délku stringu tak, jako to potřebují Delphi. Proto musíme použít S1:=String(PChar(S1)) nebo SetLength(S1, StrLen(PChar(S1)))
12
Dynamická (otevřená) pole
Vytvořte funkci Sum, kterou můžete volat s libovolným počtem parametrů integer, real, nebo string. Výsledkem je součet všech hodnot parametrů (stringy obsahují textový zápis čísel). Vyřešený příklad je zde
13
…pokračování... Řešením je otevřené pole netypované:
function Sum(const X: array of const): real;
14
…pokračování...
15
…pokračování...
16
…pokračování
17
Datový typ VARIANT Změřte, kolikrát jsou operace s datovým typem VARIANT pomalejší než stejné operace s celočíselnými typy. Příklad řešení je zde
18
…pokračování...
19
…pokračování...
20
…pokračování
21
Procedurální a funkcionální typy
Vytvořte funkcionální typ. Bude to funkce typu „real“ s jedním parametrem „string“. S jeho pomocí provádějte výpočty tří různých funkcí, přičemž druh funkční závislosti se stanoví až za běhu programu. Vzorové řešení je zde
22
…příklad...
23
…pokračování...
24
…pokračování
25
Otázky ke zkoušce 1 (ke všem uveďte příklady)
Řetězce, jejich reprezentace a práce s nimi Dynamická a otevřená pole Datový typ Variant Parametry s default hodnotou Procedurální a funkcionální typy
26
Otázky ke zkoušce 2 (ke všem uveďte příklady)
Přetypování Typované konstanty Vyjmenujte a popište 3 (4) základní principy OOP
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.