Ini dosyalarinin kullanimi

Visual Basic & Action script Ini dosyalarinin kullanimi Programlama hakkında bilgi paylaş; Ini dosyalarinin kullanimi Cogu zaman gelistirdigimiz program icin gerekli olan parametrelerin kaydedilmesi gerekir.Kisisellestirilebilir programlarda bu durum daha cok karsimiza ...
Cevapla
 
Seçenekler
  #1  
Arama 24-12-2007, 10:59
Celebrian - ait Kullanıcı Resmi (Avatar)

Üyelik Tarihi: 19/11/07
Mesajlar: 3.876
 
     WS-Ticareti: (0)
Teşekkürleri: 0
27 Msg. 34 Tşkr.
Rep Gücü: 40 Celebrian rep gücü yükselmeye başladı

Ini dosyalarinin kullanimi

Ini dosyalarinin kullanimi Cogu zaman gelistirdigimiz program icin gerekli olan parametrelerin kaydedilmesi gerekir.Kisisellestirilebilir programlarda bu durum daha cok karsimiza cikar.

Ornek olarak kullaniciya textbox arkaplan rengini degistirebilme kolayligi sagladiniz.Peki kullanici bu ozelligi sectiginde bu deger nereye yazilacak? Database ? Hayir, database gerektirmeyen bir yazilim gelistirdiginizi dusunursek (or:muhendislik progr+++) sadece kullanicinin sectigi textbox arkaplan rengini saklamak icin bir database kullanilmasi dogru olmayacaktir.Peki Text dosyalari? Evet mevcut olarak cogu programci parametrelerin saklanmasi icin textbox kullanmaktadir.Fakat textbox kullanimi tam verimlilik saglamayacaktir.

Nedeni ise textbox'a yazilacak yeni bir deger icin 2.bir gecici dosya acilip mevcut degerlerin 2. dosyaya aktarilmasi bu arada yeni degerin 2. dosyaya islenmesi ve son olarak 1.orjinal dosyanin silinip 2.gecici dosyanin isminin degistirilmesi cok parametre tuttugunuz bir programda yavas kalacaktir.

Ini dosyalarinin yapisi
--------------------------------------------------------------------------------

