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 - Dividere un testo separato da 10 virgole con l'istruzione 'instr'
Forum - C# / VB.NET - Dividere un testo separato da 10 virgole con l'istruzione 'instr'

Avatar
alpi39 (Normal User)
Pro


Messaggi: 63
Iscritto: 07/03/2008

Segnala al moderatore
Postato alle 19:50
Mercoledì, 28/05/2008
Buongiorno a chi mi leggerà ed u sentito grazie a chi vorrà aiutarmi.
Sono alle prime armi con Visual Basic,NET, e sto cimentandomi a scrivere un programma per un'Agenda Telefonica, programma con il quale finora sono riuscito a scrivere gli 11 dati di un nominativo ragruppandoli (separati da una virgola, per un totale di 10 virgole)in un'unica stringa.
Li ho separati da una virgola per poi dividerli con l'istruzione "instr" quando vorrò richiamarli e riposizionarli ognuno nella propria rispettiva TextBox,Text.
Questo il listato:
___________________________________________________
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        'Apre il file C:\Agenda.txt
        Dim r As New IO.StreamReader("C:\Agenda.txt")
        Dim Record As String = ""
        Dim A As Integer
        Dim Dato(11) As String
        'Fintanto che non si è raggiunta la fine del file...
        While Not r.EndOfStream
            'Legge una intera linea dal file C:\Agenda.txt e la assegna alla variabile Record
            Record = r.ReadLine
            For I = 1 To 10
                'Legge in quale posizione si trova la virgola
                'e ne assegna il valor alla variabile A
                A = InStr(Record, ",")
                'Assegna alla variabile Dato la porzione di Record
                'dall'inizio fino al punto precedente
                'dove si trova la virgola
                Dato = Left$(Record, A - 1)
                'Toglie alla variabile Record la parte di testo
                'assegnata alla variabile Dato eliminando anche
                'la virgola
                Record = Mid$(Record, A + 1, Len(Record))
            Next I
            'L'ultima parte di record, ormai senza virgola, viene
            'assegnata al Dato N°11
            Dato(11) = Record
        End While
        'Finita l'operazione di lettura, chiude il file
        r.Close()
    End Sub
___________________________________________________

Ora, (a me sembra) che il listato sia abbastanza corretto, ma VB.NET mi segnala questi due errori:
___________________________________________________

Errore    1    Il carattere tipo '$' non corrisponde al tipo dati dichiarato 'Integer'.    

Errore    2    'Public Property Left() As Integer' non ha parametri e il tipo restituito non può essere indicizzato.
___________________________________________________

Qualcuno può aiutarmi a capire a cosa si riferiscono i due errori? E magari confermarmi l'esattezza (o meno) del listato?
Un grazie anticipato.

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 17:51
Giovedì, 29/05/2008
Posto che hai usato solo funzioni di VB6 (e dichiarato Dato con un elemento in più), non ti sembra meglio questo codice?
Codice sorgente - presumibilmente VB.NET

  1. '...
  2. Dim Line As String
  3.  
  4. Do While Not R.EndOfStream
  5.   Line = R.ReadLine
  6.   If Line IsNot Nothing Then
  7.     Dato = Line.Split(",")
  8.   End If
  9. Loop


PM Quote