Oppure

Loading
07/06/10 14:55
dylan666
Salve a tutti,
ho ben presente il ciclo per la lettura di un TXT linea per linea in modo da leggere tutte le righe di un testo, ma nel caso io volessi solo (dico per dire) la riga numero 2?

Grazie della risposta
aaa
08/06/10 7:38
dylan666
Il codice postato nell'altra discussione è il seguente:

Dim stringa As String, x As Integer, i As Integer

Open "lista.txt" For Input As #1
For x = 0 To i = 2   ' i = numero della riga da leggere
Line Input #1, stringa
MsgBox (stringa)
Next x
Close #1


Mettiamo caso che io voglia fare un MsgBox(stringa) solo e unicamente della seconda riga
Io provo quel codice ma mi fa il MsgBox con dentro sempre la prima riga, come mai?

Grazie ancora della vostra preziosa collaborazione
aaa
08/06/10 8:14
Alfonso
L'errore e quì:

For x = 0 To i = 2

Se vuoi che i sia uguale a due devi dichiararlo prima del for

i = 2
For x = 0 To i

Così come è scritto viene preso in considerazione come valore i=2 dove i in vb6, essendo stato appena dichiarato, è uguale a 0, per cui quella uguaglianza dà come risultato falso, ovvero 0
Ultima modifica effettuata da Alfonso 08/06/10 8:20
aaa
08/06/10 13:41
dylan666
Ho cambiato il codice così:

Private Sub Command1_Click()
Dim stringa As String, x As Integer, i As Integer
i = 1

Open "lista.txt" For Input As #1
For x = 0 To i    ' i = numero della riga da leggere
Line Input #1, stringa
MsgBox (stringa)
Next x
Close #1
End Sub


Ma nemmeno così funziona... il ciclo passa tre volte sul MsgBox e mi legge tutti e tre le righe invece di una solamente...

Ho sbagliato io?
aaa
08/06/10 14:47
Alfonso
Da come l'hai scritta direi che passa due volte su MsgBox, ovvero con x=0 e x=1.
Se vuoi vedere solo quando x=1
For x = 0 To i    ' i = numero della riga da leggere
  Line Input #1, stringa
  If x=1 then
    MsgBox (stringa)
  end if
Next x
aaa
10/06/10 5:51
dylan666
Speravo si riuscisse a fare solo con il ciclo e senza usare un IF
Se così non è, grazie del prezioso suggerimento
aaa
10/06/10 9:26
Alfonso
Ma allora il MsgBox non lo metti dentro al ciclo.
effettui il ciclo e una volta finito guardi la stringa.
i = 1
For x = 0 To i    ' i = numero della riga da leggere
  Line Input #1, stringa
Next x 
MsgBox (stringa)
aaa