Ini dosyalari Section(Bolum) , Parametre isimleri ve degerlerinden olusur.Ornek vermek gerekirse;
[Form1">
Genislik=3800
Yukseklik=4000

Burada "[">" icinde yazili olan "Form1" bolum ismi, "Genislik" parametre ismi ve "="'den sonra olan bolumler ise degerlerdir.


Dogal olarak su soruyu soracaksiniz , Ini dosyalarida ayni sekilde text dosyalarina benzer , parametre okuma/yazma isleminde hizi arttirmak icin ne tur bir yontem kullanacagiz?

Parametre okuma/yazma islemi icin API kullanacagiz.Api kullanimi yazilacak bir kod'dan daha hizli sonuc verecektir.

Kullanilacak API'ler
--------------------------------------------------------------------------------

GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" _
(ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long

GetPrivateProfileInt Lib "kernel32.dll" Alias "GetPrivateProfileIntA" _
(ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal nDefault As Long, _
ByVal lpFileName As String) As Long

WritePrivateProfileString Lib "kernel32.dll" Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpString As String, _
ByVal lpFileName As String) As Long

Her kullanimda karmasik api kodlarini kullanmamak icin yapilacak okuma/yazma islemleri icin fonksiyonlar yaratm+++z gerekir.

Kullanilacak Fonksiyonlar
--------------------------------------------------------------------------------

ReadStringFromIni - Ini dosyasinin istenen kismindan string degisken turundeki parametre bilgisinin okunmasi
Public Function ReadStringFromIni(strIniFile As String, strSection As String, _
strVariable As String, _
strDefault As String) As String
'************************************************* ****************
'Amac : Programın ini dosyasında istenen kısmından belirtilen
' değişkenin değerini alır. Değişken türü string tir.
'Giris : Ini dosyasının yeri ve adi, ini dosyasında okunacak kısım
' ini dosyasında okunacak değişken
' strIniFile : Ini dosyasının yeri ve adi
' strSection : Okunacak değişkenin ini dosyasında bulunduğu
' kısım
' strVariable : Okunacak değişkenin adı
' strDefault : Okunacak değişkenin defauşlt değeri,
' Eğer değişken ini dosyasoında bulunamazsa fonksiyon bu
' değeri döndürür.
'Cikis : Okunan değişkenin değeri
'************************************************* ****************
Dim strValue As String ' Okunan değer
Dim lValueLenght As Long ' Okunan değerin uzunluğu

'Okunacak değer için 255 karakterlik yer ayrılıyor
strValue = Space(255)

'INI dosyasından okuma ;
lValueLenght = GetPrivateProfileString(strSection, strVariable, strDefault, _
strValue, 255, strIniFile)
'Değer uzunluğuna göre kendisi için ayrılan yerden alınıyor
strValue = Left(strValue, lValueLenght)

'Fonksiyona değer olarak atanıyor.
ReadStringFromIni = strValue
End Function
ReadIntFromIni - Ini dosyasinin istenen kismindan integer degisken turundeki parametre bilgisinin okunmasi
Public Function ReadIntFromIni(strIniFile As String, strSection As String, _
strVariable As String) As Long
'************************************************* ****************
'Amac : Programın ini dosyasında istenen kısmından belirtilen
' değişkenin değerini alır. Değişken türü integer dir.
'Giris : Ini dosyasının yeri ve adi, ini dosyasında okunacak
' kisim ini dosyasında okunacak değişken
' strIniFile : Ini dosyasının yeri ve adi
' strSection : Okunacak değişkenin ini dosyasında bulunduğu
' kısım
' strVariable : Okunacak değişkenin adı
'Cikis : Okunan değişkenin değeri
'************************************************* ****************
Dim lValue As Long ' Okunan değer

'INI dosyasından okuma; eğer değişken bulunamazsa değer olarak -1 döndürülüyor
lValue = GetPrivateProfileInt(strSection, strVariable, -1, strIniFile)

'Fonksiyona değer atanıyor
'Eğer değer okunamadıysa;
If lValue = -1 Then
ReadIntFromIni = -1
'Okunduysa;
Else
ReadIntFromIni = lValue
End If
End Function
WriteToIni - Ini dosyasinin istenen kismina integer veya string degisken turundeki parametre bilgisinin yazilmasi
Public Function WriteToIni(strIniFile As String, strSection As String, _
strVariable As String, strValue As String) As Boolean
'************************************************* ****************
'Amac : Programın ini dosyasında istenen kısmından belirtilen
' değişkene belirtilen verilen değeri yazar.
' Yazdırılacak değerin string yada sayı olmas önemli değil.
' Yazdırılacak değer sayı olsa bile string gibi yazdırılıyor.
' Ancak okunurken sayı okunur gibi okunması gerek.
'Giris : Ini dosyasının yeri ve adi, ini dosyasında yazılcak kısım,
' ini dosyasında yazılacak değişken, değişkene yazılacak
' değer
' strIniFile : Ini dosyasının yeri ve adi
' strSection : Yazdırılacak değişkenin ini dosyasında
' bulunduğu kısım
' strVariable : Yazdırılacak değişkenin adı
' strValue : Yazılacak değer
'Cikis : True/False (Başarılı/Başarısız)
'************************************************* ****************
Dim lReturn As Long 'api fonksiyonun dönüş değeri (1:Başarılı, 0:Başarısız)

'INI dosyasına yazma
lReturn = WritePrivateProfileString(strSection, strVariable, _
strValue, strIniFile)

'Yazma işlemini başarılı olup olmadığı kontrol edilerek fonksiyona atanıyor.
'Başarısız ise;
If lReturn = 0 Then
WriteToIni = False
'Başarılı ise;
Else
WriteToIni = True
End If
End Function
Alıntı ile Cevapla
Cevapla


Seçenekler


Benzer Konular
Konu Konu Açanlar Forum Cevaplar Güncel Mesajlar
C ++ Stl Kullanimi romeo655 Web Dersleri 0 10-04-2008 11:45
.htaccess ile SSI veya Sunucu Tarafinda HTML dosyalarinin Islenmesi Professionel Programlama Makaleleri 0 22-11-2007 06:20
.htaccess dosyalarinin baskalari tarafindan goruntulenmesini engellemek Professionel Programlama Makaleleri 0 22-11-2007 06:19
Resimlerde 'MAP' kullanimi kadınca Html 0 09-11-2007 10:41
Sayfalarda tablo kullanimi kadınca Html 0 09-11-2007 10:40

Siteye link vermek için alttaki kodu sitenize ekleyin
Ya da kodu Ctrl+C ile kopyalayın
Örnek görünüm: Webmaster Sitesi