Newsgroup: it.comp.lang.visual-basic
Titolo: Operazioni sui file .ini

Salve a tutti,
ho un piccolissimo problema:
ho un file ini che contiene le impostazioni del mio programma, adesso ho la
necessitą di eliminare una chiave, ma non so come si fą, allora ho messo i
valori del file in una matrice dinamica cosi potevo eliminarli dalla matrice
e poi sovrascrivere il file ini, ma non so nemmeno come si fa ad eliminare
un elemento di una matrice.
Potreste aiutarmi?
Grazie
Vincenzo

Ciao, invece che voler eliminare una cella di una matrice, non ti conviene
saltarla?
Mi spiego, tu metti tutti i dati del file in una matrice, poi riapri il file
in scrittura e cominci a fare un ciclo scrivendo le righe della matrice nel
file e saltando la riga che non vuoi scrivere.
    For i = 0 to ubound(matrice)
        if matrice( i ) <> StringaDaEliminare then
            print #NumFile, matrice( i )
        end if
    next i
Bye
--
Tango
www.af.mil
ICQ: 35463931

 necessità di eliminare una chiave, ma non so come si fà
Se il valore-stringa assegnato alla chiave è nullo (vbNullString)
la chiave viene eliminata.
Se stai usando WritePrivateProfileString(), ovviamente.


Se ti possono essere utili...queste le aveva postate qualcuno tempo fà
credo:
Ciao
Roberto
'API per gestire i file INI
'Esempi delle API che gestiscono i files di inizializzazione INI.
'Inviato da: Ettore Maronese
'
' *** Dichiarazione per leggere i files INI
'
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
'Esempio d 'uso:
'Legge dal file "c:\prj\miofile.ini" nella sezione "Generale" la voce
"UltimoWebmaster" e ritorna nella stringa StrAppo$ il suo valore. Se la voce
non esiste, torna la stringa "Sconosciuto". In Esito c'e' la lunchezza della
stringa di ritorno espressa in caratteri.
'    StrAppo$ = Space$(512)
'    Esito = GetPrivateProfileString("Generale", "UltimoWebmaster",
"Sconosciuto", StrAppo$, Len(StrAppo$), "c:\prj\miofile.ini")
'    UltimoVB$ = Left$(StrAppo$, Esito)
'
' *** Dichiarazione per scrivere i files INI
'
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
'Esempio d 'uso:
'Scrive la il contenuto della stringa NuovoValore$ nella voce
"UltimoWebmaster" nella sezione "Generale" nell'INI file
"c:\prj\miofile.ini"). Se il file, la sezione, la voce non esistono, vengono
creati. In Esito ci sono il numero di caratteri scritti.
'    Esito = WritePrivateProfileString("Generale", "UltimoWebmaster",
NuovoValore$, "c:\prj\miofile.ini")
'    UltimoVB$ = Left$(StrAppo$, Esito)
'
' *** 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
'Esempio d 'uso:
'Elimina dal file "c:\t\prova.ini" dalla sezione "Generale" la voce
"UltimoWebmaster"
'Esito = DeletePrivateProfileItem("Generale", "UltimoWebmaster", 0,
"c:\t\prova.ini")
'
' *** Dichiarazione per eliminare una sezione
'
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
'Esempio d 'uso:
'Elimina dal file "c:\t\prova.ini" l'intera sezione "Generale"
'    Esito = DeletePrivateProfileSection("Generale", 0, 0, "c:\t\prova.ini")
'
' *** Dichiarazione per ricavare l'elenco delle sezioni
'
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
'Esempio d 'uso:
'Ricava l 'intero elenco di tutte le sezioni presenti nel file
"c:\t\prova.ini". I nomi delle sezioni sono separate da un chr$(0). In Esito
torna la lunghezza della stringa di ritorno espressa in caratteri.
'    StrAppo$ = Space$(512)
'    Esito = GetListPrivateProfileSection(0, 0, "", StrAppo$, Len(StrAppo$),
"c:\t\prova.ini")
'    Elenco$ = Left$(StrAppo$, Esito)
'
' *** Dichiarazione per ricavare l'elenco delle voci presenti in una sezione
'
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
'Esempio d 'uso:
'Ricava l 'intero elenco di tutte le voci presenti nella sezione "Generale"
del file "c:\t\prova.ini". I nomi delle voci sono separate da un chr$(0). In
Esito torna la lunghezza della stringa di ritorno espressa in caratteri.
'    StrAppo$ = Space$(512)
'    Esito = GetPrivateProfileItems("Generale", 0, "", StrAppo$,
Len(StrAppo$), "c:\t\prova.ini")
'    Elenco$ = Left$(StrAppo$, Esito)
'
' *** Dichiarazione per ricavare l'elenco delle voci ed il valore presenti
in una sezione
'
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
'Esempio d 'uso:
'Ricava l 'intero elenco di tutte le voci con rispettivo valore presenti
nella sezione "Generale" del file "c:\t\prova.ini". I nomi delle voci sono
separate dal valore da un simbolo di uguale '=', e le linee sono separate da
un chr$(0). In Esito torna la lunghezza della stringa di ritorno espressa in
caratteri.
'    StrAppo$ = Space$(512)
'    Esito = GetPrivateProfileSection("Generale", StrAppo$, Len(StrAppo$),
"c:\t\prova.ini")
'    Elenco$ = Left$(StrAppo$, Esito)
'
' *** Dichiarazione per scrivere un elenco di voci e valore in una sezione
'
Declare Function WritePrivateProfileSection Lib "kernel32" Alias
"WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As
String, ByVal lpFileName As String) As Long
'Esempio d 'uso:
'Scrive nel file "c:\t\prova.ini" nella sezione "Generale", voce e valore
elencati nella stringa VociEValori$. Le voci devono essere separate dal
valore da un simbolo di uguale, le varie linee da un chr$(0) e a fine
stringa va aggiunto un chr$(0).
'    VociEValori$ = "Data=25/11/1998" & Chr$(10) & "Nome=Simone" & Chr$(0) &
Chr$(0)
'    Esito = WritePrivateProfileSection("Generale", VociEValori$,
"c:\t\prova.ini")
'---------------------------------------------------------------------------
-----
'Esempio:
'Queste 4 righe cercano nel file PathFileIni$ nella sezione [Generale] la
voce UltimoWebmaster, se non esiste torna "Sconosciuto" altrimenti il valore
scritto nell'ini file. poi viene riscritto giusto per inizializzare un ini
file vuoto (nuovo). Al termine esiste sicuramente tale file, e conterra'
qualcosa del tipo: [Generale] UltimoWebmaster=Sconosciuto
    '
    ' Ultimo nome di Webmaster usato
    '
 '   StrAppo$ = Space$(512)
 '   Esito = GetPrivateProfileString("Generale", "UltimoWebmaster",
"Sconosciuto", StrAppo$, Len(StrAppo$), PathFileIni$)
 '   UltimoNomeWebmaster = Left$(StrAppo$, Esito)
 '   Esito = WritePrivateProfileString("Generale", "UltimoWebmaster",
UltimoNomeWebmaster, PathFileIni$)

 ha scritto nel messaggio
news:XofX5.41713$hk4.1...@news.infostrada.it...


Potreste aiutarmi?
ho una classe gia' pronta, la vuoi? e' un po' confusionaria e non e' programmata
benissimo, ma funziona

 ha scritto nel messaggio
news:Xns9002DA...@127.0.0.1...
