Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Ordnerinhalt kopieren (https://www.delphipraxis.net/56827-ordnerinhalt-kopieren.html)

Grunzke 11. Nov 2005 20:20


Ordnerinhalt kopieren
 
Hallo ich bitte hier um Hilfe, denn ich möchte das ein ordner selbstandig erkant wird und in einem TreeView angezeigt wird. Wenn man dann denn auf einen Button klickt soll der Inhalt(nur der Inhalt des Ordners nicht der Ordner selbst) kopiert werden. Wobei zu beachten ist das die orginal datein von dem ort wo er sie hin kopiert erhalten bleiben durch z.B. umbenennen. Schon mal Danke.

Luckie 11. Nov 2005 20:22

Re: Ordnerinhalt kopieren
 
Wie weit bist du denn? Wo kommst du denn nicht weiter? Bisher sieht es so aus, als wenn wir dir das ganze Programm schreiben sollen. :-?

Grunzke 11. Nov 2005 20:25

Re: Ordnerinhalt kopieren
 
Fast so ist es. Ähm ja. Mein Problem ist ich weiß nicht wie ich das mache das der oder mehrere Ordner automatisch angezeigt werden in der TreeView und der Inhaltautomatisch erkannt wird. Also das wenn ich auf meinen Button klicke sich der kopiert.

s.h.a.r.k 11. Nov 2005 20:30

Re: Ordnerinhalt kopieren
 
Also wir man einen Ordnerinhalt ausliest ist eigentlich ganz einfach:

Delphi-Quellcode:
procedure GetFilesInDirectory(Directory: String; const Mask: String;
                              List: TStrings;
                              WithSubDirs, ClearList: Boolean);
  procedure ScanDir(const Directory: String);
  var
    SR: TSearchRec;
  begin
    if FindFirst(Directory + Mask, faAnyFile - faDirectory, SR) = 0 then try
      repeat
        List.Add(Directory + SR.Name)
      until FindNext(SR) <> 0;
    finally
      FindClose(SR);
    end;

    if WithSubDirs then begin
      if FindFirst(Directory + '*.*', faAnyFile, SR) = 0 then try
        repeat
          if (SR.Attr = faDirectory) and
             (SR.Name <> '.') and (SR.Name <> '..') then
            ScanDir(Directory + SR.Name + '\');
        until FindNext(SR) <> 0;
      finally
        FindClose(SR);
      end;
    end;
  end;

begin
  List.BeginUpdate;
  try
    if ClearList then
      List.Clear;
    if Directory = '' then Exit;
    if Directory[Length(Directory)] <> '\' then
      Directory := Directory + '\';
    ScanDir(Directory);
  finally
    List.EndUpdate;
  end;
end;
Die StringList musst halt dann noch im TreeView ausgeben.

Diese List musst du halt noch zwischenspeichern und mit dem Befehl CopyFile dann in ein bestimmtes Verzeichnis kopieren.

mfg shark


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