.ini Dosyası Oluşturma ve Okuma

.ini dosyası ile ilgili işlemleri (inifiles kütüphanesini) ele alalım bu dersimizde.

.ini dosyası ile ilgili işlemleri (inifiles kütüphanesini) ele alalım bu dersimizde.

Konu: .ini Dosyası Okuma ve Yazma

Bir program geliştiriyoruz ve ufak tefek bir kaç ayarı biyerlerde saklamamız lazım birkaç alternatif olarak aşağıdakileri söyleyebiliriz.

1) Regedit e Değer yazmak ve okumak
2) .txt dosyası yaparak değer yazmak ve okumak
3) .ini dosyası oluşturmak değer yazmak ve okumak
4) Bir veritabanı oluşturup orda bilgileri saklamak.

5 6 7 diye alternatifler çoğalır da çoğalır..

En çok kullanılanlardan biri olan .ini dosyasını nasıl kullanıcağımızı size anlatmaya çalışacağım.

Başlıyoruz...

İlk olarak kendimize bir senaryo yazalım.

Bir proje geliştiriyoruz ve veritabanı bilgilerini değişken bir şekilde saklamamız gerekiyor. Bu bilgiler neler olsun?

[*] Veritabanın adresi (DBip olsun adı )
[*] Veritabanının adı (DBname olsun)
[*] Veritabanının kullanıcı adı (DBuser olsun)
[*] Veritabanının şifresi (DBpass olsun)

Şimdi bi form hazırlıyoruz. Forma eklenecek bileşenler:

- 4 tane Tedit
- 2 tane Tbutton

ini dosyasını kullanmamız için bize Delphi inifiles kütüphanesini yapmış.

USES kısmına inifiles; olarak ekliyoruz. Aşağıdaki gibi olacak:


unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls,inifiles;



Şimdi formumuza eklediğimiz 1. Tbutton'un onClick olayını aşağıdaki gibi düzenleyelim. Bunlar kaydetmek için:


var

  ini1 : TINIFile;       {Oluuşturucağımız ini dosyası}

  DBip,DBname,dbuser,DBpass : string;    { ini dosyasına ekleyeceğimiz bilgilerin değişkenleri }

begin

  dbip :=Edit1.Text;        { Edit1 e girdiğimiz değeri DBip değişkenine atıyoruz}

  DBname:=Edit2.Text;       { Edit2  ye girdiğimiz değeri DBname değişkenine atıyoruz}

  dbuser:=Edit3.Text;       { Edit3 e girdiğimiz değeri DBuser değişkenine atıyoruz}

  DBpass:=Edit4.Text;       { Edit4 e girdiğimiz değeri DBpass değişkenine atıyoruz}

  

 case Application.MessageBox('Ayarlar Kaydedilsinmi ?','Soru',MB_OKCANCEL + MB_ICONQUESTION) of 

 { Soruyoruz Kaydedilsinmi kaydedilmesinmi ? Belki fikir değiştirebilir kullanıcı :) }

 IDOK : { tamam ulen kaydedilsin derse ilk end; e kadar olan kodları işlicek yani değerleri yazıp ini dosyasını oluşturcak}

  begin

  ini1 := TINIFile.Create( ExtractFilePath(Application.ExeName)+'SETTINGS.INI'); 

  { bir üst satırda ini dosyamızı kaydediceği yer i belirledik (exe dosyamız nerdeyse onun yanına Settings.ini olarak kaydedecek }  

  

  ini1.WriteString('AYARLAR','IP', IP);

  ini1.WriteString('AYARLAR','DB_NAME', DBname);

  ini1.WriteString('AYARLAR','DB_USER_NAME', dbuserName);

  ini1.WriteString('AYARLAR','DB_PASS', DBpass);

  ini1.Free; { buraya dikkat dosya kullanılıyor hatası almamak için dosyayla işimiz bittiğinde serbest bırakıyoruz}

  end;

  IDNO : Abort; { yok abi ben değişiklik yapcam kaydetmicem diyenler içinde işlemi iptal ediyoruz... }

  end;



2. Tbutton un onClick olayını aşağıdaki gibi düzenleyelim. Bunlar da okumak için:


var

  ini1 : TINIFile;       {Oluuşturucağımız ini dosyası}

  DBip,DBname,dbuser,DBpass : string;    { ini dosyasına ekleyeceğimiz bilgilerin değişkenleri }

begin



 ini1 := TINIFile.Create( ExtractFilePath(Application.ExeName)+'SETTINGS.INI');

 DBip:= ini1.ReadString('AYARLAR','IP','');

 DBname:= ini1.ReadString('AYARLAR','DB_NAME', '');

 dbuser:= ini1.ReadString('AYARLAR','DB_USER_NAME', '');

 DBpass:= ini1.ReadString('AYARLAR','DB_PASS', '');

 ini1.Free;

 

 edit1.text:=dbip;

 edit2.text:=dbname;

 edit3.text:=dbuser;

 edit4.text:=dbpass;

 end;



Okumak kısmı da bu kadar. Umarım yardımcı olabilmişimdir.
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Ellerine sağlık kardeşim. çok güzel anlatmışsın. Sadece edit değilde diğer componentlerde de kullansan birazdaha iyi olur mutlaka bekliyorum.:gul:

Yukarı Git