ExamineDirectory erkennt "." und ".."

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: ExamineDirectory erkennt "." und ".."

Beitrag von ts-soft »

Mein PC ist deutsch, C:\ ist das Systemlaufwerk!

Wenn ich den Windows-Explorer öffne, befindet sich dort ein Ordner "Programme", genauso wie
"Dokumente und Einstellungen", diese existieren aber garnicht, es sind lediglich links, das kann man
aber im Explorer nicht unbedingt erkennen, andere Dateimanager zeigen diese falschen Ordner entweder
garnicht an, oder Kennzeichnen sie als Link.

Man darf Windows nicht mehr alles Glauben, was es anzeigt :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
CSHW89
Beiträge: 489
Registriert: 14.12.2008 12:22

Re: ExamineDirectory erkennt "." und ".."

Beitrag von CSHW89 »

ich wollte ja nur damit ausdrücken, dass wenn man ein projekt entwickelt, und es auch betriebsystem-unabhängig programmieren will, sich nicht darauf verlassen soll, das der ordner 'c:\programme\' existert. egal ob nun der benutzer vista, 7, oder doch xp hat. stattdessen sollte man

Code: Alles auswählen

GetEnvironmentVariable("ProgramFiles")
benutzen.
Bild Bild Bild
http://www.jasik.de - Windows Hilfe Seite
padawan hat geschrieben:Ich liebe diese von hinten über die Brust ins Auge Lösungen
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: ExamineDirectory erkennt "." und ".."

Beitrag von ts-soft »

Manchmal gibt der User auch den Pfad ein, und für den existiert alles, was er sieht!
Der PathRequester von PB zeigt mir auch C:\Programme an, gibt aber C:\Program Files zurück,
da ist man aus dem Schneider.

In meinem ja!Commander zeige ich ja auch die "falschen" Ordner an, verzweige aber in die richtigen
Ordner.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
HeX0R
Beiträge: 3040
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: ExamineDirectory erkennt "." und ".."

Beitrag von HeX0R »

Ist ja abartig, wieviel Code man braucht, um den echten Pfad zu erhalten :shock: .
Da sollte man dem User vielleicht einfach in Zukunft verbieten Pfade von Hand einzugeben und immer einen "Browse-Button" anbieten.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: ExamineDirectory erkennt "." und ".."

Beitrag von ts-soft »

Jetzt stell Dir vor, Du bist noch XP-User und hast hiervon noch nie gehört. Einer Deiner Anwender
macht Dich zur Schnecke und Du guckst Dir hilflos Deinen Source an :bounce:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: ExamineDirectory erkennt "." und ".."

Beitrag von c4s »

ts-soft hat geschrieben:Jetzt stell Dir vor, Du bist noch XP-User und hast hiervon noch nie gehört. Einer Deiner Anwender
macht Dich zur Schnecke und Du guckst Dir hilflos Deinen Source an :bounce:
*hust*
Also ganz verstanden habe ich noch immer nicht was es damit auf sich hat. Gibt es einfache Literatur um einen programmierenden noch XP-Nutzer einzuführen?
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: ExamineDirectory erkennt "." und ".."

Beitrag von ts-soft »

Einfache Literatur wird es wohl nicht geben, ich denke außer MSDN gibt es nicht viel.
Wenn ich nicht selber so einen Dateimanager programmiert hätte und da ich sowieso
nur alternative Dateimanager nutze, bin ich schnell über die Problematik gestolpert.
Hätte ich noch XP würde ich so was wie Dateimanager nicht machen wollen.

Genauso problematisch sind dann die Wow64 Sachen wegen 64-Bit und die heimlichen
Umlenkungen nach Virtual Store.

Das kann man sich ohne entsprechendes OS wohl nicht alles Trocken erarbeiten.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Re: ExamineDirectory erkennt "." und ".."

Beitrag von Thorium »

ts-soft hat geschrieben: Das kann man sich ohne entsprechendes OS wohl nicht alles Trocken erarbeiten.
Jo. Unter nem 64bit Vista/7 hast du gleich 2 Ordner für "Programme": "Program Files" und "Program Files (x86)".
Für 32bit Programme ist "Program Files (x86)" "Programme" und für 64bit Programme ist es "Program Files". :?
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
AndyMars
Beiträge: 141
Registriert: 08.09.2004 11:59
Computerausstattung: Win11 Prof 64bit, i5-13500 @ 4.8 GHz, 32GB RAM, Nvidia RTX 4070 TI
Wohnort: Zürich, Schweiz
Kontaktdaten:

Re: ExamineDirectory erkennt "." und ".."

Beitrag von AndyMars »

Zum Thema: "." und ".." auslassen ist in der Regel die normale zu empfehlende Verhaltensweise.

Wegen virtuellen Verzeichnissen unter Vista und Win7: Es ist nicht zwingend notwendig, immer zu wissen, was hinter einem virtuellen Pfad steht - man kann ihn einfach benutzen - oder ignorieren...
Ich hab da so ein Programm, welches rekursiv die Grösse von Verzeichnissen eruiert. Das "funktionierte" schon eine Weile unter Vista. Es zeigte unter Umständen einfach zu grosse Summen an. Falsch zwar, aber nicht weiter tragisch. Jetzt hab ich das im Prinzip so gelöst:

Code: Alles auswählen

Pfad.s="c:\"
SDir=ExamineDirectory(#PB_Any,Pfad,"*.*")
If SDir
	While NextDirectoryEntry(SDir)
		If ~DirectoryEntryAttributes(Sdir)&#FILE_ATTRIBUTE_REPARSE_POINT ;Vista, Win7 - virtuelle Verzeichnisse nicht scannen
  		DateiName$=DirectoryEntryName(SDir)
	  	If (DateiName$<>".") And (DateiName$<>"..")
	  		Debug DateiName$
	  	EndIf
	  EndIf
	Wend
	FinishDirectory(SDir)
EndIf
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: ExamineDirectory erkennt "." und ".."

Beitrag von ts-soft »

Wenn aber der Vater, also das an ExamineDirectory übergebene Verzeichnis ein Link ist,
gibts einen IMA.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten