Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Ordner aus Dateipfad extrahieren (https://www.delphipraxis.net/151085-ordner-aus-dateipfad-extrahieren.html)

Delphi-Narr 5. Mai 2010 14:22


Ordner aus Dateipfad extrahieren
 
Hallo,

gibt es eine Funktion, mit der ich den Ordner einer bestimmten Datei extrahieren kann?
Also ich habe jetzt die Angabe "C:\OrdnerA\Anwendung.exe" und möchte daraus den Ordner extrahieren, sprich hinterher nur noch "C:\OrdnerA" haben. Gibt es da eine vorgefertigte Funktion?

Liebe Grüße!

chaosben 5. Mai 2010 14:24

Re: Ordner aus Dateipfad extrahieren
 
Joa ... die nennt sich Delphi-Referenz durchsuchenExtractFilePath und kommt aus der Unit SysUtils.
Dazu passend gibts noch Delphi-Referenz durchsuchenIncludeTrailingPathDelimiter und Delphi-Referenz durchsuchenExcludeTrailingPathDelimiter.

Delphi-Narr 5. Mai 2010 14:27

Re: Ordner aus Dateipfad extrahieren
 
Zitat:

Zitat von chaosben
Joa ... die nennt sich Delphi-Referenz durchsuchenExtractFilePath und kommt aus der Unit SysUtils.
Dazu passend gibts noch Delphi-Referenz durchsuchenIncludeTrailingPathDelimiter und Delphi-Referenz durchsuchenExcludeTrailingPathDelimiter.

Danke! Die anderen beiden habe ich eben schon benutzen wollen, kennt mein Delphi aber irgendwie nicht...

DeddyH 5. Mai 2010 14:38

Re: Ordner aus Dateipfad extrahieren
 
ExtractFilePath gibt den Pfad samt Backslash zurück, ExtractFileDir dasselbe ohne Backslash.

haentschman 5. Mai 2010 14:50

Re: Ordner aus Dateipfad extrahieren
 
Zitat:

kennt mein Delphi aber irgendwie nicht...
vergessen die Unit SysUtils einzubinden ? :gruebel:

PAB 5. Mai 2010 14:56

Re: Ordner aus Dateipfad extrahieren
 
Probiers mal mit IncludeTrailingBackslash & ExcludeTrailingBackslash.

IncludeTrailingPathDelimiter kam später hinzu, evtl. erst nach D5.

Delphi-Narr 5. Mai 2010 15:14

Re: Ordner aus Dateipfad extrahieren
 
Noch eine Frage: Kann ich irgendwie (trotz Delphi 5!!!) auch die Größe dieses Ordners ermitteln?! Ich möchte nicht alle Dateien einzeln durchgehen müssen...

Liebe Grüße!

himitsu 5. Mai 2010 15:16

Re: Ordner aus Dateipfad extrahieren
 
Ich sag's mal so: Selbst in Delphi 2010 müßtest du alle Dateien auflisten und deren Größen zusammenzählen, um die "Ordnergröße" zu bekommen.
Und sogar der Eigenschaften-Dialog vom Explorer macht es so.

[add]
falls du die Suche nicht selber implementieren willst:
Delphi-Quellcode:
uses
  FindFiles;

type
  TMyForm = class(TForm)
    ...
  private
    Größe: Int64;
    procedure OnFindFile(Sender: TFindFiles; Directory, FileName: string;
      Level: Integer; const Info: TWin32FindData; var Cancel: Boolean);
  end;

procedure TMyForm.OnFindFile(Sender: TFindFiles; Directory, FileName: string;
  Level: Integer; const Info: TWin32FindData; var Cancel: Boolean);
begin
  Größe := Größe + Int64(Info.nFileSizeHigh) shl 32 + Info.nFileSizeLow;
end;


Größe := 0;
FF := TFindFiles.Create;
try
  FF.Find('C:\irgendwo');
finally
  FF.Free;
end;
Label1.Caption := IntToStr(Größe);

//oder

Größe := 0;
TFindFiles.Create('C:\irgendwo', '*.*', True, OnFindFile);
Label1.Caption := IntToStr(Größe);
http://www.delphipraxis.net/internal...150098#1150098

himitsu 5. Mai 2010 15:42

Re: Ordner aus Dateipfad extrahieren
 
[gelöscht]


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 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