Maturita v kapse

Maturitní helpdesk

Author: admin (page 1 of 5)

12. Výjimky a masky

nemám

11. Práce se soubory

nemám

10. Vektory a matice, komponenta StringGrid, využití pro zpracování číselných informací

StringGrid – tabulka

Komponenta StringGrid umožňuje zobrazení informací a může být využívána ke vstupu hodnot. Hodnoty v tabulce jsou textové, tedy typu strign. Pokud tabulku používáme ke vstupu číselných hodnot musíme je při výpočtu převádět na typ integer nebo real. Pokud do tabulky zobrazujeme výsledky výpočtů musíme je naopak převádět na typ string.

Vlastnosti

ColCount Počet sloupců tabulky
RowCount Počet řádků tabulky
FixedCols Určuje kolik z daných sloupců bude sloužit pro popis (bude vyšeděných)
FixedRows Určuje kolik z daných řádků bude sloužit pro popis (bude vyšeděných)
Cells Matice řetězců, umožňuje přistupovat k jednotlivým prvkům tabulky pomocí indexů v hranatých zárovkách
Cols Umožňuje přístup k jednotlivému sloupci
Rows Umožňuje přístup k jednotlivému řádku
DefaultColWidth Šířka všech sloupců
DefaultRodHeight Výška všech řádků
ColWidths Šířka zvoleného sloupce
RowHeights Výška zvoleného sloupce
GridLineWidth Tloušťka čáry mezi políčky
Options  
GoEditing Povoluje editaci buněk tabulky
GoTabs Umožňuje pohyb po tabulce pomocí Tab a Shift-Tab
GoRowSizing Umožňuje (zakazuje) individuální změnu velikosti řádku
GoColSizing Sloupců
GoRowMoving Umožňuje přesun celých řádků
GoColMoving Umožňuje přesun celých sloupců
Row Aktivní řádek
Col Aktivní sloupec
TopRow Momentálně první řádek na obrazovce
LeftCol Momentálně první sloupec na obrazovce

 

 

Převody datových typů

 

Slouží pro převod mezi datovými formáty. Základní funkce:

– IntToStr, StrToInt integer na string, string na integer,

– FloatToStr, StrToFloat real na string, string na real,

– DateToStr, StrToDate datum na string, string na datum,

– TimeToStr, StrToTime čas na string, string na čas,

– DateTimeToStr, StrToDateTime  datum a čas na string, string na datum a čas

9. Tvorba uživatelského rozhraní –menu, standardní dialogové boxy, panel nástrojů, stavový řádek

Standardní dialogové boxy

Předdefinované standardizované dialogové boxy WINDOWS najdeme na paletě komponent v záložce DIALOGS. V době návrhu aplikace se na formuláři objevují jako malé zástupné ikony, které nejsou za běhu programu vidět dokud nezavoláme jejich nejdůležitější vlastnost EXECUTE. Poté se zobrazí příslušný dialogový box, chod programu je pozastaven a existují 2 způsoby ukončení dialogu – OK, Cancel

Open, Save Dialog – Vlastnosti

Title Je místo Caption, jedná se o titulek dialogu
Filename Předvolené jméno souboru zobrazení v dialogu
InitialDir Umožňuje nastavit počáteční adresář, pokud necháme prázdné, dosadí se naposledy použitý adresář
Filter Umožňuje zobrazení souborů v dialogu podle typu (přípony). Po zvolení vlastnosti filter se otevře Filter Editor, který obsahuje dva sloupce. Do sloupce Filter Name zadáme název filtru, který se zobrazí v seznamu a do sloupce filter nastavíme odpovídající filter
FilterIndex Pořadové číslo filtru, který chceme standardně zobrazovat.
Options 14 nejrůznějších voleb pro nastavení práce s dialogem

FontDialog – nastavení písma pro text. Editory – Vlastnosti

Device Určuje pro které zařízení je font určen (print, obrazovka) hodnoty:

