Sayfa: [1]   Aşağı git
  Yazdır  
Gönderen Konu: Textboxların İçeriğini *.ini Dosyasına Kaydetmek Çooook Süüüper Koooooddd  (Okunma Sayısı 369 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
HeLL
VB Uzman Mod
Master Üye
******


Karma: 100
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 1759


Üyelik Bilgileri


« : 20 Haziran 2008, 14:35:41 »





'Selam Ben Fatih Avcı Linklerin Görülmesine Izin Verilmiyor
Linki Görebilmek Için Üye Ol veya Giris Yap

'1 Tane Projenizin Yüklü Olduğu yere Notepadı Açarak Fatih.ini Yazı Dosyası Oluşturun
'2 Tane Projeye Modül Ekleyin
'Ana Forma 3 aDET tEXTBOX 1 Adette Buton Ekleyin
'Gelelim Koda
'Butonun Click Olayına Aşşağıdaki Kodu Girin
Private Sub Command1_Click()
WriteIniValue App.Path & "\Fatih.ini", "Default", "Text1", Text1.Text
WriteIniValue App.Path & "\Fatih.ini", "Default", "Text2", Text2.Text
WriteIniValue App.Path & "\Fatih.ini", "Default", "Text3", Text3.Text
Unload Me
End Sub
 
'Formun Load Olayına Aşşağıdaki Kodu Girin
Private Sub Form_Load()
Text1.Text = ReadIniValue(App.Path & "\Fatih.ini", "Default", "Text1")
Text2.Text = ReadIniValue(App.Path & "\Fatih.ini", "Default", "Text2")
Text3.Text = ReadIniValue(App.Path & "\Fatih.ini", "Default", "Text3")
Me.Caption = "Hazırlayan:Fatih Avcı"
End Sub
'Formun QueryUnload Olayınada Aşşağıdaki Kodu Girin

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode = 0 Then Cancel = 1
End Sub
'Şimdi Modüllere Gelek Gayri
'ilk Modüle Aşşağıdaki Kodu Girin
 
Option Explicit
Public Function WriteIniValue(INIpath As String, PutKey As String, PutVariable As String, PutValue As String)
Dim Temp As String
Dim LcaseTemp As String
Dim ReadKey As String
Dim ReadVariable As String
Dim LOKEY As Integer
Dim HIKEY As Integer
Dim KEYLEN As Integer
Dim VAR As Integer
Dim VARENDOFLINE As Integer
Dim NF As Integer
Dim X As Integer
AssignVariables:
NF = FreeFile
ReadKey = vbCrLf & "[" & LCase$(PutKey) & "]" & Chr$(13)
KEYLEN = Len(ReadKey)
ReadVariable = Chr$(10) & LCase$(PutVariable) & "="

EnsureFileExists:
Open INIpath For Binary As NF
Close NF
SetAttr INIpath, vbArchive

LoadFile:
Open INIpath For Input As NF
Temp = Input$(LOF(NF), NF)
Temp = vbCrLf & Temp & "[]"
Close NF
LcaseTemp = LCase$(Temp)

LogicMenu:
LOKEY = InStr(LcaseTemp, ReadKey)
If LOKEY = 0 Then GoTo AddKey:
HIKEY = InStr(LOKEY + KEYLEN, LcaseTemp, "[")
VAR = InStr(LOKEY, LcaseTemp, ReadVariable)
If VAR > HIKEY Or VAR < LOKEY Then GoTo AddVariable:
GoTo RenewVariable:

AddKey:
Temp = Left$(Temp, Len(Temp) - 2)
Temp = Temp & vbCrLf & vbCrLf & "[" & PutKey & "]" & vbCrLf & PutVariable & "=" & PutValue
GoTo TrimFinalString:

AddVariable:
Temp = Left$(Temp, Len(Temp) - 2)
Temp = Left$(Temp, LOKEY + KEYLEN) & PutVariable & "=" & PutValue & vbCrLf & Mid$(Temp, LOKEY + KEYLEN + 1)
GoTo TrimFinalString:

RenewVariable:
Temp = Left$(Temp, Len(Temp) - 2)
VARENDOFLINE = InStr(VAR, Temp, Chr$(13))
Temp = Left$(Temp, VAR) & PutVariable & "=" & PutValue & Mid$(Temp, VARENDOFLINE)
GoTo TrimFinalString:
TrimFinalString:
Temp = Mid$(Temp, 2)
Do Until InStr(Temp, vbCrLf & vbCrLf & vbCrLf) = 0
Temp = Replace(Temp, vbCrLf & vbCrLf & vbCrLf, vbCrLf & vbCrLf)
Loop

Do Until Right$(Temp, 1) > Chr$(13)
Temp = Left$(Temp, Len(Temp) - 1)
Loop

Do Until Left$(Temp, 1) > Chr$(13)
Temp = Mid$(Temp, 2)
Loop

OutputAmendedINIFile:
Open INIpath For Output As NF
Print #NF, Temp
Close NF

End Function
 
 
 
 
 
'ikinci Modüle Aşşağıdaki Kodu Girin
 
 
Option Explicit
Public Function ReadIniValue(INIpath As String, KEY As String, Variable As String) As String
Dim NF As Integer
Dim Temp As String
Dim LcaseTemp As String
Dim ReadyToRead As Boolean

AssignVariables:
NF = FreeFile
ReadIniValue = ""
KEY = "[" & LCase$(KEY) & "]"
Variable = LCase$(Variable)

EnsureFileExists:
Open INIpath For Binary As NF
Close NF
SetAttr INIpath, vbArchive

LoadFile:
Open INIpath For Input As NF
While Not EOF(NF)
Line Input #NF, Temp
LcaseTemp = LCase$(Temp)
If InStr(LcaseTemp, "[") <> 0 Then ReadyToRead = False
If LcaseTemp = KEY Then ReadyToRead = True
If InStr(LcaseTemp, "[") = 0 And ReadyToRead = True Then
If InStr(LcaseTemp, Variable & "=") = 1 Then
ReadIniValue = Mid$(Temp, 1 + Len(Variable & "="))
Close NF: Exit Function
End If
End If
Wend
Close NF
End Function
 
'Bitttti Nihayet
Logged

♥ღ♥...BEŞİKTAŞK... ♥ღ♥
mayhemious
Administrator
*


Karma: 70
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 1015

mayhem mayhemious


Üyelik Bilgileri WWW


« Yanıtla #1 : 05 Ekim 2008, 22:11:13 »

bu da aynı işi yapıyor

Read Write INI Rutinleri...
Read Write INI Rutinleri...

Merhaba herkez eminimki programlarının gücüne güç katmak
ve daha evrensel bir hale getirmek için Dil paketleri hazırlamak ister.
Veya program ayarlarini .ini dosyalarına yazdırarak işlemleri daha kolay
ve hızlı yapmak ister.

Ben kendimi basit bir dil paketi (language pack genelde uzantilar .lng olur)
hazırladım. Oldukça kullanışlı aşağıdaki kodu gördüğünüzde ne kadar basit olduğunu
eminim sizde anlarsınız Gülümseme

'Bunları bir module ekleyin daha iyi olur
'Declare edilmesi gereken iki API
Public Declare Function GetPrivateProfileString Lib "kernel32" 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
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long

Function readIni(AppName, KeyName As String, FileName As String) As String
Dim sRet As String
sRet = String(255, Chr(0))
readIni = Left(sRet, GetPrivateProfileString(AppName, ByVal KeyName, "", sRet, Len(sRet), FileName))
End Function

Sub writeIni(sAppname As String, sKeyName As String, sNewString As String, sFileName As String)
Call WritePrivateProfileString(sAppname, sKeyName, sNewString, sFileName)
End Sub

Şimdilik bu kadar ve iyi çalışmalar...

   S. Ferit Arslan
Logged

Mesaj Sayısı 10 ve Altı olanlar Sorularınız YANITLANMAYACAK

Linklerin Görülmesine Izin Verilmiyor
Linki Görebilmek Için Üye Ol veya Giris Yap
V.I.P. Üye Olun. Programlamada Bir Adım Öne Geçin
Sayfa: [1]   Yukarı git
  Yazdır  

 
Gitmek istediğiniz yer: