Einzelnen Beitrag anzeigen

Benutzerbild von rainerg
rainerg

Registriert seit: 5. Aug 2002
Ort: Hannover
82 Beiträge
 
Delphi XE Starter
 
#1

Probleme mit SHFileOperation

  Alt 15. Mai 2011, 23:36
Hallo, mal wieder ein kleines Problem!

Aus diesem Thread --> http://www.delphipraxis.net/50745-xc...nachbauen.html habe ich von MaBuSe folgenden Code entnommen:
Delphi-Quellcode:
uses ShellAPI;

function MyCopy(Quelle, Ziel: string):Boolean;
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc := FO_COPY;
    fFlags := FOF_FILESONLY // nur Dateien wenn Wildcard (*.*) verwendet werden
           or FOF_NOCONFIRMATION; // Keine Abfrage, es wird JA angenommen (z.B. überschreiben)
    pFrom := PChar(Quelle + #0);
    pTo := PChar(Ziel)
  end;
  Result := (0 = ShFileOperation(fos));
end;
Im ersten Durchlauf ist alles bestens:
MyCopy('c:\source_path','c:\dest_path') erzeugt folgendes:
Code:
c:\dest_path\file1.txt
c:\dest_path\file2.txt
c:\dest_path\file3.txt
Aber beim zweiten Durchlauf sieht die Sache so aus (inkl. der unangetasteten Dateien aus dem ersten Durchgang):

Code:
c:\dest_path\source_path\file1.txt
c:\dest_path\source_path\file2.txt
c:\dest_path\source_path\file3.txt
Die nächsten Runden schreiben wie im zweiten Durchlauf, dort werden also die Dateien überschrieben.

Ich will aber weiterhin kopieren, wie im ersten Durchgang (ohne Rückfrage - einfach blöd und brtual kopieren) ohne den Ordner aus dem Source-Pfad.

Wie kann ich verhindern, dass in den weiteren Durchläufen die Dateien eine Ebene tiefer kopiert werden?
Rainer G. aus H.
www.BunteReisebilder.de
  Mit Zitat antworten Zitat