Pagina 1 di 1

[VB6] - Leggere & Scrivere i file .INI o .INF

MessaggioInviato: ven dic 10, 2004 5:17 pm
da SuperRomu
Ciao a tutti !!!

mi chiedevo se qualcuno sapeva dirmi come posso fare per leggere dei dati scrittti in un file ini o inf...... [sedia]

grazie in anticipo
[8D] ciao [8D] ciao [8D]

MessaggioInviato: ven dic 10, 2004 5:22 pm
da crazy.cat
Notepad o un editor di testo qualsiasi.

MessaggioInviato: ven dic 10, 2004 5:26 pm
da SuperRomu
crazy.cat ha scritto:Notepad o un editor di testo qualsiasi.


ehm ehm scusatemi......

per leggerli con Visual basic 6........ [!!!]

MessaggioInviato: ven dic 10, 2004 5:26 pm
da Ices_Eyes
Ma intendi con visual basic??? [?]
Non ti è sufficiente aprire il file e leggere? [?]

Se si spostiamo...

MessaggioInviato: ven dic 10, 2004 5:27 pm
da Robby78
X Leggere un file INI devi fare questa dichiarazione in un modulo:

Private 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

x usarla i parametri sono:
(Section, Entry, [valore di ritorno se nn viene trovata la entry], [valore di ritorno se viene trovata la entry], [lunghezza del 4 parametro], [path completo del file])

X scrivere:

Private 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

x usarla i parametri sono:
(Section, Entry, [valore da scrivere], [path completo del file])

Ciao

MessaggioInviato: ven dic 10, 2004 5:34 pm
da SuperRomu
grazie.... una cosa ma come si usa la sintassi non mi è molto chiaro [cry] [cry+] .... puoi farmi qualche esempio ?? [cry+]

[:I] [:I] [:I]

MessaggioInviato: ven dic 10, 2004 5:41 pm
da Robby78
si, tu copi le dichiarazioni che ti ho scritto nel post precedente in un modulo, dopodikè le puoi usare all'interno del programma; ad es:

Call WritePrivateProfileString("Sezione di Prova", "Entry di Prova", "Testo","c:\ciccio.ini")

questa istruzione scrive nel file c:\ciccio.ini questo:

[Sezione di Prova]
Entry di Prova=Testo

se poi vuoi leggerla fai così:

dim sRead as string

Call GetPrivateProfileString("Sezione di Prova", "Entry di Prova", "?",sRead,255,"c:\ciccio.ini")

questa istruzione ti riporta nella variabile sRead una stringa di 255 caratteri giustificata con chr(0) in coda quello che hai scritto nell'istruzione precedente; nel caso la Entry nn esista invece ti ritorna il valore di default "?"

tutto chiaro? :)

MessaggioInviato: ven dic 10, 2004 5:46 pm
da SuperRomu
Ok ti ringrazio. !!!!

ora vedo un po se riesco ad usarla come dico io.

Ti farò sapere e se nn riesce ti assillero !!!!!! [:-D]


[afro] [afro] [afro] [afro]

MessaggioInviato: ven dic 10, 2004 5:53 pm
da Robby78
[8D] ok! ma ti avverto che fino a lunedì sono troppo off line!

MessaggioInviato: ven dic 10, 2004 6:00 pm
da SuperRomu
no.................
mi crasha vb6 quando esegue la lettura..........
xchè? [cry+] [cry+] [cry+] [cry+]

MessaggioInviato: lun dic 13, 2004 8:49 am
da Robby78
SuperRomu ha scritto:no.................
mi crasha vb6 quando esegue la lettura..........
xchè? [cry+] [cry+] [cry+] [cry+]

mmm nn mi è mai capitato.... assicurati di aver installato l'ultimo service pack (credo sia il 5), poi prova a mettere il 255 dentro una variabile prima di passarlo alla funzione...

MessaggioInviato: lun dic 13, 2004 8:59 am
da Robby78
SuperRomu ha scritto:no.................
mi crasha vb6 quando esegue la lettura..........
xchè? [cry+] [cry+] [cry+] [cry+]


aspetta forse ho capito... prova così:


dim sRead as string

sRead = String$(255, 32)

Call GetPrivateProfileString("Sezione di Prova", "Entry di Prova", "?",sRead,255,"c:\ciccio.ini")

Formatto la stringa di ritorno della stessa lunghezza richiesta alla funziuone GetPrivateProfileString (255)

MessaggioInviato: lun dic 13, 2004 2:07 pm
da SuperRomu
siiiiiiiiiii ora funziona!!!!

grazie!! tnx [applauso] [applauso] [applauso]