FdScreen, FdPrinter, FdBoth

Font Pro vstup a výstup informací o fontu a dialogu
MinFontSize Slouží k omezení rozsahu velikosti písma, pokud chceme omezovat velikost musíme nastavit ve vlastnosti Options FDLimitSize
MaxFontSize

 

ColorDialog – nastavení barev

Umožňuje uživateli zvolit barvy pro různé části prostředí.

Vlastnosti

Color – se používá pro aktuální barvu na vstupu a vybranou barvu na výstupu

Panel nástrojů

 

Panel nástrojů vytvoříme tak, že na formulář umístíme komponentu Panel ze záložky Standard, nastavíme její vhodnou velikost (standardní výška tlačítek je 25 bodů). Na panel pak umístíme jednotlivé tlačítka SpeedButton ze záložky Additional. Mezi připadnými skupinami necháme mezery.

SpeedButton

 

Komponenta SpeedButton je velmi podobná komponentě BitBTN. Opět zobrazuje obrázek (glyph) ale na rozdíl od BitBTN nezobrazuje text. SpeedButton není ovladatelný klávesnicí a nelze se na něj dostat pomocí klávesy TAB. Je výhradně pro ovládání myší. Panel nástrojů lze vytvořit tak, že vždy musí být stlačeno právě jedno tlačítko ze skupiny. Stlačením jiného předchozí vyskočí. Nebo může být zamáčknuto 0 až nekonečně tlačítek.

Komponenta SpeedButton má pro spolupráci tlačítek vlastnost GroupIndex. Standardně je nastavena na 0 což značí, že se jedná o nezávislé tlačítko. Chceme-li vytvořit spolupracující skupinu musíme nastavit vlastnost GroupIndex všech tlačítek ve skupině na stejné nenulové kladné číslo.

Vlastností Down nastavíme, které tlačítko bude na počátku stlačeno. Nestavením vlastnosti AllowAllUp na true pro danou skupinu umožníme aby žádné tlačítko nebylo stlačeno.

Běžným prvkem u panelu nástrojů je přítomnost tzv. plovoucí nápovědy, což je text stručně popisující tlačítko pod kurzorem. Text nápovědy k danému tlačítku vyplníme do vlastnosti Hint. Zobrazování nápovědy zajistíme nastavením vlastnosti ShowHint na true u jednotlivých SpeedButtonů nebu u komponenty Panel pro všechny tlačítka.

 

BitBTN – tlačítko s BITMAPOU

Komponenta BitBTN je velice podobná standardnímu tlačítku, pouze má navíc některé vlastnost: BITMAPU – charakterizuje FCI tlačítka (vizuálně).

Buton a BITBTN jsou při svém použití zaměnitelné, rozdíl je pouze vizuální.

Vlastnosti

Kind Umožňuje výběr z předdefinovaných tlačítek, při zadání bkCustom je možné pro tlačítko dodat libovolný obrázek. Nastavením vlastnosti KIND se přednastaví i některé další vlastnosti např. caption
Glyph Určuje přiřazení obrázku ke tlačítku
Layout Umožňuje změnit uspořádání textu a obrázku na tlačítku (obr vlevo text vpravo apod.)
Margine Udává odsazení obrázku s textem od okraje tlačítka, při nastavení na -1 je obrázek s textem na tlačítku vycentrovaný
Spacing Udává velikost mezery mezi obrázkem a textem

 

K vytvoření bitmapy je možné využít ImageEditor Delphi v menu Tools – Image Editor, případně jiný rastrový editor. Je také možné využít kolekce hotových obrázků. Pokud chceme aby velikost symbolů odpovídala těm na standardních tlačítkách nastavíme velikost Bitmapy na 18×18 bodů.

 

Bevel – oddělovací čáry a rámečky

