Dva rozdílné typy – typové (datové) soubory a textové soubory.
Typové soubory
Deklarace
var proměnná: file of datový typ (= integer,real,string,record…);
Operace se soubory
- Přiřazení skutečného jména souboru:
- assign(formální, skutečný);
- Externí jméno souboru s (cesta k němu) typu string bude přiřazeno interní proměnné f typu file.
- Tato operace musí být při práci se souborem použita vždy jako první!
- assign(formální, skutečný);
- Vytvoření souboru:
- rewrite(f);
- Vytvoří nový soubor f a otevře ho pro zápis a ukazatel nastaví na položku číslo 0.
- rewrite(f);
- Otevření existujícího souboru:
- reset(f);
- Otevře již existující soubor pro zpracování, nastaví ukazatel na začátek, tj. na položku číslo 0.
- Pokud soubor neexistuje dojde k chybě vstupu.
- reset(f);
- Zavření souboru:
- closefile(f);
- Uzavře soubor f po zpracování.
- closefile(f);
- Zápis do souboru:
- write(f, p);
- Do souboru f je zapsána proměnná p, která je stejného typu jako soubor f.
- Ukazatel se po zápisu posune na další položku.
- write(f, p);
- Čtení ze souboru:
- read(f, p);
- Ze souboru f je načtena jedna položka do proměnné p, která je stejného typu jako soubor f.
- Ukazatel se po načtení posune na další položku.
- read(f, p);
- eof(f);
- Vrací hodnotu false, pokud nejste na konci, jinak true.
- While not eof(f) do … (= dokud není konec souboru f dělej …).
- filepos(f)
- Aktuální pozice ukazatele.
- filesize(f);
- Vrací počet položek souboru f.
- seek(f, n);
- Přesune ukazatel na n-tou položku souboru f.
- erase(f);
- Smaže soubor přiřazený proměnné f.
- rename(f, s);
- Přejmenování souboru f jménem s.
Textové soubory
Zpracovávají se po řádcích.
Deklarace
var proměnná: textfile;
Operace se soubory
Podobné jako u typových souborů s rozdílem v zápisu a načtení.
- writeln(f,s) – do souboru f zapíše proměnnou s (typu string), po zápisu do souboru přesune ukazatel na další řádek.
- readln(f,s) – ze souboru f načte řádek do proměnné s, po načtení se ukazatel přesune na další řádek.
- append(f) – umožňuje přidávat data na konec souboru.
[Celkem: 0 Průměr: 0]Musíte se přihlásit, abyste mohli hlasovat