Avatar billede tax Nybegynder
15. juli 2002 - 11:11 Der er 1 kommentar og
1 løsning

arrays

Jeg har en funktion som leder efter filer. Det returnerer et array af strenge og på plads 0 i dette array står antallet af strenge der er fundet.

Mit problem er at jeg skal lægge flere af disse arrays sammen i et array med samme format. (antallet af strenge skal stå på plads 0)

Jeg fucker lidt i mine redim kald osv. derfor vil jeg gerne høre hvad man ellers kan gøre.



eksempelkode:

Dim searchpath  As Integer
        searchpath = FreeFile
        Open "searchpath.txt" For Binary As searchpath
       
        Do While Not EOF(searchpath)
              Dim tempvar As String
              Line Input #searchpath, tempvar
              Debug.Print tempvar
              ret = Find.Search(tempvar, "*.doc") 'get array of doc files. address 0 indicates hitcount
             
              ReDim Preserve accret(accret(0) + ret(0))
             
              Dim mx As Integer
              For mx = 1 To ret(0) Step 1
                    accret(accret(0) + mx) = ret(mx)
              Next mx
              accret(0) = UBound(accret)
             
        Loop
        Close searchpath


jeg får også en fejl med at filen har nået EOF ?!! det synes jeg geh tjeckker på allerede?
Avatar billede tjacob Juniormester
16. juli 2002 - 10:09 #1
Hvis hver streng kun fylder en plads i arrayet, behøver du jo ikke antallet. Det kan altid findes som Ubound(array) + 1.

MHT EOF:  Dine 3 øverste linier ser underlige ud, med noget navne sammenblanding:

searchpath er både en integer og et filnavn? Får du overhovedet åbnet en fil?
Du kunne prøve at ændre din Do linie til:
Do Until EOF(searchpath)

MHT Redim:

Når du lægger arrays sammen: Har du taget højde for (0)-pladsen? Tælles den med?

Bortset fra det ser din kode godt nok ud.
Undtagen: ret = Find.Search(tempvar, "*.doc").
Jeg har ingen anelse om hvad der sker her. Det ser lidt underligt ud at du refererer til et array (ret) uden argumenter: ret =... skulle vel være ret(x) = ...
Har du tjekket at ret() returneres korrekt?

/tjacob
Avatar billede tax Nybegynder
04. marts 2003 - 16:52 #2
lukker
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester