01. marts 2006 - 12:15Der er
5 kommentarer og 1 løsning
Læs fil ind i array
Hvad går galt her, jeg forsøger at læse indholdet af en tekst-fil ind i et array:
Dim FilNummer As Integer Dim MinStreng() As String Dim FilNavn As String Dim i As Integer FilNummer = FreeFile FilNavn = App.Path & "\oversigt.txt" Open FilNavn For Input As #FilNummer Do While Not EOF(FilNummer) 'Line Input #FilNummer, MinStreng(i) i = i + 1 Loop Close #FilNummer
Dim FilNummer As Integer Dim MinStreng() As String Dim FilNavn As String Dim i As Integer FilNummer = FreeFile FilNavn = App.Path & "\oversigt.txt" I = 1 Open FilNavn For Input As #FilNummer Do While Not EOF(FilNummer) redim preserve Minstreng(i) 'Line Input #FilNummer, MinStreng(i) i = i + 1 Loop Close #FilNummer
Hvis ikke du dimensioner array'et til en fast størrelse, må du anvende kommandoen Redim Preserve. Jeg vil anbefale, at du sætter array'et til en størrelse, du er sikker på et stor nok. Redim Preserve kan spare lagerplads i RAM, men med de ram-mængder nutidens maskiner har er det nærmest ligegyldigt. Der er dog også den fordel, at array'et ikke kommer til at indeholde tomme poster.
Når dit indeks er integer, kan du skrive Dim MinStreng(32000) As String, integer har en grænse dér. Skal der være plads til mere, må du bruge Long.
Altså ENTEN fast størrelse ELLER Redim Preserve - ikke både og!!
i = 0 Open FilNavn For Input As #1 Do While EOF(1) = False Redim Preserve minstreng(i + 1) Line Input #1, MinStreng(i) 'du har udkommenteret denne linie! i = i + 1 Loop Close #1
Man bør aldrig brug Variant[kabbak] da den er spild af hukommelse plads. Det er meget,meget,meget få seder det er nødvenidg med Variant. Men det er det ikke her. der String fint nok.
-Thomas
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.