Willkommen bei Entwickler-Forum.
Ergebnis 1 bis 4 von 4
  1. #1
    Stammgast
    Registriert seit
    26.02.2003
    Ort
    Minden
    Beiträge
    422

    Standard Alle dateien eines Verzeichnisses einlesen

    Hallo,

    ich muss alle Dateien (ggf. nur die mit vorher definierten Endungen) eines Verzeichnisses einlesen und in einer Ansicht zur Auswahl anbieten. Ich habe schonmal hier gestöbert, aber nichts finden können. Hat jemand ein paar Tips ??

    Heiko

  2. #2
    Stammgast
    Registriert seit
    06.06.2004
    Beiträge
    384

    Standard

    Hi PM,<br>

    <PRE>
    Diese Funktion liest rekursiv alle Dateinamen eines Ordners und dessen Unterverzeichnisse in eine Stringliste ein und gibt außerdem als Result die Gesamtgröße des Verzeichnisbaumes zurück:

    var VerzListe : TStringList;

    function VerzGroesse(Verzeichnis:string):longint;
    var SR : TSearchRec;
    Groesse : longint;
    begin
    Groesse:=0;
    if Verzeichnis[length(Verzeichnis)]<>'\' then
    Verzeichnis:=Verzeichnis+'\';
    if FindFirst(Verzeichnis+'*.*',$3F,SR)=0 then begin
    repeat
    if ((SR.Attr and faDirectory)>0) and (SR.Name<>'.') and (SR.Name<>'..') then
    Groesse:=Groesse+VerzGroesse(Verzeichnis+SR.Name)
    else
    Groesse:=Groesse+SR.Size;
    if (SR.Name<>'.') and (SR.Name<>'..') then
    VerzListe.Add(Verzeichnis+SR.Name);
    until FindNext(SR)<>0;
    FindClose(SR);
    end;
    Result:=Groesse;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    VerzListe:=TStringList.Create;
    Label1.Caption:=IntToStr(VerzGroesse('C:\Programme '))+' Byte';
    ListBox1.Items.Assign(VerzListe);
    VerzListe.Free;
    end;
    </PRE>
    <br>cu Michae

  3. #3
    Stammgast
    Registriert seit
    26.02.2003
    Beiträge
    164

    Standard

    Hallo Michael,<br>

    es gibt übrigens die nette Delphi Funktion <b>IncludeTrailingBackslash</b>, die Konstrukte wie:
    <pre>
    if Verzeichnis[length(Verzeichnis)]<>'\' then
    Verzeichnis:=Verzeichnis+'\';
    </pre>
    überflüssig macht ;-)<p>
    Gruß<br>
    Luc

  4. #4
    Stammgast
    Registriert seit
    06.06.2004
    Beiträge
    384

    Standard

    Hi Lucas,<br>das kann ja jeder ;-

 

 

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •