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
Práce s ini soubory
delphi_ini
14. března 2001, 00.00 | Chcete se svých Delphi programech používat ini soubory, a rozšířit je tak o možnost ukládání a načítání dat? Tento článek vám ukáže, jak na to.
Potřebovali jste si již někdy v Delphi programu uložit pozici formuláře, proměnné nebo cokoliv jiného ? Určitě ano. Jedna z možností je použití ini souborů a vzhledem k tomu, že windows práci s nimi co nejvíce zjednodušují, nejsou s nimi žádné komplikace. Tedy, dáme se do toho.
Nejprve si řekneme, jak takový soubor vypadá. Pokud jste opravdu ještě žádný neviděli, zavítejte do složky windows a otevřete si jakýkoliv *.ini soubor. Jak jste si jistě všimli, je rozdělen do částí, které jsou vždy v hranatých závorkách a následují proměnné, rovnítko a hodnota.
Hodnoty mohou být buť typu integer, string nebo boolean. Vytvoříme si tedy ukázkový program, který bude číst a zapisovat všechny tyto tři typy. Navíc si bude ještě pamatovat pozici a velikost furmuláře. Vytvořte si tedy nový projekt a do uses rovnou přidejte Inifiles. Dále vytvořte proměnnou DataFile:TINIFile; Následně na formulář přidejte 6 Labelů a pojemujte je následovně (doufám, že pojmenování je dosti srozumitelné, a již nemusím popisovat, co který Label bude ukazovat): xLabel, ylabel, HeightLabel, WidthLabel, IntLabel, StrLabel, BooLabel. Dále ještě vložte komponenty Edit (Name=StringEdit), SpinEdit a CheckBox.
Tím vkládání komponent naštěstí končí a začíná programování. Nejprve si tedy nějaký ini soubor musíme vytvořit. Vytvoříme si tedy proceduru OnCreate a do ní doplníme následující řádek:
|
Takto se nám soubor data.dat vytvoří v adresáři windows (pokud již existuje, pouze se otevře). Zřejmě ale nechcete mít v adresáři windows, ale na očích v adresáři programu, a proto řádek trochu pozměníme:
|
Před načítáním hodnot si vytvoříme ještě proceduru OnClose, do které vložíme následující řádek, který zajistí, aby se při ukončení programu taky soubor zavřel a uvolnil paměť.
|
Čtení proměnných poté provedeme funkcí ReadInteger, ReadString nebo ReadBool. První parametr je část ini souboru (použití různých částí je pouze pro zpřehlednění ini souboru, klidně můžeme dát všehcny proměnné do jedné, např. options), druhý je název proměnné v ini souboru a poslední je hodnota, která se do proměnné dosadí, pokud ini soubor neexistuje, nebo v něm patřičná proměnná není. Do procedury OnCreate tedy ještě doplníme následující řádky, které zajistí načtení všech potřebných proměnných:
|
Tyto všechny hodnoty bychom měli ještě před ukončením aplikace uložit, k čemuž nám poslouží procedury WriteInteger, WriteString a WriteBool. Do procedury OnClose vložíme před DataFile.Free následující řádky, čímž toto zajistíme:
|
Nakonec vytvoříme proceduru OnConstrainedResize, do které přidáme kód, který nám zajistí, abychom viděli hodnoty Left, Top, Width a Height formuláře. Zde je:
|
A to je vše. Velice jednoduché a proto výhodné. Po ukočení programu by měl ini soubor Data.dat vypadat nějak takto (samozřejmě, že hodnoty se budou lišit):
ZDE si můžete stáhnout zdrojáky dnes vytvořeného programu - 188 KB.
Diskuse k článku
-
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