Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ciao, oggi deve essere la giornata dei "problemini"
Devo dimensionare un array che contenga i valori letti da un file di testo. La mia, in verità povera, idea era di leggere il file per contarne le righe e poi dimensionare l'array.
Quando eseguo il codice sottostante si blocca come in un loop infinito. Se decommento la msgbox tutto funziona (chiaramente cliccando una marea di volte ok)
Codice sorgente - presumibilmente VB.NET
Try
Dim NumeroRigheFile AsInteger= 0
Dim fr AsNew IO.StreamReader(IO.Path.GetTempPath&"\AspedCustoBridgeArray.temp")
a parte tutto esiste la funzione File.ReadAllLines che restituisce l'array delle linee del file senza preoccuparti di leggerlo "a mano".
cmq il tuo codice non funziona perchè la eof (ma anche in c) ti dice se è stata raggiunta la fine del file... ma devi andare avanti a leggerlo non basta chiamarla n volte una per riga, non siamo mica nel mondo delle favole in cui il codice ti legge nella mente e capisce cosa vuoi fare
se tu aggiungessi (ipoteticamente) una read dentro il ciclo lui manderebbe avanti il cursore all'interno del file fino ad arrivare alla fine, ma a seconda della dimensione della read avresti il conto dei bytes o qualche suo multiplo.
se volessi con questo approcio "contare" i ritorni a capo devi fare proprio quello... contare i ritorni a capo leggendo char per char e ogni volta che incontri un '\n' aumetare il conteggio.
ripeto però, il tuo metodo è altamente inefficiente, dipende ovviamente dalle dimensioni del file, da cosa ci devi fare e da tante altre cose, ma considerando una dimensione accettabile per un file di testo File.ReadAllLines fa per te.