Merhaba,
Daha önce paylaşmış olduğum ini dosyasından veri okuma ve ini dosyasına veri yazma işlemleri ile ilgili aşağıdaki açıklamalar işinizi görecektir.
İyi günler.
---
Ini kütüphanesi ile dosyadan veri okuma
Açıklama: veri size string olarak döner. Eğer farklı bir tip ise içeride değişken tipinize göre convert edip kullanabilirsiniz.
Mesela bir CheckBox kullanıyorsanız, işaretli olma durumunu string olarak true-false şeklinde tutabilir ve StrToBool(inidengelenveri) yaparak nesne.IsChecked özelliğine atayabilirsiniz (FormOnCreate yada DataModule içinde).
function IniDosyadanOku(Sec, Ident, DefVeri: string): string;
var
aFile: TIniFile;
DosyaAdi: string;
begin
DosyaAdi := GetHomePath + '/DOSYAADI.ini'; // Dosya adını da parametrik yapabilir, fonksiyona bir parametre olarak geçebilirsiniz. Aynı şekilde ek bir klasör ataması da olabilir AA/BB.txt gibi.
aFile := TIniFile.Create(DosyaAdi);
Result := aFile.ReadString(Sec, Ident, DefVeri);
aFile.Free;
end;
Ini kütüphanesi ile dosyaya veri yazma
Açıklama: Dosya yoksa oluşturacağı için kendinize Key-Value (Yada section-identification) belirtin. String olarak veriyi götürüp yazın.
procedure IniDosyayaYaz(Sec, Ident, Veri: string);
var
aFile: TIniFile;
DosyaAdi: string;
begin
DosyaAdi := GetHomePath + '/DOSYAADI.ini'; // Dosya adını da parametrik yapabilir, fonksiyona bir parametre olarak geçebilirsiniz. Aynı şekilde ek bir klasör ataması da olabilir AA/BB.txt gibi.
aFile := TIniFile.Create(DosyaAdi);
aFile.WriteString(Sec, Ident, Veri);
aFile.Free;
end;
Örnek Kullanım (Veri Yazma-Kaydetme)
if txUsername.Text <> '' then
begin
IniDosyayaYaz('AYARLAR', 'KullaniciAdi', txUsername.Text);
IniDosyayaYaz('AYARLAR', 'Sifre', txUserpwd.Text);
end;
Örnek Kullanım (Veri Okuma)
procedure TGirisFormunuz.FormCreate(Sender: TObject);
begin
txUsername.Text := IniDosyadanOku('AYARLAR', 'KullaniciAdi', ''); // eğer ini yada txt dosyanızda böyle bir veri yoksa 3. parametre varsayılan dönüşü verir. Yoksa boş getiriyor burada.
txUserpwd.Text := IniDosyadanOku('AYARLAR','Sifre','');
end;