Einzelnen Beitrag anzeigen

Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#1

Re: Windows 98 und Shellexecute

  Alt 15. Okt 2004, 13:30
Das lässt sich doch ganz leicht klären:

Delphi-Quellcode:
  ShowMessage(ExtractFileDir ('C:\Daten\Test.dat')); // C:\Daten
  ShowMessage(ExtractFilePath('C:\Daten\Test.dat')); // C:\Daten\

  ShowMessage(ExtractFileDir ('C:\Test.dat')); // C:\
  ShowMessage(ExtractFilePath('C:\Test.dat')); // C:\
ExtractFileDir ist für die Anzeige (z. B. auf Labels) gedacht, ExtractFilePath für tas weiterarbeiten.

Das kommt saher, dass Windows 95 Probleme mit Pfadangaben wie C:\\text.ini hatte und man deshalb nicht mit der Anzeigefunktion arbeiten konnte. Also brauchte man eine Funktion, die einfach das \ noch da lässt, und man fügt beim Dateinamen kein \ mehr hinzu, wenn man ihn mit dem Verzeichnis verknüpft. Windows 98 kommt schon mit \\ klar, da könnte das dann wegfallen (ist aber unschön und ein Vergleich wird komplizierter, weil eines \\ und das andere \ enthalten könnte und trotzdem dir gleiche Datei gemeint ist).

Übrigens ist so eine Funktion ziemlich einfach selbst zu schreiben, beispielsweise, wenn man ein Archivformat erfindet und dann das Trennzeichen / verwendet:

Delphi-Quellcode:
function ExtractArchiveFilePath(const Archiv: String): String;
begin
  Result := Copy(Archiv, 1, LastDelimiter('/', Archiv)); //Kopiert alle Zeichtn bis zum letzten /
end;
Felix Alter
  Mit Zitat antworten Zitat