Delphi – SmeÅ¡tanje podeÅ¡avanja programa u .ini fajl (II deo)
Delphi obezbeÄuje TIniFile klasu sa metodama koje su dizajnirane za potrebe Äuvanja i iÅ¡Äitavanja informacija specifiÄnih za odreÄeni program i podeÅ¡avanja, unutar INI fajlova. Klasa TIniFile deklarisana je unutar unit-a inifiles.pas. Pre nego Å¡to poÄnemo rad sa TIniFile kontrolom potrebno je da kreiramo instancu klase:
uses inifiles;
…
var
IniFile : TIniFile;
begin
IniFile := TIniFile.Create(‘mojprogram.ini’);
Ovaj programski kod kreira IniFile objekt i dodeljuje „mojprogram.ini“ jedinoj osobini klase – FileName osobini – koja se koristi za odreÄivanje naziva INI fajla koji Äete koristiti. Ako deklariÅ¡ete INI fajl na ovaj naÄin, onda Äe se on smestiti u Windows folder. Bolje reÅ¡enje za Äuvanje aplikacionih podataka je da INI fajl smestite u aplikacioni folder – zato kod metode Create odredite punu putanju i naziv INI fajla:
IniFile := TIniFile.Create(ChangeFileExt(
Application.ExeName,’.ini’));
Klasa TIniFile poseduje nekoliko metoda za „Äitanje“. Metoda ReadString Äita string vrednosti iz kljuÄeva, metode ReadInteger, ReadFloat i sliÄne, koriste se za Äitanje brojÄanih podataka iz kljuÄeva. Sve metode za Äitanje imaju podrazumevane vrednosti koje Äe se koristiti ukoliko ne postoje ulazni podaci. Na primer, metoda ReadString se deklariÅ¡e kao:
function ReadString
(const Section, Ident, Default: String):
String; override;
Klasa TIniFile za svaku metodu „Äitanja“ ima odgovarajuÄu metodu „upisa“. Drugim reÄima, to su metode WriteString, WriteBool, WriteInteger, itd. Na primer, ukoliko ÅŸelite da program "zapamti" naziv poslednjeg korisnika, i sve potrebne koordinate forme, oformiÄemo sekciju nazvanu "Poslednji", sa kljuÄnim reÄima "Korisnik" i "Datum"; i drugu sekciju zvanu "Polozaj" sa kljuÄevima "Top", "Left", "Width" i "Height". Ovde treba reÄi da kljuÄ nazvan "Korisnik" sadrÅŸi string vrednost, "Date" koja sadrÅŸi TDateTime vrednost, a svi kljuÄevi u sekciji "Polozaj" sadrÅŸe intedÅŸer vrednosti.
DogaÄaj OnCreate glavne forme je perfektno mesto za smeÅ¡taj programskog koda potrebnog za pristup vrednostima u inicijalizacionom fajlu aplikacije:
procedure TForm1.FormCreate(Sender: TObject);
var
IniFile : TIniFile;
PosKorisnik : string;
PosDatum : TDateTime;
begin
IniFile := TIniFile.Create
(ChangeFileExt(Application.ExeName,’ini’));//ako nema posl. korisnika – prazan string
PosKorisnik :=
IniFile.ReadString(‘Poslednji’,’Korisnik’,“);
//ukoliko nema korisnika sa datumom,
vraca se danasnji
PosDatum :=
IniFile.ReadDate(‘Poslednji’, ‘Datum’, Date);//prikaz poruke
ShowMessage(‘Ovaj program je prethodno koristio ‘
+ PosKorisnik + ‘ dana ‘
+ DateToStr(PosDatum));Form1.Top :=
IniFile.ReadInteger
(‘Polozaj,’Top’, Form1.Top);
Form1.Left :=
IniFile.ReadInteger
(‘Polozaj’,’Left’, Form1.Left);
Form1.Width :=
IniFile.ReadInteger
(‘Polozaj’,’Width’, Form1.Width);
Form1.Height :=
IniFile.ReadInteger
(‘Polozaj’,’Height’, Form1.Height);IniFile.Free;
end;
Pratite Krstaricu i preko mobilne aplikacije za Android i iPhone.