Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Delphi
Naučte se programovat v Delphi (11. díl) - Práce se soubory
6. prosince 2001, 00.00 | Často potřebujeme v programu uložit nějaká data pro pozdější použití, konfiguraci, informace o uživateli apod. Vždy je ukládáme do souborů. V Object Pascalu existuje více druhů souborů, do kterých tato data můžeme ukládat a dnes si je představíme.
Často potřebujeme v programu uložit nějaká data pro pozdější použití, konfiguraci, informace o uživateli apod.. Vždy je ukládáme do souborů. V Object Pascalu existuje více druhů souborů, do kterých tato data můžeme ukládat a v dnešním článku si je představíme.
Jak jsem již zmínil, v Object Pascalu existuje více druhů souborů. Přesněji čtyři, textové, typové, netypové a ini. Ini soubory zde probírat nebudu, protože to zde už udělal Václav Krejčí v článku Práce s ini soubory. Nejdříve vám vysvětlím postupy, které jsou stejné u všech typů souborů, které dnes proberu a potom si povíme o odlišnostech a konkrétních postupech.
Začínáme vždy tím, že si deklarujeme souborovou proměnnou. Potom v příkazovém bloku (mezi begin a end;) si spojíme procedurou AssignFile() souborovou proměnnou se jménem souboru i s příponou.
Následují procedury, které určují, co se bude s určeným souborem dělat. První procedura je Reset. Tímto příkazem se soubor otevře a bude se z něho moci číst a zapisovat. Druhý příkaz je Rewrite. Tímto příkazem vytvoříte nový soubor, nebo přepíšete stávající se shodným jménem. Existuje ještě příkaz Append, který přidává data na konec souboru. Je ale použitelný jen pro textové soubory. Nakonec nesmíme zapomenout ukončit práci se souborem procedurou CloseFile.
Textové soubory
Textový soubor je nejjednodušší typ souboru, ale bohužel do něj můžeme zapisovat pouze text. Souborová proměnná je typu TextFile a čte se ze souboru procedurou ReadLn (read line) a zapisuje procedurou WriteLn (write line). Asi bude nejlepší vše si předvést v praxi.
|
Jak jsem již zmiňoval, procedurou Append můžeme na konec textového souboru přidávat další řádky. Demonstraci použití vidíte v následující tabulce.
|
Při práci se soubory se používá ještě funkce eof(). Je to booleovská funkce, která vrací true, pokud je souborový ukazatel na konci souboru.
|
Datové soubory
Datové soubory se od textových liší tím, že do datových můžete ukládat data libovolných typů. Tzn. že můžete mít jak soubory znakové (char), číselné (integer), tak i vlastních typů (TMujTyp). Na rozdíl od textových souborů se souborová proměnná deklaruje slovy file of ....
|
Častější použití mají soubory vlastních typů. Například pro uložení hesla, uživatelského jména a věku uživatele by mohl sloužit tento záznam.
|
Asi jste si všimli, že stringové proměnné jsou omezené na 30 znaků. Je to kvůli tomu, že stringové typy, dokáží adresovat až 2GB dat a proto je nutné omezit jejich velikost. U celočíselných nebo booleovských typů se délka neomezuje. K zápisu do typového souboru se používá procedura Write a ke čtení procedura Read.
|
Netypové soubory
U netypových souborů neznáme jejich typ a proto nemůžeme používat procedury Read a Write , ale BlockRead a BlockWrite. Souborová proměnná se deklaruje slovem File. Procedury BlockRead a BlockWrite přebírají za parametry souborovou proměnnou, netypizovanou proměnnou, která má být dost velká na to, aby uložila počet bajtů určených třetím parametrem typu integer. Nejčastěji se tento způsob zapisování a čtení souborů používá při jejich kopírování, tak si rovnou ukážeme příklad procedury, která zkopíruje jeden soubor do druhého.
|
Tak to by bylo pro dnešek o souborech vše a příště si něco řekneme o dynamicky linkovaných knihovnách.
Obsah seriálu (více o seriálu):
- Naučte se programovat v Delphi (1. díl) - Trocha historie
- Naučte se programovat v Delphi (2. díl) - Object Pascal
- Naučte se programovat v Delphi (3. díl) - Seznámení s vývojovým prostředím
- Naučte se programovat v Delphi (4. díl) - První program
- Naučte se programovat v Delphi (5. díl) - Datové typy, proměnné a konstanty
- Naučte se programovat v Delphi (6. díl) - Operátory, funkce a procedury
- Naučte se programovat v Delphi (7. díl) - Řízení toku programu
- Naučte se programovat v Delphi (8. díl) - Typy, záznamy a pole
- Naučte se programovat v Delphi (9. díl) - Objekty
- Naučte se programovat v Delphi (11. díl) - Práce se soubory
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007