Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Scrivere in un file .ini
Forum - C# / VB.NET - Scrivere in un file .ini

Avatar
trasher (Normal User)
Newbie


Messaggi: 6
Iscritto: 09/05/2011

Segnala al moderatore
Postato alle 17:23
Giovedì, 12/05/2011
Ciao a tutti di nuovo, ho creato un file .ini semplice in questo formato
lingua=it

e lo leggo con:
Codice sorgente - presumibilmente VB.NET

  1. Dim strLinee As String() = File.ReadAllLines("miofile.ini")
  2.         Dim lingua As String
  3.         Dim key As String = "lingua"
  4.         For Each strLinea As String In strLinee
  5.             If strLinea.IndexOf("=") > -1 Then
  6.                 If key = strLinea.Split("=")(0) Then
  7.                     lingua = strLinea.Split("=")(1)
  8.                     If lingua = "en" Then
  9.                        
  10.                     ElseIf lingua = "it" Then
  11.  
  12.                     End If
  13.                 End If
  14.             End If
  15.         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.

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
2
Down
V
Segnala al moderatore
Postato alle 18:44
Giovedì, 12/05/2011
IO.File.WriteAllText("file", "lingua=it")

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Up
0
Down
V
Segnala al moderatore
Postato alle 17:44
Giovedì, 12/05/2011

purtroppo non ti sei spiegato...

PM
Avatar
noitide (Normal User)
Pro


Messaggi: 107
Iscritto: 24/06/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 18:37
Giovedì, 12/05/2011
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

Codice sorgente - presumibilmente VB.NET

  1. 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
  2.     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
  3.  
  4. Public Function ReadIniData(ByVal Section As String, ByVal Key As String, ByVal filename As String) As String
  5.         Dim Valore As Long
  6.         Dim RetVal As String = Space(256)
  7.         Valore = GetPrivateProfileString(Section, Key, "<Nessun valore>", RetVal, RetVal.Length, filename)
  8.         ReadIniData = Trim(RetVal.ToString)
  9.     End Function
  10.  
  11.     Public Function WriteIniData(ByVal Section As String, ByVal Key As String, ByVal Value As String, ByVal filename As String) As String
  12.         Dim Valore As Long
  13.         Dim RetVal As String = Space(256)
  14.         Valore = WritePrivateProfileString(Section, Key, Value, filename)
  15.         WriteIniData = Trim(RetVal.ToString)
  16.     End Function



P.S. quando usi la funzione readinidata assicurati di fare così
Codice sorgente - presumibilmente C# / VB.NET

  1. dim stringaottenuta as string = readinidata("tuasezione","tuavoce","percorsofile")
  2. 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 il 12/05/2011 alle 18:42
PM