Tekil Mesaj gösterimi
Alt 16 Nisan 2010, 13:03   #1
Çevrimdışı
Dilaold
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
.ini Dosyası Oluşturma ve Okuma




.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:

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
unit Unit1;

interface

uses
  Windows
MessagesSysUtilsVariantsClassesGraphicsControlsForms,
  
DialogsStdCtrls,inifiles

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

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
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_ICONQUESTIONof 
 
Soruyoruz Kaydedilsinmi kaydedilmesinmi Belki fikir değiştirebilir kullanıcı :) }
 
IDOK : { tamam ulen kaydedilsin derse ilk ende kadar olan kodları işlicek yani değerleri yazıp ini dosyasını oluşturcak}
  
begin
  ini1 
:= TINIFile.CreateExtractFilePath(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:

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
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.CreateExtractFilePath(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

Yazar: Ali Yeşiloğlu

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet bizimmekan