Pokud je na formuláři větší počet komponent je vhodné jejich vizuální rozdělení do skupin. K tomu lze využít komponentu Bevel, která však není vlastníkem na ní umístěných komponent jak je tomu u panelu nebo GroupBoxu. Možné jsou základní způsoby použití komponenty Bevel, které nastavíme pomocí vlastnosti Shape.

Dva typy ráměčků:

  • bsbox – plošný tvar
  • bsframe – rámeček

Oddělovací čáry podle stran (bsBottom, bsTopLine, bsLeftLine, bsRightLine)

Style – podle toho jak nastavíme vlastnost bude čára buď opticky vyzvednuta (bsRaised) nebo ponořena (bslowered)

Status Bar – stavový řádek

K vytvoření stavového řádku slouží komponenta Status Bar v záložce WIN32. Komponenta může být použita téměř jako panel pro zobrazování nápovědy. Pro tento způsob použití musíme nastavit vlastnost SimplePanel na true a pak můžeme pro výstup textu použít vlastnost SipmleText.

Výhoda komponenty Status Bar však spočívá v možnosti definice množství podpanelů (rozčlenění stavového řádku na několik úseků). Podpanely nadefinujeme StatusBarPanels editoru, který aktivujeme vlastní Panels. Zde také nadefinujeme atributy každého podpanelu – text, šířka, styl, 3D efekt, zarovnání textu.

Status Bar nejčastěji využijeme pro zobrazení informací o položce menu právě vybrané uživatelem a pro stavové informace – např. stav některých kláves, datum, čas, typ klávesnice apod.

 

Použití stavového pruhu pro zobrazení nápovědy pro vybranou položku menu:

Text který chceme zobrazovat napíšeme do vlastnosti Hint jednotlivých položek menu. Potom je možné sepsat kódpro zobrazování nápovědy při najetí na položku menu.

  • Do deklarace napíšeme hlavičku procedury: procedure ShowHint (sender: TObject);
  • Pak dopíšeme samotnou proceduru:

Procedure TForm1.ShowHint(Sender: TObject);

Begin

StatusBar1.panels[0].text:=Application.Hint;

End;

  • Naprogramujeme událost OnCreate pro formulář:

Application.OnHint:= ShowHint;

 

Pokud chceme stavový pruh využit k nápovědě pro tlačítka panelu nástrojů, nastává problém, vlastnost Hint tlačítek je použita text plovoucí nápovědy. Do vlastnosti Hint je však možné napsat nápovědy obě. Nejdříve se zadá text plovoucí nápovědy, jako oddělovač se použije svislá čára (ALT+124) a potom se zadá text pro nápovědu ve stavovém pruhu

 

Zobrazení stavu klávesy

Při zobrazení stavu klávesy musíme volat FCI GetKeyState, která vrací číslo stavu. Jestliže je spodní (poslední) bit čísla 1 tak číslo je liché, pak je klávesa stisknuta. Stav můžeme při stisku libovolné klávesy tj. doprogramujeme událost OnKeyDown u Form.

If odd(GetKeyState(VK_CAPITAL))=true then StatusBar1.panels[2].text:= ‘CAPS’ else StatusBar1.panels[2].text:= ‘’;

Názvy kláves

VK_CAPITAL – caps lock

VK_SHIFT – shift

VK_CONTROL – CTRL

VK_F1 – F1

VK_A – A

 

8. Přehled základních komponent – využití, vlastnosti, události

8.       Dephi a jeho předchůdci, princip, popis prostředí (paleta komponent, formulář, object inspektor), postup tvorby projektu, uložení, ladění a spuštění

 

Delphi a jeho předchůdci

Delphi je vývojový prostředek pro vytváření programů pracujících v prostředí MS Windows, který v sobě spojuje silnou sadu vizuálních nástrojů pro tvorbu všech částí aplikace s výkonným kompilátorem a prostředky pro vytváření databázových aplikací. Delphi je nástupcem Turbo Borland Pascalu a Object Pascalu a je založeno na objektově orientovaném programování a na vizuálním programování. Vizuální programování umožňuje vytváření uživatelského rozhraní jinak než psaním textu programu – pomocí již vytvořených komponent. Delphi obsahuje princip dvoucestných nástrojů (two way tools), tj. vazby mezi vizuální a textovou (programovou) tvorbou aplikace.

