Newsgroup: it.comp.lang.visual-basic
Titolo: Lettura di un file

Come faccio a leggere delle informazioni da un file che ha la seguente
struttura?
[Agente1]
Nome=Antonio
Cognome=Rossi
Città=Roma
Via=20 Settembre
Civico=135
[Agente2]
Nome=Mario
Cognome=Verdi
Città=Roma
Via=
Civico=
[Cliente1]
Nome=Luigi
Cognome=Bianchi
Codice=A001
Città=Roma
Via=
Civico=
[Cliente2]
Nome=Carlo
Cognome=Neri
Codice=A002
Etc..
Come ho scritto nell'esempio, alcuni campi hanno un valore
nullo,inoltre la struttura di Agente è diversa da quella di cliente.
Grazie
Maxoon

 ha scritto nel messaggio
news:ehsi6ukolgvtu38so...@4ax.com...

E' file INI, cerca nei post vecchi:
In un modulo metti:
Public Declare Function GetPrivateProfileInt Lib "kernel32" Alias _
    "GetPrivateProfileIntA" (ByVal lpApplicationName As String, _
    ByVal lpKeyName As String, ByVal nDefault As Long, _
    ByVal lpFileName As String) As Long
' Dichiarazione per leggere il valore di una voce in una sezione:
Public Declare Function GetPrivateProfileString Lib "kernel32" _
    Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
    ByVal lpKeyName As String, ByVal lpDefault As String, _
    ByVal lpReturnedString As String, ByVal nSize As Long, _
    ByVal lpFileName As String) As Long
' Dichiarazione per scrivere il valore di una voce in una sezione:
Public Declare Function WritePrivateProfileString Lib "kernel32" _
    Alias "WritePrivateProfileStringA" _
    (ByVal lpApplicationName As String, ByVal lpKeyName As String, _
    ByVal lpString As Any, ByVal lpFileName As String) As Long
' Dichiarazione per eliminare una voce da una sezione:
Declare Function DeletePrivateProfileItem Lib "kernel32" _
    Alias "WritePrivateProfileStringA" _
    (ByVal lpApplicationName As String, ByVal lpKeyName As Any, _
    ByVal lpString As Long, ByVal lpFileName As String) As Long
' Dichiarazione per eliminare una sezione:
Public Declare Function DeletePrivateProfileSection Lib "kernel32" _
    Alias "WritePrivateProfileStringA" _
    (ByVal lpApplicationName As String, ByVal lpKeyName As Long, _
    ByVal lpString As Long, ByVal lpFileName As String) As Long
' Dichiarazione per ricavare l'elenco delle sezioni:
Public Declare Function GetListPrivateProfileSection Lib "kernel32" _
    Alias "GetPrivateProfileStringA" _
    (ByVal lpApplicationName As Long, ByVal lpKeyName As Long, _
    ByVal lpDefault As String, ByVal lpReturnedString As String, _
    ByVal nSize As Long, ByVal lpFileName As String) As Long
' Dichiarazione per ricavare l'elenco delle voci presenti in una sezione:
Public Declare Function GetPrivateProfileItems Lib "kernel32" _
    Alias "GetPrivateProfileStringA" _
    (ByVal lpApplicationName As String, ByVal lpKeyName As Long, _
    ByVal lpDefault As String, ByVal lpReturnedString As String, _
    ByVal nSize As Long, ByVal lpFileName As String) As Long
' Dichiarazione per ricavare l'elenco delle voci
' ed i valori presenti in una sezione:
Public Declare Function GetPrivateProfileSection Lib "kernel32" _
    Alias "GetPrivateProfileSectionA" _
    (ByVal lpAppName As String, ByVal lpReturnedString As String, _
    ByVal nSize As Long, ByVal lpFileName As String) As Long
' Dichiarazione per scrivere un elenco di voci e valore in una sezione:
Public Declare Function WritePrivateProfileSection Lib "kernel32" _
    Alias "WritePrivateProfileSectionA" _
    (ByVal lpAppName As String, ByVal lpString As String, _
    ByVal lpFileName As String) As Long
Supponiamo che il tuo file sia:
[NOME_SEZIONE]
NomeVoce= Cippalippa
Allora nel tuo form usi ad esempio (per leggere):
    Dim FileINI As String
    Dim Sezione As String
    Dim Voce As String
    Dim Buffer As String
    Dim Dato As String
    Dim LunghezzaDato As Long
    FileINI = PercorsoConNomeFileIni
    Sezione = "NomeSezione"
    Voce = "NomeVoce"
    Buffer = Space(250)
    LunghezzaDato = GetPrivateProfileString(Sezione, Voce, "", Buffer, 250,
FileINI)
    Dato= Left(Buffer, LunghezzaDato)
Ciao
--
Timothy Redaelli

, 
timothy.red...@email.it
 says...

Grzaie provo subito
Maxoon

 ha scritto nel messaggio
news:MPG.16d39a887...@powernews.libero.it...


 > > > struttura?
Porca miseria.... :-(((
IL QUOTING, PER FAVORE !
Bye, G.

 Prova con Replace per togliere la zavorra di cui nn hai bisogno.
quale sarebbe la 'zavorra' di cui parli?
--
Faber