Noch nicht registriert? Registrier Dich jetzt!
Zusätzliche Funktionen für das File-Name-Handling
Autor Thema
Profil
Hallo!

Ich würde mir die mit *) marktierten Funktionen wünschen - insbesondere ExtractFileDir wäre praktisch, weil ChDir mit dem abschließenden backslash von ExtractcFilePath nicht funktioniert.

Beispiele:
*) ExtractFileDrive (fullFileName) = C:
*) ExtractFileDir (fullFileName) = C:\PROGR\WDSibyl\OS\OS2
ExtractFilePath (fullFileName) = C:\PROGR\WDSibyl\OS\OS2\
ExtractFileName (fullFileName) = Unit1.pas
ExtractFileExt (fullFileName) = .pas

Vielleicht gibt es das ja im nächsten Update icon_wink

Schöne Grüße
Hanno
 
 
Profil Webseite
Hallo!

Bzgl. ExtractFileDrive:

So eine Funktion kann ich schon in die SysUtils einbauen. Wann die nächste Version herauskommt, kann ich noch nicht sagen, aber fürs erste würde ich folgendes Vorschlagen:

Code
  1. Drive:=copy(fullFileName,1,2).


Damit müsste es funktionieren.
---
Bzgl. ExtractFileDir und ExtractFilePath:

Es gibt in der SysUtils die Funktionen:

Code
  1. { AddPathSeparator: Add the Path-Separator, if is necessary }
  2. function AddPathSeparator(Const PathName : tFileName) : tFileName;
  3.  
  4. { DeleteLastPathSeparator: Delete the last Path-Separator, if there ist exist }
  5. function DeleteLastPathSeparator(Const PathName : tFileName) : tFileName;


Diese fügen entweder den Dir/Path-Separator hinzu oder entfernt diesen.

d.h in Deinem Fall müsstest Du folgendes Programmieren

Code
  1. dirname:=DeleteLastPathSeparator(ExtractFilePath (fullFileName))


bye
Wolfgang
 
 
Profil
Hallo Wolfgang!

Danke für die prompte Antwort. Die von dir genannten Lösungen reichen ja vollkommen, da sind die zusätzlichen Funktionen nicht wirklich notwendig.

In der Hilfe konnte ich AddPathSeparator und DeleteLastPathSeparator über "Suchen" nicht finden. So kann es dann schon vorkommen, dass ich im Internet einen Befehl finde und den in der Hilfe suche um zu sehen ob WDSibyl ihn kennt. Und dann zu testen, ob der Befehl trotzdem geht, mache ich nur fallweise, denn bei meinem noch bescheidenen icon_biggrin Wissenstand tue ich mir da noch schwer - das sollte sich aber ändern icon_wink
Inwieweit die "fehlenden" Funktionen WDSibyl bereichern würden, kann ich nicht wirklich beurteilen, aber wie gesagt, deine Lösungsvorschlag passt auch gut.

Schöne Grüße
Hanno