Prostředí Delphi

Nástrojová lišta

Standardní nástrojová lišta má tlačítka ve dvou řádcích rozložena do 4 skupin:

4 z menu FILE – open, save all, save, new

2 z menu NEW PROJECT – add file to project, remove file to project

4 z menu VIEW – view unit, view form, toggle form/unit, new form

4 z menu RUN – run, pause, trace into, step ower

Paleta komponent

Komponenty jsou základní stavební prvky každé aplikace Delphi a tvoří tzn. visual component libraly (VCL). Paleta komponent je specializovaný druh nástrojové lišty, který zpřístupňuje všechny komponenty z VCL.

Form designer

Zde se odehrává celý vizuální návrh aplikace. Na začátku je to prázdná pracovní plocha s vytečkovanou mřížkou na kterou postupně umisťujeme komponenty, propojujeme je a pracujeme s daty. Program má vždy hlavní a někdy i sekundární formuláře.

Postup tvorby projektu

  • Vybereme na paletě příslušné komponenty a prdneme je na formulář
  • Provedeme propojení komponent a nastavení vlastností v object inspektor (properties)
  • Ošetříme jednotlivé události v object inspektoru (events)
  • Naprogramujeme zdrojový kód

 

 

 

Object inspector

Obsah OI se mění podle toho, která komponenta je právě aktivní. Na počátku tedy zobrazuje parametry formuláře. Existují dva druhy parametrů komponent a to: viditelné a neviditelné. Každá vlastnost má počáteční hodnotu. Z programového hlediska nejsou vlastnosti nic jiného než lokální proměnné daného objektu. Množina přípustných hodnot je určena datovým typem.

Events – zde definujeme způsob reakce na nějaký úhon provedaný s komponentou.

Formulář

Základní komponentou Delphi je formulář, který reprezentuje windowsovské wokno. Formulář je komponenta typu TForm. V Delphi vytváříme základ aplikace úpravou formuláře: umístěním dalších komponent na formulář a jejich propojením, nastavením vlastností samotného formuláře a podřízením komponent a doprogramováním potřebných událostí. Program má zpravidla jeden hlavní formulář a může mít i jeden nebo více formulářů sekundárních. Hlavní formulář zpravidla zůstává viditelný po celou dobu běhu aplikace, sekundární se zobrazují a zase mizí za chodu. Formulář stejně jako každá jiná komponenta má své vlastnosti a události.

Vlastnosti

Vlastnost Popis a použití
Caption Text titulku formuláře, též popiska ikony minimalizovaného
Ctl3D Zda formulář a jeho komponenty mají třídimenzionální vzhled
Color Barva formuláře
Left Levý okraj
Top Horní okraj
Width Šířka formuláře
Height Výška formuláře
ClientWidth Vnitřní rozměr formuláře (bez rámečku, legendy, menu)
ClientHeight
HorzScrollBar Pro zobrazení vodorovného a svislého posuvníka
VertScrollBar
BorderIcons Základní vlastnosti okna – systém menu, minimalizační a maximalizační tlačítko, help
Cursors Nastavení tvaru kurzoru
Font Nastavení fontu písma pro komponenty umístěné na formuláři
Visible Viditelnost formuláře

Events

Událost Využití
OnResize Při jakékoli změně velikosti formuláře
OnCreate Při prvotním vytvoření formuláře
OnDestroy Při uzavírání formuláře
OnActivate V okamžiku, kdy se formulář stane aktivním
OnDeactivate V okamžiku, kdy uživatel přepne do jiné aplikace
OnClose Při uzavírání formuláře
OnCloseQuery Viz OnClose, navíc se ptá uživatele, jestli chce formulář opravdu zavřít
OnShow V okamžiku, kdy se formulář stává viditelným
OnHide V okamžiku, kdy formulář skrýváme

 

Program

Model vývoje programů v Delphi

  • otevření nového projektu
  • Návrh formuláře – umístění komponent a nastavení paramentrů nebo vlastností v objekt inspektoru
  • Dopsání kódu
  • Kompilace
  • Vyzkoušení (ladění a testování)

 

Uložení projektu

menu File – Save project

Pro jména souborů obvykle využíváme jméno formuláře:

  • zdrojový kód – soubor_f.pas

projekt: jméno.dpr

7. Tvorba projektu, práce s formuláři, procedury a funkce pro dialogové boxy

Standardní dialogové boxy

Předdefinované standardizované dialogové boxy WINDOWS najdeme na paletě komponent v záložce DIALOGS. V době návrhu aplikace se na formuláři objevují jako malé zástupné ikony, které nejsou za běhu programu vidět dokud nezavoláme jejich nejdůležitější vlastnost EXECUTE. Poté se zobrazí příslušný dialogový box, chod programu je pozastaven a existují 2 způsoby ukončení dialogu – OK, Cancel

Open, Save Dialog – Vlastnosti

Title Je místo Caption, jedná se o titulek dialogu
Filename Předvolené jméno souboru zobrazení v dialogu
InitialDir Umožňuje nastavit počáteční adresář, pokud necháme prázdné, dosadí se naposledy použitý adresář
Filter Umožňuje zobrazení souborů v dialogu podle typu (přípony). Po zvolení vlastnosti filter se otevře Filter Editor, který obsahuje dva sloupce. Do sloupce Filter Name zadáme název filtru, který se zobrazí v seznamu a do sloupce filter nastavíme odpovídající filter
FilterIndex Pořadové číslo filtru, který chceme standardně zobrazovat.
Options 14 nejrůznějších voleb pro nastavení práce s dialogem

FontDialog – nastavení písma pro text. Editory – Vlastnosti

Device Určuje pro které zařízení je font určen (print, obrazovka) hodnoty:

FdScreen, FdPrinter, FdBoth

Font Pro vstup a výstup informací o fontu a dialogu
MinFontSize Slouží k omezení rozsahu velikosti písma, pokud chceme omezovat velikost musíme nastavit ve vlastnosti Options FDLimitSize
MaxFontSize
   

 

ColorDialog – nastavení barev

Umožňuje uživateli zvolit barvy pro různé části prostředí.

Vlastnosti

Color – se používá pro aktuální barvu na vstupu a vybranou barvu na výstupu

6. Vizuální a objektově orientované programování, základní pojmy a principy

6.       Třídící algoritmy – principy třídění, rekurze – vzájemná, přímá

 

Třídící algoritmy

  • BUBLLE SORT
  • Mění se a porovnávají čísla vedle sebe
  • Když nesouhlasí, první se prohodí
  • Dělá se n-1

 

Princip

Tato třídící metoda je ze všech uvedených metod nejjednodušší, ale také nejpomalejší. Její princip spočívá v jednoduché záměně dvou sousedních prvků, pokud nevyhovují dané podmínce. Procedura obsahuje dva do sebe vnořené cykly, vnější zajišťuje zmenšování počtu prvků, které stále nejsou setříděny a vnitřní cyklus zajišťuje vlastní výměny dvou prvků v jednom průchodu posloupností.

 

  • INSERT SORT
  • Třídění vkládáním

 

Princip

Tato metoda je založena na principu vkládání prvku na jeho správné místo v posloupnosti.  Jak si můžete porovnat předchozí výpisy metod s výpisem této metody, používá pole o velikostí ne 10, ale 11 prvků, počínaje již nultým prvkem. Tento se v celé posloupnosti využívá jako pomocný prvek a samotná posloupnosti jej do sebe nezahrnuje.

 

  • SELECT SORT
  • Vybereme nejmenší (největší) číslo a porovnáváme s prvním, pokud sedí velikost, promění se prvky mezi sebou

 

