![]() |
Langer Dateiname bzw. langer PathName in kurzen umwandeln
Hi,
ich kanns einfach nirgends finden hier aber ich weis es gibts schon 100e male hier. Wie kann ich den langen Dateinamen oder sogar besser einen zu langen Path in einen kurzen umwandeln? Danke! |
Re: Langer Dateiname bzw. langer PathName in kurzen umwandel
Du meinst in ein 8+3 Format?
Dann mit GetShortPathName; :wink: |
Re: Langer Dateiname bzw. langer PathName in kurzen umwandel
Wir kommen der Sache schon naeher. Ich suchte nach ShortPathName :-(
Hm gibts auch ne Funktion die sowas erzeugt? c:\Test\...\FileName.xxx? |
Re: Langer Dateiname bzw. langer PathName in kurzen umwandel
Ich denke mal, das es die sicher gibt, aber weil ich nicht weiß, wie die heißt habe ich mir mal selber ein Makro geschrieben :stupid:
|
Re: Langer Dateiname bzw. langer PathName in kurzen umwandel
Zum Anzeigen ja. Entwedermit
![]() ![]() |
Re: Langer Dateiname bzw. langer PathName in kurzen umwandel
|
Re: Langer Dateiname bzw. langer PathName in kurzen umwandel
Moin ...,
zumindest bei D6 ist die Hilfe sehr zurückhaltend, deshalb kurzes Bsp.
Delphi-Quellcode:
uses FileCtrl;
var Path: string; begin Path:='c:\windows\system32\config\systemprofile\ntuser.dat'; Label.Caption:=MinimizeName(Path, Label.Canvas, 50); |
Re: Langer Dateiname bzw. langer PathName in kurzen umwandel
MinimizeName ist genau das was ich brauche. Danke euch.
|
Re: Langer Dateiname bzw. langer PathName in kurzen umwandel
Hi,
gibts jetzt auch ne Moeglichkeit dass man den Pfad der im Prinzip nur aus c:\..\Appname.exe besteht wieder in seinen Vollstaendigen Namen zurueckzufuehren um ihn in einer xml-file zu speichern? Ginge es mit GetLongPathName? Dank euch! |
Re: Langer Dateiname bzw. langer PathName in kurzen umwandel
Sofern ich das richtig verstehe, dann mit ExpandFileName, aber die Funktion macht nix anderes, als das aktuelle Verzeichnis als Pfad hinzuzufügen.
Andererseits, wozu? :shock: Du hast doch den originalen Dateinamen, den Du nach MinimizeName übergibst :gruebel: Speicher diesen, und verwende ihn wieder. :wink: |
Re: Langer Dateiname bzw. langer PathName in kurzen umwandel
zurückführen geht nicht. MinimizeName kürzt den Pfad soweit bis er kurz genug für die Anzeige ist. Dadurch gehen natürlich einige Informationen verloren.
Aus "c:\test1\test2\test3\test4\abc.txt" wird dann zum Beispiel "c:\...\abc.txt" Wie man sieht ist aus der zweiten Angabe nicht wirklich ersichtlich wo die "abc.txt" liegt. Es könnte "c:\windoes.abc.txt" sein aber genau so "c:\test1\test2\test3\test4\abc.txt" |
Re: Langer Dateiname bzw. langer PathName in kurzen umwandel
Doch es geht :mrgreen: Hab ich heute nacht ne Moeglichkeit gefunden mit GetFullPathName. Ich kann den Eintrag wieder komplett anzeigen lassen. Vlt. liegt es auch daran dass ich den Dateinamen gekuerzt in einer Listbox stehen habe und dort die Infos noch immer im Vollen Umfang gespeichert sind und nur gekuerzt angezeigt werden.
|
Re: Langer Dateiname bzw. langer PathName in kurzen umwandel
Wozu GetFullPathName :shock: ?
Das geht dann doch auch ohne :zwinker: |
Re: Langer Dateiname bzw. langer PathName in kurzen umwandel
Zitat:
|
Re: Langer Dateiname bzw. langer PathName in kurzen umwandel
Zitat:
|
Re: Langer Dateiname bzw. langer PathName in kurzen umwandel
Weil ich den Pfad nicht in voller Laenge in der Listbox haben will weil sie relativ klein ist Ich habe die kompletten Pfade brauche umd sie fuer das Ausfuehren der Programme brauche sowie zum speichern dieser Infos in der xml file @Muetze1.
Aber wenn mir hier was besseres vorschlagen kann bitte nur zu! Dank euch! |
Re: Langer Dateiname bzw. langer PathName in kurzen umwandel
Zitat:
Edit: Ach roter Kasten, wo warst Du? :roll: Edit²: Das verstehe ich nicht? ListBox ist klein :gruebel: Du kannst da die volle Pfadlänge speichern und das mit den kurzen Namen in OwnerDraw selber zeichnen. |
Re: Langer Dateiname bzw. langer PathName in kurzen umwandel
1. Möglichkeit:
Zitat:
In der Objects[] Eigenschaft der ListBox eine kleine Klasse o.ä. ablegen welche den kompletten Pfad zu dem Eintrag beinhaltet 3. Möglichkeit: Eine extra Liste dazu halten und immer die ListBox von der Liste her aktuell halten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz