AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Funktion gesucht, die den tatsächlichen Pfadnamen ermittelt
Thema durchsuchen
Ansicht
Themen-Optionen

Funktion gesucht, die den tatsächlichen Pfadnamen ermittelt

Ein Thema von sundance · begonnen am 31. Aug 2016 · letzter Beitrag vom 5. Sep 2016
Antwort Antwort
Benutzerbild von sundance
sundance

Registriert seit: 9. Mai 2006
98 Beiträge
 
Delphi 7 Professional
 
#1

Funktion gesucht, die den tatsächlichen Pfadnamen ermittelt

  Alt 31. Aug 2016, 09:40
Also so ähnlich wie GetFullPathName() .
Das funktioniert gut mit GetFullPathName(".") -> "C:\Windows\System32"
liefert aber für GetFullPathName("c:\windows\system32") nur "c:\windows\system32" zurück.
Ich habe auch schon probiert mit FindFirstFile("c:\windows\system32") ; aber die Struktur WIN32_FIND_DATA enthält leider nur die unterste Ebene, hier "System32". Jetzt könnte man natürlich den gesamten Pfad damit abarbeiten, aber vielleicht gibt's da ja auch schon eine API-Funktion dafür...
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Funktion gesucht, die den tatsächlichen Pfadnamen ermittelt

  Alt 31. Aug 2016, 09:46
Ich versteh nicht so ganz was du willst.
Was soll denn deiner Meinung bei
GetFullPathName('c:\windows\system32')
rauskommen?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.739 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Funktion gesucht, die den tatsächlichen Pfadnamen ermittelt

  Alt 31. Aug 2016, 09:55
Ich sehe als Unterschied zwischen Soll und Ist nur die Großkleinschreibung. da könnte GetLongPathName helfen.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Funktion gesucht, die den tatsächlichen Pfadnamen ermittelt

  Alt 31. Aug 2016, 09:59
Da intern Windows keine Unterschied zwischen Groß- und Kleinschreibung macht, dürfte das egal sein. Es sei denn es geht um Eyecandy beim Anzeigen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.739 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Funktion gesucht, die den tatsächlichen Pfadnamen ermittelt

  Alt 31. Aug 2016, 10:00
Da intern Windows keine Unterschied zwischen Groß- und Kleinschreibung macht, dürfte das egal sein. Es sei denn es geht um Eyecandy beim Anzeigen.
Da, wo ich es verwende, geht es genau darum.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Funktion gesucht, die den tatsächlichen Pfadnamen ermittelt

  Alt 31. Aug 2016, 10:02
Dann schreib dir eine Funktion, die jeden Buchstaben nach eine Backslash groß schreibt.

Die Glaskugel hat ja mal funktioniert.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#7

AW: Funktion gesucht, die den tatsächlichen Pfadnamen ermittelt

  Alt 5. Sep 2016, 17:04
Da intern Windows keine Unterschied zwischen Groß- und Kleinschreibung macht, dürfte das egal sein.
Du meinst sicher:

Da das Win32-Subsystem keinen Unterschied zwischen Groß- und Kleinschreibung macht, dürfte das egal sein.


Denn sowohl Windows macht intern einen Unterschied und - es wird noch besser - NTFS ist es auch wichtig.

Aber wenn du ausdrücken wolltest, daß Groß- und Kleinschreibung in Windows für einen Delphiprogrammierer egal ist, hast du absolut recht. Denn aus dem Win32-Subsystem kommste mit Delphi im Prinzip nicht raus.

Wollte nur klarstellen, daß intern durchaus unterschieden wird und ich in meiner Funktion als Treiberentwickler sehr wohl einen Stream ("Dateiinstanz") unter verschiedenen Namen zu verschiedenen Zeitpunkten sehen kann - und zwar nicht nur während die Datei gerade umbenannt wird. Für mich ist das Flag OBJ_CASE_INSENSITIVE dann wichtig.

Es ist ohnehin fraglich, ob die "richtige" Schreibweise für Laufwerksbuchstaben groß oder klein ist...
Korrekt ist die Großschreibung. Guck mal mit WinObj (von Microsoft) in \GLOBAL?? (bzw. \DosDevices oder \?? vor Vista), dann weißte warum.

Übrigens kann man einfach - solange es sich um ASCII-Zeichen handelt - das Bit $20 (weil: Ord('a') - Ord('A') = $20) setzen um Kleinschreibung oder löschen um Großschreibung zu erzwingen.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

AW: Funktion gesucht, die den tatsächlichen Pfadnamen ermittelt

  Alt 5. Sep 2016, 19:31
Ja, genau so meinte ich es. Ich wollte nur nicht unnötig Verwirrung stuften.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz