![]() |
Kopieren der Dateien die sich verändert haben
hallo zusammen,
ich habe da folgendes problem: in einem verzeichnis befinden sich verschiedene textdateien. in meinem delphi programm wird eine datei ausgewählt und ausgelesen und anschliessend kann der bediener den inhalt dieser datei ändern. nun möchte ich nachdem der bediener die datei geändert hat, nur diese datei aus dem verzeichnis in ein anderes verzeichnis kopieren. da ja sich nur diese geändert hat. die anderen datei sollen nicht aus dem verzeichnis kopiert werden. 1. gibt es in delphi einen befehl wie z.b. unter dos (xcopy /m) der nur die veränderten dateien kopiert mit der SHFileOperation wollte ich dies machen, aber irgendwie funktioniert das nicht so ganz. da er jedesmal fragt, soll die datei überschrieben werden oder nicht... ausserdem schaffe ich folgendes auch nicht. ich möchte die (z.b.)test.txt-datei, in das neue verzeichnis mit dem name test021003.txt kopieren, kann mir da vielleicht jemand helfen. ich bin schon ganz verzeifelt.... :wall: :wall: im vorraus schon mal danke gruß eassy |
Re: Kopieren der Dateien die sich verändert haben
Moin eassy,
hast Du es bei SHFileOperation auch mit Zitat:
Ansonsten kannst Du ja einfach die Attribute der Datei prüfen. Ist Archiv gesetzt wurde die Datei verändert, sonst nicht. Und wenn das Zielverzeichnis nicht existiert schlägt CopyFile fehl. Das kann aber vorher mit ForceDirectories (unit Filectrl in D5) angelegt werden. Du könntest auch das Verzeichnis auf Änderungen hin überwachen ( ![]() ![]() |
Re: Kopieren der Dateien die sich verändert haben
hi chris,
nein, das habe ich noch nicht probiert. wenn ich die attribute der dateien überprüfen möchte, könntest du mir sagen wie das in delphi gemacht wird. warum wird eigentlich bei folgendem code ein verzeichnis und keine datei (test02102003.txt) angelegt: sondern im verzeichnis ist dann test.txt...
Delphi-Quellcode:
ShellFileOperation('c:test.txt','c:\server\test' + formatdatetime('ddmmyyyy',now)+ '.txt', FO_COPY); procedure TfrmGUIForm.ShellFileOperation(fromFile, toFile: String; Flags: Integer); var shellinfo: TSHFileOpStructA; begin with shellinfo do begin wnd := Application.Handle; wFunc := Flags; pFrom := PChar(fromFile); pTo := Pchar(toFile); end; SHFileOperation(shellinfo); end; gruß eassy |
Re: Kopieren der Dateien die sich verändert haben
Moin eassy,
weil bei FO_COPY der pTo Parameter das Zielverzeichnis angibt in das pFrom kopiert werden soll. Willst Du es anders haben könntest Du die Datei erst kopieren und dann umbenennen. Um die Attribute auszulesen kannst Du ![]() ![]() |
Re: Kopieren der Dateien die sich verändert haben
guten morgen,
gibt es eigentlich keine andere möglichkeit, schon während dem kopieren den zieldateinamen zu ändern? ich hänge da total fest. ich bin um jede hilfe dankbar... gruß eassy :cry: |
Re: Kopieren der Dateien die sich verändert haben
Moin...
Klar gibts die... Diese Funktion stammt aus einem Buch. Du gibst unter 'von' und 'nach' den absoluten Pfad mit Dateinamen an. Umbenennen also möglich, denke ich. Relativer Pfad sollte auch möglich sein, allerdings würde ich dann sicherstellen, dass dein Arbeitsverzeichnis auch stimmt...
Delphi-Quellcode:
Vielleicht hilft dir das weiter.
// Einfache Kopierfunktion
function CopyFile(von, nach: string):Boolean; var source, drain: TFileStream; begin Result:=false; source:=TFileStream.Create(von, fmOpenRead); try drain:=TFileStream.Create(nach, fmOpenWrite or fmCreate); except source.Free; Exit; end; try drain.CopyFrom(source, source.Size); except drain.Free; source.Free; Exit; end; drain.Free; source.Free; result:=true; end; Bis denne... |
Re: Kopieren der Dateien die sich verändert haben
Sinniger wäre es IMHO die Standardfunktion CopyFile zu nutzen.
|
Re: Kopieren der Dateien die sich verändert haben
Moin...
In meiner Hilfe steht zu CopyFile nix drin, und in meiner Literaur (ein 1k-Seiten Wälzer), aus der ich diese Funktion habe, steht: "gibts nicht, sowas..." Zitat:
|
Re: Kopieren der Dateien die sich verändert haben
Du solltest Dir die Win32 Programmers Reference (etc.) installieren
Zitat:
|
Re: Kopieren der Dateien die sich verändert haben
Mohoin...
Wuhaaaa... Ja, das sieht mir auch schon schwer nach C-Syntax aus... :shock: Okay, hast recht... Aber bis dahin finde ich meine Lösung doch besser - weil einfach faul... :roll: Bis denne... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 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