Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wird Doppelt kopiert??? (https://www.delphipraxis.net/161500-wird-doppelt-kopiert.html)

t0mmy 6. Jul 2011 13:23

Wird Doppelt kopiert???
 
Hallo!

Ich habe ein Programm geschrieben das bestimmte Dateien... auch aus den Unterverzeichnissen in ein anderes Verzeichnis kopieren soll.
Nun habe ich das Problem, das, wenn ich mit den Ordner leere.. und das nochmal alle dateien kopieren will... er eine xxx - Kopie macht..

Hier mein Programmcode:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  aSHFOS: TSHFileOpStruct;
  szFrom: array [0 .. 128] of Char;
  szTo: array [0 .. 128] of Char;

  quelle: string;
  ziel: string;
  ordnern: string;

  pfade: TStringList;
  a: Integer;
  b: Integer;
begin
  (*
    If edit_pnumber.Text = '' then
    begin
    ShowMessage('Bitte Projektnummer eingeben');
    exit;
    end else
    begin
    ordnern := edit_pnumber.Text;
    ShowMessage(ordnern);
    exit;
    end;
    *)

  ordnern := edit_pnumber.Text;
  if DirectoryExists
    ('C:\Users\Programmierung\Desktop\Neuer Ordner\Bla\' + ordnern)
    = False then
  begin
    ShowMessage('Projektordner exisitiert nicht!');
    Exit;
  end;

  FindFiles('C:\Users\Programmierung\Desktop\Neuer Ordner\Bla\' +
      ordnern, '*.mpr', True, ListBox1.Items);
  // ShowMessage(pfade[2]);
  b := ListBox1.Items.Count;
  ShowMessage(InttoStr(Sizeof(aSHFOS)));
  for a := 0 to b - 1 do
  begin
    FillChar(aSHFOS, Sizeof(aSHFOS), #0);
    FillChar(szFrom, Sizeof(szFrom), #0);
    FillChar(szTo, Sizeof(szTo), #0);
    StrPCopy(szFrom, ListBox1.Items[a]);
    // StrPCopy(szFrom, 'C:\alt\*.txt');
    StrPCopy(szTo, 'C:\Users\Programmierung\Desktop\Neuer Ordner\Fertig');
    with aSHFOS do
    begin
      Wnd := Handle;
      // wFunc := FO_MOVE;
      wFunc := FO_COPY;
      pFrom := @szFrom;
      pTo := @szTo;
      fFlags := FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;
      hNameMappings := nil;
      lpszProgressTitle := nil;
    end;
    ShFileOperation(aSHFOS);
  end;
end;
Wo habe ich da einen fehler.. bzw. was muss ich da leeren damit ich keine xxx - Kopie der datei erhalte???
Ps. Wenn ich das Programm neustarte dann funktioniert es so wie ich es will.



!!!Hab mein Problem schon gefunden!!! Sry für die unüberlegte handlung

mfg

Bummi 6. Jul 2011 13:36

AW: Wird Doppelt kopiert???
 
ListBox1.Items ?


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