ExtraForum - 1299 Private Serverlar - Server Dosya Paylaşımları
Would you like to react to this message? Create an account in a few clicks or log in to continue.
ExtraForum - 1299 Private Serverlar - Server Dosya Paylaşımları

Güncel Paylaşım Forumu !
 
AnasayfaGaleriAramaLatest imagesKayıt OlGiriş yap
Eğlence Başladı Rütbeni Seç! TIKLA
Moderatör Alımı Başladı TIKLA

 

 Vb6 Ini dosyalarinin kullanimi

Aşağa gitmek 
YazarMesaj
SessizAdam
Sponsor
Sponsor
SessizAdam


Mesaj Sayısı : 571
Kayıt tarihi : 09/05/09
Rep Puanı Rep Puanı : 47

Vb6 Ini dosyalarinin kullanimi Empty
MesajKonu: Vb6 Ini dosyalarinin kullanimi   Vb6 Ini dosyalarinin kullanimi Icon_minitimePtsi Mayıs 11, 2009 6:27 pm

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 programi) 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

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

ReadStringFromIni - Ini dosyasinin istenen kismindan string degisken turundeki parametre bilgisinin okunmasi
Kod:
Public Function ReadStringFromIni(strIniFile As String, strSection As String, _     
                                  strVariable As String, _
                                  strDefault As String) As String

Kod:
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
'*****************************************************************

Kod:
    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)
'*****************************************************************
Kod:
      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

________Kullanıcı İmzası_________
[Linkleri görebilmek için üye olun veya giriş yapın.]

[Linkleri görebilmek için üye olun veya giriş yapın.]
Sayfa başına dön Aşağa gitmek
 
Vb6 Ini dosyalarinin kullanimi
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» Excel dosyalarinin kullanimi
» VB 6.0 ( Recordset Kullanımı )
» ****İsrobot Kullanımı***[ReSiMlİ]
» VB6 Sistem Printerlarinin kullanimi
» GetSystemMenu, RemoveMenu kullanımı

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
ExtraForum - 1299 Private Serverlar - Server Dosya Paylaşımları :: Kodlama & Programlama :: Visual Basic-
Buraya geçin:  

weyyo

knight online serverlar

metin2 serverlar

silkroad serverlar