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 - Lettura di un file di configurazione in vb.net
Forum - C# / VB.NET - Lettura di un file di configurazione in vb.net

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Antivirusvivente (Normal User)
Rookie


Messaggi: 40
Iscritto: 26/07/2009

Segnala al moderatore
Postato alle 17:22
Giovedì, 10/09/2009
Ciao a tutti, sto concludendo la versione 1.1 del mio programma per vedere la TV in streaming, però avendo creato un menù opzioni, mi chiedevo se era possibile scrivere in un documento .inf tutte le relative informazioni, per scriverle ci sono, infatti appena un utente modifica delle opzioni e clicca su salva, in questo file vengono rispettivamente scritti determinati numeri che ricordano l'opzione.
Ora però, quando avvio il programma, vorrei che appunto queste opzioni vengano lette. Come posso fare ciò?
Le opzioni vengono scritte in 3 linee rispettivamente
1 linea da 0 a 7
2 linea da 0 a 1
3 linea da 0 a 1

Per ogni numero viene appunto determinata l'opzione

Ringrazio anticipatamente chi mi saprà aiutare

PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 21:15
Giovedì, 10/09/2009
Usa un IO.StreamReader(percorsofile), in particolare la funzione ReadLine.
Ho buttato giù qualche riga senza IDE, tanto per darti un'idea.
Codice sorgente - presumibilmente VB.NET

  1. Dim R as new IO.Streamreader(percorsofiledaleggere)
  2. Dim Opzioni(2) as int16
  3. For X as byte=0 to 2
  4. opzioni(x)=r.readline
  5. Next X
  6. r.close()


Ultima modifica effettuata da ruggy94 il 10/09/2009 alle 21:58
PM Quote
Avatar
Hast (Normal User)
Rookie


Messaggi: 52
Iscritto: 09/04/2009

Segnala al moderatore
Postato alle 21:59
Giovedì, 10/09/2009
Volendo potresti usare invece del file inf un app.config oppure creare un file txt e leggere le righe oppure creare un file binario da cui leggere le righe.
Con l'app.config che gestisci come un xml usi la classe ConfigurationManager.
Con il file txt o il binario invece crei un filestream e poi leggi direttamente le righe.
Con ReadLine nel txt e ReadInt32, ReadString ecc nel binario.

PM Quote
Avatar
Antivirusvivente (Normal User)
Rookie


Messaggi: 40
Iscritto: 26/07/2009

Segnala al moderatore
Postato alle 22:30
Giovedì, 10/09/2009
Perfetto risolto, ora però ho 1 altro problemuccio, in pratica ogni qual volta che salvo le impostazioni, non viene sovrascritta linea 1, 2 e 3, ma viene aggiunta una nuova linea.
Posto il codice che ho adottato

Codice sorgente - presumibilmente VB.NET

  1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  2.         If ComboBox1.SelectedIndex = 0 Then
  3.             IO.File.WriteAllText("C:\MyLittlePlayer\settings.inf", "0" & vbCrLf)
  4.         ElseIf ComboBox1.SelectedIndex = 1 Then
  5.             IO.File.WriteAllText("C:\MyLittlePlayer\settings.inf", "1" & vbCrLf)
  6.         ElseIf ComboBox1.SelectedIndex = 2 Then
  7.             IO.File.WriteAllText("C:\MyLittlePlayer\settings.inf", "2" & vbCrLf)
  8.         ElseIf ComboBox1.SelectedIndex = 3 Then
  9.             IO.File.WriteAllText("C:\MyLittlePlayer\settings.inf", "3" & vbCrLf)
  10.         ElseIf ComboBox1.SelectedIndex = 4 Then
  11.             IO.File.WriteAllText("C:\MyLittlePlayer\settings.inf", "4" & vbCrLf)
  12.         ElseIf ComboBox1.SelectedIndex = 5 Then
  13.             IO.File.WriteAllText("C:\MyLittlePlayer\settings.inf", "5" & vbCrLf)
  14.         ElseIf ComboBox1.SelectedIndex = 6 Then
  15.             IO.File.WriteAllText("C:\MyLittlePlayer\settings.inf", "6" & vbCrLf)
  16.         ElseIf ComboBox1.SelectedIndex = 7 Then
  17.             IO.File.WriteAllText("C:\MyLittlePlayer\settings.inf", "7" & vbCrLf)
  18.         End If
  19.  
  20.         If CheckBox1.Checked = True Then
  21.  
  22.             IO.File.AppendAllText("C:\MyLittlePlayer\settings.inf", "0" & vbCrLf)
  23.         ElseIf CheckBox1.Checked = False Then
  24.             IO.File.AppendAllText("C:\MyLittlePlayer\settings.inf", "1" & vbCrLf)
  25.         End If
  26.  
  27.         If CheckBox2.Checked = True Then
  28.             IO.File.AppendAllText("C:\MyLittlePlayer\settings.inf", "0" & vbCrLf)
  29.         ElseIf CheckBox2.Checked = False Then
  30.             IO.File.AppendAllText("C:\MyLittlePlayer\settings.inf", "1" & vbCrLf)
  31.         End If
  32.     End Sub



Sapreste dirmi come sovrascrivere invece che aggiungere?

PM Quote
Avatar
r0gerblack (Ex-Member)
Pro


Messaggi: 70
Iscritto: 04/08/2008

Segnala al moderatore
Postato alle 22:50
Giovedì, 10/09/2009
bhe potresti provare a cancellare il file e poi riscriverlo, prova a mettere prima del codice di scrittura:
Codice sorgente - presumibilmente Plain Text

  1. IO.File.Delete(percorsofiledaleggere)


PM Quote
Avatar
Antivirusvivente (Normal User)
Rookie


Messaggi: 40
Iscritto: 26/07/2009

Segnala al moderatore
Postato alle 22:56
Giovedì, 10/09/2009
in questo modo ci sarebbe moolto più codice in più, che secondo me sarebbe inutile, perchè dovrei star a recuperare di nuovo i dati. Non c'è una maniera più veloce?

PM Quote
Avatar
r0gerblack (Ex-Member)
Pro


Messaggi: 70
Iscritto: 04/08/2008

Segnala al moderatore
Postato alle 23:05
Giovedì, 10/09/2009
Ma se il codice lo metti prima che il prog debba sovrascrivere i dati, che problema riscontri?

PM Quote
Avatar
Antivirusvivente (Normal User)
Rookie


Messaggi: 40
Iscritto: 26/07/2009

Segnala al moderatore
Postato alle 23:08
Giovedì, 10/09/2009
Ok ho provato il tuo codice ed effettivamente funziona, non so che problema mi ero posto, però l'essenziale che funziona. Ti ringrazio :k:

PM Quote
Avatar
r0gerblack (Ex-Member)
Pro


Messaggi: 70
Iscritto: 04/08/2008

Segnala al moderatore
Postato alle 23:12
Giovedì, 10/09/2009
Prego :k:!

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo