Oppure

Loading
19/05/10 19:50
walker93
salve a tutti
ho una wordlist di 10140 parole (senza verbi) scritta in un file .txt
mi servirebbe velocizzare la lettura del file in quanto le parole sono molte
adesso uso un for each e l'istruzione IO.File.ReadAllLines("percorso";) che restituisce un array
solo che è troppo lento devo riuscire a velocizzare il tutto

P.S. non voglio fare l'hacker la wordlist non serve per beccare la password di qualcuno
aaa
19/05/10 20:09
Grubby
Prova ad aprirlo come fileopen(,,,,openmode.random) e a usare l'istruzione EOF per far scorrere tutte le parole intanto che le scorri le metti dove le devi mettere:)
fammi sapere se funziona
aaa
20/05/10 19:15
Il Totem
Tu prima leggi tutto il file, splitti le righe, ottieni l'array e scorri l'array. Sarebbe più diretto leggere e manipolare direttamente una riga alla volta dal file:
Dim Reader As New IO.StreamReader("file")
Dim Str As String

Do
    Str = Reader.ReadLine()
    '...
Loop Until Reader.EndOfStream

Reader.Close()


Un hacker non ruba password per definizione, è un uso improprio del termine. Se fossi in te vorrei essere un po' più hacker di così.
aaa
20/05/10 21:25
walker93
ma io adesso leggo già riga per riga...(parola per parola visto che ogni riga è una parola)
solo che col for each è stra-lento
cosi
Dim list() As String
list = IO.File.ReadAllLines("percorso\Dizionario.txt", System.Text.Encoding.ASCII)
        For Each par In list
            
                ris = diz.CheckGrammar(testo & " " & par)'controllo se sta bene
                If Not ris Then
                    ris = diz.CheckGrammar(par + " " + testo)'controllo inverso
                End If
                If ris Then
                    giu.Add(par)
                End If
         Next

tutto questo è in un background worker per non impallare il programma...
aaa
21/05/10 12:54
Il Totem
Prima di rispondere dovresti leggere le risposte un po' meglio. Tu NON leggi riga per riga, tu leggi TUTTE le righe e DOPO le elabori. Io ti ho detto di elaborarle MENTRE le leggi.
aaa
21/05/10 14:42
Federico_VbNet_Programmer
Prova con:
Richtextbox1.text = my.computer.filesystem.readalltext("file da leggere";)
'vorrei ottenere la seconda riga in un messaggio
messgabox.show(richtextbox1.lines(1)
;)
Dimmi se ti va bene ora
aaa
21/05/10 15:07
walker93
credo che la soluzione postata da totem sia la migliore

con il tuo metodo userei ancora un for each

for each linea in richtextbox1.lines
'.......
next

oppure un for

for i=0 to richtextbox1.lines.count - 1
par=richtextbox1.lines(i)
'.....
next
aaa