Oppure

Loading
12/05/11 15:23
trasher
Ciao a tutti di nuovo, ho creato un file .ini semplice in questo formato
lingua=it

e lo leggo con:
  Dim strLinee As String() = File.ReadAllLines("miofile.ini")
        Dim lingua As String
        Dim key As String = "lingua"
        For Each strLinea As String In strLinee
            If strLinea.IndexOf("=") > -1 Then
                If key = strLinea.Split("=")(0) Then
                    lingua = strLinea.Split("=")(1)
                    If lingua = "en" Then
                       
                    ElseIf lingua = "it" Then

                    End If
                End If
            End If
        Next



avrei bisogno di scrivere invece dentro al file ini con la stessa sintassi con cui lo leggo o qualcosa di simile..possibilmente utilizzando le stesse variabili


Grazie per l'aiuto.
aaa
12/05/11 15:44
HeDo

purtroppo non ti sei spiegato...
aaa
12/05/11 16:37
noitide
Premessa: il metodo qui sotto è diverso dal tuo, l'ho usato per un mio programma, quasi certamente oggi sarà obsoleto ma a me non ha mai dato problemi e forse è più comodo della tua strada. Così puoi sia leggere che scrivere in un file .ini

Private Declare Unicode Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringW" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Int32, ByVal lpFileName As String) As Int32
    Private Declare Unicode Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringW" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long

Public Function ReadIniData(ByVal Section As String, ByVal Key As String, ByVal filename As String) As String
        Dim Valore As Long
        Dim RetVal As String = Space(256)
        Valore = GetPrivateProfileString(Section, Key, "<Nessun valore>", RetVal, RetVal.Length, filename)
        ReadIniData = Trim(RetVal.ToString)
    End Function

    Public Function WriteIniData(ByVal Section As String, ByVal Key As String, ByVal Value As String, ByVal filename As String) As String
        Dim Valore As Long
        Dim RetVal As String = Space(256)
        Valore = WritePrivateProfileString(Section, Key, Value, filename)
        WriteIniData = Trim(RetVal.ToString)
    End Function


P.S. quando usi la funzione readinidata assicurati di fare così
dim stringaottenuta as string = readinidata("tuasezione","tuavoce","percorsofile")
stringaottenuta = stringaottenuta.remove(stringaottenuta.Length - 1, 1) 

in parole povere elimini l'ultimo carattere della stringa, altrimenti essa non sarà manipolabile.

Spero di essere stato utile e chiaro :k:
Ultima modifica effettuata da noitide 12/05/11 16:42
aaa
12/05/11 16:44
Il Totem
IO.File.WriteAllText("file", "lingua=it";)
aaa