View Full Version : [vb] Salvare le impostazioni di un programma
Salve,
nel programma che ho realizzato ci sono delle costanti tipo i percorsi dei file che attualmente vengono inizializzate nell'evento load della form principale ...
Ho preparato una form in cui è possibile settare questi percorsi e ora mi chiedevo : affinché siano disponibili alla successiva esecuzione del programma come mi conviene salvarli ????? In un file binario per caso ??? o meglio in un file ad accesso casuale ??? Voi che fareste ?
io li salverei in un ini ke è molto pratico e funzionale...
io li salverei in un ini ke è molto pratico e funzionale...
Perché esiste qualche procedura particolare per la gestione di un file ini ?
leadergl
21-05-2005, 10:57
Perché esiste qualche procedura particolare per la gestione di un file ini ?
Si...
' -----------------------------------------------------------------
'Funzioni per la Gestione dei Files .INI delle Impostazioni
' -----------------------------------------------------------------
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
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 Function INIRead(File As String, Section As String, Item As String) As String
Dim sBuf As String
Dim iRC As Integer
sBuf = Space(1023) 'Leggi stringhe di 1024 caratteri
iRC = GetPrivateProfileString(Section, Item, "Not Found", sBuf, 1023, App.Path + "/" + File)
sBuf = Left$(sBuf, iRC)
If StrComp(sBuf, "Not Found") = 0 Then
INIRead = vbNullString
Else
INIRead = sBuf
End If
End Function
Public Sub INIWrite(File As String, Section As String, Item As String, ItemValue As String)
WritePrivateProfileString Section, Item, ItemValue, App.Path + "/" + File
End Sub
Si...
' -----------------------------------------------------------------
'Funzioni per la Gestione dei Files .INI delle Impostazioni
' -----------------------------------------------------------------
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
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 Function INIRead(File As String, Section As String, Item As String) As String
Dim sBuf As String
Dim iRC As Integer
sBuf = Space(1023) 'Leggi stringhe di 1024 caratteri
iRC = GetPrivateProfileString(Section, Item, "Not Found", sBuf, 1023, App.Path + "/" + File)
sBuf = Left$(sBuf, iRC)
If StrComp(sBuf, "Not Found") = 0 Then
INIRead = vbNullString
Else
INIRead = sBuf
End If
End Function
Public Sub INIWrite(File As String, Section As String, Item As String, ItemValue As String)
WritePrivateProfileString Section, Item, ItemValue, App.Path + "/" + File
End Sub
Fichissimo !!!!!!!
Beh molto bello .. solo dovrei un attimo capirci sulla questione sezioni, item ecc ....
Se ricordo bene la sezione comincia con parentesi quadre vero ????
Ad esempio sezione "percorsi" nell'ini diventa :
[percorsi]
e l'item sarà :
directory_incoming = c:\incoming
vero ?
leadergl
21-05-2005, 12:42
Config.ini:
[Sezione]
Item=ItemValue
ItemValue = INIRead("Config.ini", "Sezione", "Item")
INIWrite "Config.ini", "Sezione", "Item", ItemValue
questo è tutto quello che serve sapere, inoltre il valore di ritorno di INIRead è una stringa.
Config.ini:
[Sezione]
Item=ItemValue
ItemValue = INIRead("Config.ini", "Sezione", "Item")
INIWrite "Config.ini", "Sezione", "Item", ItemValue
questo è tutto quello che serve sapere, inoltre il valore di ritorno di INIRead è una stringa.
Ti ringrazio sei stato gentilissimo
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.