![]() |
Hat das Kopieren de Verzeichnisses geklappt?
Hi Leute,
ich kopiere mit den gängigen Funktionen (ShellAPI) ein Verzeichnis. Wenn nun während des Kopiervorganges auf "Abbrechen" geklickt wird und ich überprüfen will, ob der Kopiervorgang erfolgreich war, kann ich ich ja nicht einfach if DirectoryExists .. benutzen, da ein Teil ja kopiert wurde und die Funktion TRUE zurückgeben würde. Wie kann ich denn überprüfen, ob ein Verzeichnis komplett kopiert wurde? Gruß Caluclon -- |
Re: Hat das Kopieren de Verzeichnisses geklappt?
Die "gängigen" Funktionen geben ihrerseits auch Werte zurück, welche über den Bearbeitungsstatus berichten.
Hast diese mal geprüft. Davon abgesehn, was ist bei dir gängig (z.B. wie sieht deine Kopierfunktion aus). Wenn du ganz sichergehn willst, dann bleibt dir nur der Vergleich, also Dateien auflisten und nachsehn, ob diese auch in der Kopie vorhanden sind. Und eventuell noch den Dateiinhalt prüfen, denn die Datei könnte ja da sein, aber deren Inhalt muß ja deßhalbt nicht auch gleich stimmen. |
Re: Hat das Kopieren de Verzeichnisses geklappt?
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:
Delphi-Quellcode:
Gruß
DoFileWork(FO_COPY, edit1.Text, edit2.Text, FOF_AllowUndo or FOF_NoConfirmation or FOF_NOERRORUI);
Calculon -- |
Re: Hat das Kopieren de Verzeichnisses geklappt?
Delphi-Quellcode:
DoFileWork liefert einen Fehlercode als Integer ;)
Result := SHFileOperationA...
> ![]() also
Delphi-Quellcode:
S_OK = 0
If DoFileWork(FO_COPY, edit1.Text, edit2.Text, FOF_AllowUndo
or FOF_NoConfirmation or FOF_NOERRORUI) <> S_OK Then FEHLER('°_°'); und Zitat:
|
Re: Hat das Kopieren de Verzeichnisses geklappt?
Vielen Dank für deine Hilfe!
Gruß Calculon -- |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz