Antivirusvivente (Normal User)
Rookie
Messaggi: 40
Iscritto: 26/07/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
|
|
ruggy94 (Member)
Guru
Messaggi: 890
Iscritto: 21/04/2008
|
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 |
Dim R as new IO.Streamreader(percorsofiledaleggere) Dim Opzioni(2) as int16 For X as byte=0 to 2 opzioni(x)=r.readline Next X r.close()
|
Ultima modifica effettuata da ruggy94 il 10/09/2009 alle 21:58 |
|
Hast (Normal User)
Rookie
Messaggi: 52
Iscritto: 09/04/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.
|
|
Antivirusvivente (Normal User)
Rookie
Messaggi: 40
Iscritto: 26/07/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 |
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If ComboBox1.SelectedIndex = 0 Then IO. File. WriteAllText("C:\MyLittlePlayer\settings.inf", "0" & vbCrLf ) ElseIf ComboBox1.SelectedIndex = 1 Then IO. File. WriteAllText("C:\MyLittlePlayer\settings.inf", "1" & vbCrLf ) ElseIf ComboBox1.SelectedIndex = 2 Then IO. File. WriteAllText("C:\MyLittlePlayer\settings.inf", "2" & vbCrLf ) ElseIf ComboBox1.SelectedIndex = 3 Then IO. File. WriteAllText("C:\MyLittlePlayer\settings.inf", "3" & vbCrLf ) ElseIf ComboBox1.SelectedIndex = 4 Then IO. File. WriteAllText("C:\MyLittlePlayer\settings.inf", "4" & vbCrLf ) ElseIf ComboBox1.SelectedIndex = 5 Then IO. File. WriteAllText("C:\MyLittlePlayer\settings.inf", "5" & vbCrLf ) ElseIf ComboBox1.SelectedIndex = 6 Then IO. File. WriteAllText("C:\MyLittlePlayer\settings.inf", "6" & vbCrLf ) ElseIf ComboBox1.SelectedIndex = 7 Then IO. File. WriteAllText("C:\MyLittlePlayer\settings.inf", "7" & vbCrLf ) End If If CheckBox1.Checked = True Then IO. File. AppendAllText("C:\MyLittlePlayer\settings.inf", "0" & vbCrLf ) ElseIf CheckBox1.Checked = False Then IO. File. AppendAllText("C:\MyLittlePlayer\settings.inf", "1" & vbCrLf ) End If If CheckBox2.Checked = True Then IO. File. AppendAllText("C:\MyLittlePlayer\settings.inf", "0" & vbCrLf ) ElseIf CheckBox2.Checked = False Then IO. File. AppendAllText("C:\MyLittlePlayer\settings.inf", "1" & vbCrLf ) End If End Sub
|
Sapreste dirmi come sovrascrivere invece che aggiungere?
|
|
r0gerblack (Ex-Member)
Pro
Messaggi: 70
Iscritto: 04/08/2008
|
bhe potresti provare a cancellare il file e poi riscriverlo, prova a mettere prima del codice di scrittura:
Codice sorgente - presumibilmente Plain Text |
IO.File.Delete(percorsofiledaleggere)
|
|
|
Antivirusvivente (Normal User)
Rookie
Messaggi: 40
Iscritto: 26/07/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?
|
|
r0gerblack (Ex-Member)
Pro
Messaggi: 70
Iscritto: 04/08/2008
|
Ma se il codice lo metti prima che il prog debba sovrascrivere i dati, che problema riscontri?
|
|
Antivirusvivente (Normal User)
Rookie
Messaggi: 40
Iscritto: 26/07/2009
|
Ok ho provato il tuo codice ed effettivamente funziona, non so che problema mi ero posto, però l'essenziale che funziona. Ti ringrazio
|
|
r0gerblack (Ex-Member)
Pro
Messaggi: 70
Iscritto: 04/08/2008
|
Prego !
|
|