Avatar billede dd_ns Nybegynder
02. juni 2003 - 12:36 Der er 4 kommentarer og
1 løsning

hjælp til udbygelse af lidt kode

JEg har det her:

Dim myfile, mypath, myname, filen
mypath = "d:\"
myname = Dir(mypath, vbdirectory)
do ehile myname <> ""
if myname <> "." and myname <> ".." then
if (getattr(mypath & myname) and vbdirectory) = vbdirectory then
debug.print myname
msgbox mypath & myname
end if
end if
myname = dir
loop



Men når den så har taget det første dir (d:\ost) så skal den prøve at kigge i ost om der er nogle subdir der, og hvis der er så skal den kigge i det om der er nogle der, osv....

Det kan sku da ikke være så svært
Avatar billede zapzap Nybegynder
02. juni 2003 - 14:22 #1
Klassiker for rekursiv procedure:

Sub DoDir ( RelativRod as string )
  ... din kode her ...
  if directory then
      DoDir myPath
  End if

End Sub
Avatar billede dd_ns Nybegynder
02. juni 2003 - 14:38 #2
Det der kan jeg jo så absolut ikke bruge til noet
Avatar billede zapzap Nybegynder
02. juni 2003 - 15:15 #3
Hvorfor ikke det? Fidusen er flg.
DoDir behandler eet directory, nemlig det den får som parameter RelativRod. Hver gang den ser et katalog, skal den kalde sig selv. Så hvis  du kalder med
sub main
  DoDir "D:\"
end sub

og D: har Ost og Øl, så finder DoDir dem jo - det kan din kode nu.
Når den så ser et dir, kalder den sig selv:
if .... = vbDirectory then
    DoDir myPath + myName (evt. + "\" )
end if

Så bliver kaldene:
  DoDir "D:\"
    som kalder
    DoDir "D:\Ost"
      Som kalder ???
    DoDir "D:\Øl"
Avatar billede dd_ns Nybegynder
02. juni 2003 - 15:15 #4
jeg har faktisk lavet det, men tak
Avatar billede mbl Juniormester
04. juni 2003 - 21:50 #5
Kig lige på dette, det virke.!!!

http://www.eksperten.dk/spm/351922
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