Oppure

Loading
10/09/09 15:22
Antivirusvivente
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
aaa
10/09/09 19:15
ruggy94
Usa un IO.StreamReader(percorsofile), in particolare la funzione ReadLine.
Ho buttato giù qualche riga senza IDE, tanto per darti un'idea.
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 10/09/09 19:58
aaa
10/09/09 19:59
Hast
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.
aaa
10/09/09 20:30
Antivirusvivente
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

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?
aaa
10/09/09 20:50
r0gerblack
bhe potresti provare a cancellare il file e poi riscriverlo, prova a mettere prima del codice di scrittura:
IO.File.Delete(percorsofiledaleggere)
aaa
10/09/09 20:56
Antivirusvivente
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?
aaa
10/09/09 21:05
r0gerblack
Ma se il codice lo metti prima che il prog debba sovrascrivere i dati, che problema riscontri?
aaa
10/09/09 21:08
Antivirusvivente
Ok ho provato il tuo codice ed effettivamente funziona, non so che problema mi ero posto, però l'essenziale che funziona. Ti ringrazio :k:
aaa