Princip

Metoda pracuje na principu nalezení minimálního prvku v nesetříděné části posloupností a jeho zařazení na konec již setříděné posloupnosti. Metoda prochází celou nesetříděnou část posloupnosti a hledá nejmenší prvek. Až jej nalezne, vrátí se na konec již setříděné části posloupnosti a tento nejmenší prvek zde uloží. Tyto dvě činnosti vykonává do té doby, dokud neprojde celou posloupnost a nesetřídí ji.

Rekurze

V imperativním programování rekurze představuje opakované vnořené volání stejné funkce (podprogramu), v takovém případě se hovoří o rekurzivní funkci. Nedílnou součástí rekurzivní funkce musí být ukončující podmínka určující, kdy se má vnořování zastavit. Jelikož bývá nejčastějším zdrojem chyb, je třeba ji navrhnout dostatečně robustním způsobem a prověřit veškeré možné stavy.

Pro uplatnění rekurzivních algoritmů je zapotřebí, aby programovací jazyk umožňoval volání podprogramu ještě před ukončením jeho předchozího volání.

Po každém kroku volání sebe sama musí dojít ke zjednodušení problému. Pokud nenastane koncová situace, provede se rekurzivní krok.

Každý algoritmus využívající rekurzi lze přepsat do nerekurzivního tvaru při použití zásobníku nebo jiné paměťové struktury.

– způsob volání procedur a funkcí

– takové volání, které nastane dřív, než předchozí volání skončí

– 2 typy – PŘÍMÁ, VZÁJEMNÁ

 

  • PŘÍMÁ REKURZE
  • Pokud procedura nebo funkce volá sama sebe

 

 

  • VZÁJEMNÁ REKURZE
  • Když v jedné proceduře voláme jinou proceduru a v druhé voláme zaes první proceduru
  • Může být víc procedur a funkcí
  • Podmínka rekurze –
  • kdy vzájemné volání podprogramů vytvoří „kruh“. Např. v příkazové části funkceA je volána funkce B, ve funkci B voláme funkci C, která volá funkci A.

 

Výhoda rekurze

  • jednoduchost
  • přehlednost programu

 

Nevýhoda rekurze

  • Časová náročnost
  • Paměťová náročnost – vymezování většího počtu paměťového místa

5. Techniky programování – třídicí algoritmy, rekurze, dynamické datové struktury

5.       Procedury a funkce – Deklarace, parametry volané hodnotou a odkazem, rozdíl mezi procedurou a funkcí

 

  • Procedury a funkce se nazývají podprogramy
  • Při opakování použití kódu v programu
  • Využívají se např. když spolupracuje více programátorů na jednom projektu
  • Pokud používáme proceduární programovací jazyk

 

Co je procedura?

Procedura je funkce bez návratové hodnoty. Proč ještě procedury? Proč nestačí jen funkce? Procedura slouží k tomu, abysme mohli jedním příkazem vykonat celý blok příkazů uzavřených v proceduře. Procedura se deklaruje skoro stejně jako funkce, ale nemá návratovou hodnotu a místo klíčového slova function se používá slovo procedure. Procedury se hodně používají pro obsluhy událostí komponent. Příklad jedné procedury najdete v následující tabulce.

 

Co je to funkce?

Funkce je blok příkazů uzavřených mezi begin a end; + proměnné. Funkce může mí jeden, ale i několik argumentů a její tělo deklarujeme v sekci implementation. Delkarace funkce vypadá takto.

 

Deklarace procedury

