Einzelnen Beitrag anzeigen

t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#1

Wird Doppelt kopiert???

  Alt 6. Jul 2011, 13:23
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

Geändert von t0mmy ( 6. Jul 2011 um 13:34 Uhr)
  Mit Zitat antworten Zitat