Questo sito utilizza cookie tecnici e di terze parti. Continuando la navigazione sul nostro sito accetti l'uso dei cookie. Per saperne di più leggi l'informativa sui cookie.   


lettura file testo e visualizzazione dati su una textbox
Ultimo messaggio: 07 nov 2018 08:48 di SirJo. 5 Risposte.
Stampa gradevole
Solo gli utenti registrati possono rispondere ad una discussione.
Avatar
samuorchio
Messaggi: 3
Iscritto dal: 29 ott 2018 20:06
Utente
Utente

01 nov 2018 08:21

Buon giorno a tutti sono nuovo del sito che trovo interessantissimo, mi sono iscritto perché sono interessato a creare piccoli programmi in VB .

Sto creando questo programmino per leggere un file di testo per riga e visualizzare i dati letti su una textbox.   il tutto funziona solo volevo creare un sistema per far ripetere la lettura del file ogni 2 minuti e ripetere il ciclo sempre lo stesso.  lettura per riga e ripetizione da capo del file.

Ho provato con un ciclo for next  sotto timer ma non mi funziona come potrei fare.

grazie di un piccolo aiuto.  

Public Class Form1

Dim disco1 As System.IO.File

Dim leggi1 As System.IO.StreamReader

Dim riga1 As String

Dim i As Integer

 


 


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.Size = Screen.PrimaryScreen.WorkingArea.Size 'per vedere a schermo intero

Me.Location = Screen.PrimaryScreen.WorkingArea.Location 'per vedere a schermo intero


End Sub

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

Button1.BackColor = Color.Red 'premi bottone 1 e diventa rosso

leggi1 = disco1.OpenText("e:\rgb100.txt") 'legge i dati dal file e li mette in leggi1


Timer1.Start()

End Sub


 

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick

 

riga1 = leggi1.ReadLine()

TextBox1.Text = riga1

ListBox1.Items.Add(riga1)

 

 

 

End Sub

End Class

    Avatar
    SirJo
    Messaggi: 2319
    Iscritto dal: 30 apr 2012 09:43
    Utente
    Utente

    01 nov 2018 11:58
    sinceramente non si capisce molto e quindi non possiamo esserti utile

    hai scritto textbox ma poi si legge listbox

    hai scritto riga ma non ho capito se devi visualizzare una riga ogni 2 minuti o che altro

    il file lo apri e poi non lo chiudi, sbagli, devi aprirlo, metterlo in un array di string e poi ciclare

    spiega meglio
      Avatar
      samuorchio
      Messaggi: 3
      Iscritto dal: 29 ott 2018 20:06
      Utente
      Utente

      01 nov 2018 18:03

      devo leggere il file per riga e visualizzare la lettura ogni 2 minuti su textbox e listbox

      e ripetere questo ciclo all'infinito.

      grazie per la tempestiva risposta.

        Avatar
        SirJo
        Messaggi: 2319
        Iscritto dal: 30 apr 2012 09:43
        Utente
        Utente

        01 nov 2018 18:21
        ancora non ho capito cosa vuol dire "leggere per riga"
        intendi che devi leggere solo una riga e visualizzare solo quella ??
        lo devi visualizzare tutto il file o solo la prima riga ??
          Avatar
          samuorchio
          Messaggi: 3
          Iscritto dal: 29 ott 2018 20:06
          Utente
          Utente

          01 nov 2018 20:01

          il file è fatto di tante righe ed ogni riga è un numero , io devo leggere tutto il file composto da 100 righe file di testo . e mandare il valore letto da ogni riga ai visualizzatori.

          il timer mi serve perché

          il singolo valore deve essere mandato al visualizzatore ogni 2 minuti alla fine dei 100 valori senza fermarsi ricomincia da capo (lettura valore e visualizzatori).

           

           

            Avatar
            SirJo
            Messaggi: 2319
            Iscritto dal: 30 apr 2012 09:43
            Utente
            Utente

            07 nov 2018 08:48
            boh, forse non ho capito io ma mi sembra molto banale.

            Prima leggi tutto il file con:
            Dim righe = System.IO.File.ReadAllLines("e:\rgb100.txt")
            e inizializzi il puntatore con:
            Dim ptr = 0
            chiami il timer per far visualizzare il primo valore
            Timer1_Tick(Nothing, Nothing)
            e fai partire il timer per le successive letture
            Timer1.Start()

            a questo punto, dentro l'evento Timer1_Tick gestisci il tutto:

            TextBox1.Text = righe(ptr)
            ptr += 1
            If ptr >= righe.Length Then ptr = 0


            Sergio

              Solo gli utenti registrati possono rispondere ad una discussione.