|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
[VB6] Leggere Impostazioni File .INI
Ragazzi ho un problema,
sto utilizzando in un mio progetto VisualBasic 6 i file .INI per gestire varie impostazioni del mio programma ed alcuni elementi di codice base che mi servono il problema è che ho notato che se devo leggere dal file qualcosa di abbastanza lungo questo viene troncato e non lo legge tutto. Vi faccio un esempio pratico, devo leggere tra le varie cose, questo: Codice:
[FLEX_BASE] Flex_004A=AAB0300001560000002F014E0000004A000100000146010100010200000100010100010001 000000000000000000000100000000010100010101010000020001000000000000000000000000FE01010001000100 0000000101010002010000000100010100000100000104010000000100000200000000000000000101000101000003 000000000001000000010000000000010000000100000001000000000000000000020000010302030D010405020D0A 021D1F0101030D0805320102030400160B0507010100000101000000000000000000FF1C0001010001010002000000 0001000001000100000100010000040001030000010101000000000000000000000101001F01010100000003000001 00000000000000010000010100000000000001020000000000000101000000000000FF05FF05FF05FF05FF05FF05FF 00000000000000000000000002000000000000000001000000000001000C4D Come posso fare per ottenere la lettura completa? Ah, per leggere dai file .INI uso questo codice: Codice:
Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" ... As Long
Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" ... 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(255)
iRC = GetPrivateProfileString(Section, Item, "Not Found", sBuf, 255, 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
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC Ultima modifica di leadergl : 08-04-2005 alle 09:24. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
Che idiota, mi sono accorto proprio scrivendo che il problema sta nella procedura "INIRead" ed è qui:
Codice:
sBuf = Space(255) iRC = GetPrivateProfileString(Section, Item, "Not Found", sBuf, 255, App.Path + "/" + File) che può comportare modificare di così tanto questo valore? un aumento della memoria occupata? posso deallocarlo in modo da nn fargli occupare memoria inutile visto che viene usato solo all'apertura del programma per leggere le impostazioni? Griazie mille
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:17.



















