Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    44

    [VB.NET] leggere 16 righe da file di testo ed inserirle in 16 textbox

    come faccio ad inserire alcune righe da un file di testo ed inserirle in altrettante textbox?
    vi posto un esempio del file di testo:

    DATA: 12 GENNAIO 2011
    LOCALE: CICCIOBELLO
    APPARECCHIO LS: 887
    CONTATORE TOTALE IN: 12700
    CONTATORE TOTALE OUT: 8700
    PARZIALE IN: 6788
    PARZIALE OUT: 4345
    CASSETTO: 2443
    TASSE: 967,29
    NETTO: 1476
    QUOTA BAR: 738
    QUOTA NOI: 738
    SCONTO: 8
    TOTALE DA RICEVERE: 1697
    RECUPERO:2000
    SOSPESO: 1000
    ########################

    questo vorrei che fosse inserito nelle textbox come segue:
    le label avranno il nome e le textbox devono contenere i numeri che seguono, ad esempio: label1.text= locale
    textbox1.text= cicciobello
    label2.text= contatore totale in
    textbox2.text = 12700

    come si vede dal file di testo, sono 16 righe che dovranno andare in 16 textbox

    spero di essere stato chiaro.

  2. #2
    Lo puoi fare con un semplice StreamReader... Non uso VB e questo codice e' in C# ma facile da adattare

    codice:
    using (StreamReader reader = new StreamReader("miofile.txt")
    {
       // contatore di righe
       int count = 0;
       while (reader.Read())
       {
          // incremento di 1
          count++;
          // prelevo il controllo dalla form
          string nomeControllo = "textBox" + count.ToString()
          TextBox controllo = miaForm.Controls ...
          controllo.Text = reader.Split(":")[1];
       }
    }
    In pratica mentre leggi una riga, usi la funzione Split della classe String per dividere in un array di stringhe la riga, dividendola usando il carattere ":", il primo pezzo lo metti nella label e il secondo nella textbox.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    44
    non so come adattarlo, potresti essere più preciso?

  4. #4
    Utente di HTML.it L'avatar di ShaleN
    Registrato dal
    Aug 2010
    Messaggi
    517
    Ecco il codice riadattato:

    codice:
    using reader As New IO.StreamReader("miofile.txt")
       'contatore di righe
       Dim count As Integer = 0;
       While reader.Read()
          'incremento di 1
          count+=1;
          'prelevo il controllo dalla form
          Dim nomeControllo as String = "textBox" + count.ToString()
          Dim controllo As TextBox = miaForm.Controls ... 'Basta cercare su Google e capisci.
          controllo.Text = reader.Split(":")(1); 'Questo non l'ho mai fatto, non so se funzia ma credo di sì.
       End While
    End Using
    Le vie del Signore sono infinite. È la segnaletica che lascia a desiderare.
    La luce viaggia più veloce del suono. Per questo alcune persone sembrano brillanti finchè non parlano.
    Occhio per occhio uguale... occhio al quadrato

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    44
    grazie shalen adesso provo a capirci

  6. #6
    Utente di HTML.it L'avatar di ShaleN
    Registrato dal
    Aug 2010
    Messaggi
    517
    @fifiddu

    Mi sono accorto di qualche errore nel codice che ho postato: tutti i ;(punti e virgola) presenti alla fine di una riga vanno rimossi.

    Scusa per la svista.

    Le vie del Signore sono infinite. È la segnaletica che lascia a desiderare.
    La luce viaggia più veloce del suono. Per questo alcune persone sembrano brillanti finchè non parlano.
    Occhio per occhio uguale... occhio al quadrato

  7. #7
    Originariamente inviato da ShaleN
    Ecco il codice riadattato:

    codice:
    using reader As New IO.StreamReader("miofile.txt")
       'contatore di righe
       Dim count As Integer = 0;
       While reader.Read()
          'incremento di 1
          count+=1;
          'prelevo il controllo dalla form
          Dim nomeControllo as String = "textBox" + count.ToString()
          Dim controllo As TextBox = miaForm.Controls ... 'Basta cercare su Google e capisci.
          controllo.Text = reader.Split(":")(1); 'Questo non l'ho mai fatto, non so se funzia ma credo di sì.
       End While
    End Using
    Scusate l'intromissione. Se la riga è uguale a Nothing la sub si interrompe anche se il file non è terminato. O sbaglio ?=?

  8. #8
    Utente di HTML.it L'avatar di ShaleN
    Registrato dal
    Aug 2010
    Messaggi
    517
    Sbagli, perchè la funzione .read() ritorna true se esiste un'altra riga, mentre ritorna false se si è raggiunta la fine del file. Una riga vuota non equivale alla fine del file(o almeno così o letto).

    Le vie del Signore sono infinite. È la segnaletica che lascia a desiderare.
    La luce viaggia più veloce del suono. Per questo alcune persone sembrano brillanti finchè non parlano.
    Occhio per occhio uguale... occhio al quadrato

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.