Einzelnen Beitrag anzeigen

timmbo

Registriert seit: 11. Jan 2017
2 Beiträge
 
#1

Shfileoperation vor jedem Kopiervorgang einer Datei ein fall abfragen

  Alt 11. Jan 2017, 12:50
Hallo,
Ich bin gerade dabei ein kleines Programm zu programmieren, dass mir meine Daten täglich sichert. Dies mach ich mit hilfe der SHFileoperation. Jetzt bin ich nur auf zwei Probleme gestoßen.

function CopyDir(const fromDir, toDir: string): Boolean;
var
fos: TSHFileOpStruct;
begin
ZeroMemory(@fos, SizeOf(fos));
with fos do
begin
//showmessage('test');
wFunc := FO_COPY;
fFlags := FOF_FILESONLY or FOF_RENAMEONCOLLISION or FOF_NOCONFIRMATION;
pFrom := PChar(fromDir + #0);
pTo := PChar(toDir)
end;
Result := (0 = ShFileOperation(fos));

end;

1. Falls eine Datei zu lang zum kopieren sein sollte, stoppt das programm, bis ich einen weiteren Befehl eingebe. Es ist zwar möglich, mit der flag "FOF_NOCONFIRMATION" den Befehl zu ignorieren. aber dann wird, die zu lange Datei nicht kopiert.
2. Ich hätte gerne das meine Software z.b wenn ich täglich sichere Montags ein VollBackup macht und an den weiteren Tagen in der Woche nur noch Daten kopiert die verändert wurden.

Beide könnte ich lösen indem ich, jedes mal bevor ich eine Datei kopiere, zwei abfragen machen könnte. Aber leider habe ich keine lösung. Kennt vielleicht jemand eine Alternative oder hat eine ahnung wie die shfileoperation aufgebaut ist, damit ich sie bearbeiten kann.

Vielen Dank

Geändert von timmbo (11. Jan 2017 um 13:14 Uhr)
  Mit Zitat antworten Zitat