Ich benutze:
Delphi-Quellcode:
function DoFileWork(aOperation: FILEOP_FLAGS; aFrom, aTo: AnsiString;
Flags: FILEOP_FLAGS): Integer;
var
FromPath, ToPath: AnsiString;
SHFileOpStruct: TSHFileOpStruct;
begin
FromPath := aFrom + #0#0;
ToPath := aTo + #0#0;
with SHFileOpStruct do
begin
Wnd := 0;
wFunc := aOperation;
pFrom := PAnsiChar(FromPath);
if ToPath <> '' then
begin
pTo := PAnsiChar(ToPath)
end else begin // target available
pTo := nil;
end; // target not available
fFlags := Flags;
end; // structure
Result := SHFileOperationA(SHFileOpStruct);
end;
{ FOF_ALLOWUNDO - Ermöglicht eine Umkehrung der letzten Operation
FOF_FILESONLY - Verzeichnisse ignorieren
FOF_MULTIDESTFILES - aTo hat einen Eintrag für jeden Eintrag in der aFrom Liste
FOF_NOCONFIRMATION - Der User muss keine Bestätigung zum Überschreiben, etc. geben
FOF_NOERRORUI - Fehlermeldugen unterdrücken
FOF_NORECURSION - Unterverzeichnisse ignorieren
FOF_RENAMEONCOLLISION - Datei umbenennen, wenn diese bereits im Zielverzeichnis existiert (Kopie 1 von ...)
FOF_SILENT - Fortschrittsanzeige unterdrücken. }
Zitat von
himitsu:
Die "gängigen" Funktionen geben ihrerseits auch Werte zurück, welche über den Bearbeitungsstatus berichten.
Wie kann ich die denn abfragen? Ich benutze die Fkt. folgendermaßen:
DoFileWork(FO_COPY, edit1.Text, edit2.Text, FOF_AllowUndo or FOF_NoConfirmation or FOF_NOERRORUI);
Gruß
Calculon
--