PROCEDURE název(seznam formálních parametrů(proměnných);

VOLÁNÍ PROCEDURY – je samostatným příkazem

Název(seznam skutečných parametrů);

 

Deklarace funkce

FUNCTION název(seznam formálních parametrů:datový typ;

VOLÁNÍ FUNKCE – není samostatným příkazem, musíme použít v rámci jiného příkazu

Název(seznam skutečných proměných);

Funkce vrací jedinou hodnotu, kterou má v názvu. Typ se vztahuje k názvu.

 

Rozdíl mezi procedurou a funkcí

  • VE VOLÁNÍ

Procedura – Samostatný příkaz

Funkce – Není samostatný příkaz, musíme použít v rámci jiného příkazu

Název(seznam skutečných parametrů)

  • FUNKCE VRACÍ JEDINOU HODNOTU, KTERÁ JE ULOŽENA V NÁZVU FUNKCE

VOLÁNÍ HODNOTOU

  • Hodnota se zkopíruje do paměťového místa, které je zadáno formální proměnou (x)
  • Zejména pro řešení vstupů
  • Jsou vypsané proměnné bez „var“ PŘ) procedure BLA(x:real);

 

VOLÁNÍ ODKAZEM

  • Není další paměťové místo
  • Používá se pro výstup proměnných
  • Proměnná změní svůj název
  • Nedochází ke kopírování, zůstává stejné paměťové místo
  • Je psaná s „var“ procedure BLABLA(var x:real)

4. Procedury a funkce

  1. Strukturované typy dat

Pole

Pole je datová struktura skládající se ze složek stejného typu, které se vzájemně rozlišují pomocí indexů. S každou proměnnou typu pole můžeme v programu pracovat buď jako s celkem nebo s jejími jednotlivými složkami.

Záznam (record)

Záznam je datová struktura skládající se z určitého počtu pojmenovaných položek, které mohou být různého typu a které nazýváme položkami záznamu

Položky patřící do jednoto typu záznamu musí být pojmenovány vzájemně různými identifikátory, tyto identifikátory se však mohou shodovat s identifikátory vně popisu záznamu.

Var a:integer;

Z:record a:char;

b:integer;

end;

Touto deklarací je zavedena proměnná A typu integer a proměnná Z typu záznam. Proměnná Z se skládá z položky A typu char a položky B typu integer.

Soubor

V jazyku Pascal se každý soubor chápe jako posloupnost složek stejného typu pro něž jsou definovány určité operace. Tyto operace umožňují vytvoření souboru, čtení nebo zápis do souboru a zpracování souboru. V každém okamžiku zpracování souboru je přístupná jediná jeho složka.

Vlastnosti souboru jsou určeny jeho typem. Typem složky může být jakýkoli datový typ s výjimkou typu soubor (nelze mít soubor souborů).

Přístup ke složkám

Ukazatel ukazuje v každém okamžiku na jednu aktuální složku souboru, při každém zápisu nebo čtení se ukazatel posune na složku následující. Lze vypočítat polohu každé složky, což umožňuje i přímý přístup k libovolné složce

Operace se soubory

Assign(f,s) – externí (vnější) jméno souboru S typu string bude přiřazeno interní (vnitřní) proměnné F typu soubor. Tato operace musí být při práci se souborem použita vždy jako první

Rewrite(f) – vytvoří se nový soubor F a otevře se pro zápis. Ukazatel souboru ukazuje na začátek, tj. na složku číslo 0. Soubor F je po provedení rewrite prázdný

Write(f,sez) – do souboru F je zapsána proměnná SEZ, která je stejného typu jako složka souboru F. Ukazatel se po zápisu přesune na následující složku

Reset(f) – otevře již existující soubor pro zpracování, ukazatel nastaví na začátek, tj. na složku č. 0. Pokud soubor neexistuje, dojde k chybě vstupu

Read(f,sez) – ze souboru F je načtena jedna složka do proměnné SEZ, která je stejného typu jako složka souboru F. Ukazatel se po načtení posune na následující složku

Seek(f,n) – ukazatel se přesune na n-tou složku souboru F

Erase(f) – vymaže se soubor přiřazený proměnné F

Rename(f,s) – přejmenuje se soubor F jménem S

Close(f) – uzavře soubor F po zpracování

Eof(f) – vrací logickou hodnotu true, je-li ukazatel na konci souboru

Filepos(f) – vrací aktuální polohu ukazatele souboru F

Filesize(f) – vrací počet složek souboru F

Příkaz with

Práce s proměnnými typu záznam často vede k dosti dlouhému a složitému zápisu při identifikaci jednotlivých položek proměnné. Příkaz with dovolí pracovat s položkami záznamu tak, jakoby se pracovalo s jednoduchými proměnnými.

3. Strukturované typy dat, vlastní datové typy

  1. Strukturované typy dat

Pole

Pole je datová struktura skládající se ze složek stejného typu, které se vzájemně rozlišují pomocí indexů. S každou proměnnou typu pole můžeme v programu pracovat buď jako s celkem nebo s jejími jednotlivými složkami.

Záznam (record)

Záznam je datová struktura skládající se z určitého počtu pojmenovaných položek, které mohou být různého typu a které nazýváme položkami záznamu

Položky patřící do jednoto typu záznamu musí být pojmenovány vzájemně různými identifikátory, tyto identifikátory se však mohou shodovat s identifikátory vně popisu záznamu.

Var a:integer;

Z:record a:char;

b:integer;

end;

Touto deklarací je zavedena proměnná A typu integer a proměnná Z typu záznam. Proměnná Z se skládá z položky A typu char a položky B typu integer.

Soubor

V jazyku Pascal se každý soubor chápe jako posloupnost složek stejného typu pro něž jsou definovány určité operace. Tyto operace umožňují vytvoření souboru, čtení nebo zápis do souboru a zpracování souboru. V každém okamžiku zpracování souboru je přístupná jediná jeho složka.

Vlastnosti souboru jsou určeny jeho typem. Typem složky může být jakýkoli datový typ s výjimkou typu soubor (nelze mít soubor souborů).

Přístup ke složkám

Ukazatel ukazuje v každém okamžiku na jednu aktuální složku souboru, při každém zápisu nebo čtení se ukazatel posune na složku následující. Lze vypočítat polohu každé složky, což umožňuje i přímý přístup k libovolné složce

Operace se soubory

Assign(f,s) – externí (vnější) jméno souboru S typu string bude přiřazeno interní (vnitřní) proměnné F typu soubor. Tato operace musí být při práci se souborem použita vždy jako první

Rewrite(f) – vytvoří se nový soubor F a otevře se pro zápis. Ukazatel souboru ukazuje na začátek, tj. na složku číslo 0. Soubor F je po provedení rewrite prázdný

Write(f,sez) – do souboru F je zapsána proměnná SEZ, která je stejného typu jako složka souboru F. Ukazatel se po zápisu přesune na následující složku

Reset(f) – otevře již existující soubor pro zpracování, ukazatel nastaví na začátek, tj. na složku č. 0. Pokud soubor neexistuje, dojde k chybě vstupu

Read(f,sez) – ze souboru F je načtena jedna složka do proměnné SEZ, která je stejného typu jako složka souboru F. Ukazatel se po načtení posune na následující složku

Seek(f,n) – ukazatel se přesune na n-tou složku souboru F

Erase(f) – vymaže se soubor přiřazený proměnné F

Rename(f,s) – přejmenuje se soubor F jménem S

Close(f) – uzavře soubor F po zpracování

Eof(f) – vrací logickou hodnotu true, je-li ukazatel na konci souboru

Filepos(f) – vrací aktuální polohu ukazatele souboru F

Filesize(f) – vrací počet složek souboru F

Příkaz with

Práce s proměnnými typu záznam často vede k dosti dlouhému a složitému zápisu při identifikaci jednotlivých položek proměnné. Příkaz with dovolí pracovat s položkami záznamu tak, jakoby se pracovalo s jednoduchými proměnnými.

Older posts

© 2025 Maturita v kapse

Theme by Anders NorenUp ↑