nochmals die DIR.Funktion

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: nochmals die DIR.Funktion

Re: nochmals die DIR.Funktion

von wega » Mo, 04.10.2010 20:14

Hallo Bernd,

erstmal vielen Dank für Deine Antwort.
Werde mir die Funktion einmal einbauen.

mit freundlichem Gruß
Werner

Re: nochmals die DIR.Funktion

von bst » Mo, 04.10.2010 17:21

Hi Werner,

Du müsstest mit den Verzeichnissen die Du in ShowDir bestimmst - das sind die Teile der 1. Ebene - rekursiv ShowDir wieder aufrufen und die neuen Unterverzeichnisse dabei an die Gesamtliste anhängen.

Da das mit Dir vermutlich ziemlich 'ätzend' ist (zu mindestens ist das in M$ VBA so...) mache das vielleicht besser und auch leichter hiermit:

http://www.starbasicfaq.de/Wiekannmandi ... ml#Zweig63

HTH, Bernd

nochmals die DIR.Funktion

von wega » Mo, 04.10.2010 13:05

Hallo zusammen,

der nachfolgende code funktioniert nur halbwegs richtig.

Er gibt nur die Hauptverzeichnisse zurück und nicht die Unterverzeichnisse.
Ebenfalls werden dann auch nur die Dateien gefunden, nach denen gesucht wird, die in den Hauptveruzeichnissen stehen.
Dateien in den unterverzeichnissen werden ignoriert.

Code: Alles auswählen

Sub ShowDir
	dim NextDir as string
	dim AllDirs as string
	dim i as integer
	
	i=1
	AllDirs =""
	NextDir = Dir("C:\*",16)
	
	While NextDir <>""
		Liste(i) = NextDir
		AllDirs = AllDirs & chr(13) & NextDir
		NextDir = Dir
		i=i+1
	Wend
	
	MsgBox AllDirs
	'liste_zeigen liste(),i
	ShowFile liste(),i
end sub

Sub ShowFile (liste(),i)
	dim NextFile as string
	dim AllFiles as string
	dim pfad as string
	dim spfad as string
	dim n as integer
	
	AllFiles =""
	'NextFile = Dir("C:\*",0)
	for n = 1 to i
		pfad = "C:\" & liste(n) & "\"
		spfad = pfad & "*.igs"
		'msgbox spfad
		Nextfile = Dir(spfad,0)
		'msgbox  Dir(spfad,0)
		'msgbox "durchsucht wird: " & Nextfile
	
	While NextFile <>""
		'msgbox pfad & "\" & Nextfile
		on error resume next
		DocFileDateTime = Split(FileDateTime(pfad & "\" & NextFile)," ")
		'msgbox DocFileDateTime(0) Jahreszahl
		'msgbox DocFileDateTime(1) 'Uhrzeit
		Allfiles = AllFiles & chr(13) & pfad & "\" & NextFile & "\" & DocFileDateTime(0) & "\" & DocFileDateTime(1)
		NextFile = Dir
	Wend
	next n
	MsgBox AllFiles
end sub

sub liste_zeigen (liste(),i)
	dim n as integer
	
	for n=1 to i
		print liste(n)
	next n 


end sub
Was muß ich abändern, was mache ich da nicht richtig?

mit Gruß
Werner

Nach oben