Dim Buffer As String Dim Content(256000) As String Dim I As Long Dim X As Long
Sub Main() Open \"D:\\_level3.txt\" For Input As 1
Do Line Input #1, Buffer For X = 0 To I If Content(X) = Buffer Then GoTo NextLine Next X Content(I) = Buffer I = I + 1 \'DoEvents NextLine: Loop Until EOF(1)
I = I - 1 Close 1
Open \"D:\\_level3.txt\" For Output As 1 For X = 0 To I Print #1, Content(X) Next X
ARRGG!! det var noget af et EL GRANDE array du bruger der ... men det gør nok ikke så meget .. jeg prøver
Og tjaa .. 34 sekunder .. det er vel OK for en fil på over 16000 linier men hvor lang tid tager det med DoEvents ? (den er lidt essentiel når man vil bruge en progressbar)
Array\'et kan selvfølgelig sættes ned i størrelse, hvis man er nogenlunde sikker på størrelsen af filen. Men hvis der ellers er hukommelse nok, gør det intet, performance-mæssigt.
Nå .. ja, jeg kan godt se det er det hurtigste vi kommer op på. Det er også ligemeget det er et program der bare skal stå og \"lave noget\" .. der er ingen der skal bruge den computer det kommer til at køre på.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.