Hallo,
ab Delphi 3 und unter
Berücksichtigung von Dateien die sich im Root-Verzeichnis befinden können:
Delphi-Quellcode:
function FolderOrDrive(fileName: string): string;
var i : Integer;
begin
Result := ExtractFileDir(fileName);
i := LastDelimiter('\',Result);
if i = 3 then
Delete(Result,i,1)
else
Delete(Result,1,i);
end;