Softwareentwicklung mit Delphi
Posts 1-3 of 3
-
Markus Lemcke Premium Member Group moderatorThe company name is only visible to registered members.Dateien kopieren mit Delphi 1
Hallo,
ich habe folgende kopierroutine aus dem web:
function CopyFile( src, dest: String): Boolean;
var s, d: TOFStruct;
fs, fd: Integer;
fnSrc, fnDest: PChar;
begin
src:=src + #0;
dest:=dest + #0; { Trick, um aus einem String ein ASCIIZ zu machen:}
fnSrc:=@src[1];
fnDest:=@dest[1];
fs := LZOpenFile( fnSrc, s, OF_READ );
fd := LZOpenFile( fnDest, d, OF_CREATE );
if LZCopy( fs, fd ) < 0
then Result:=False
else Result:=True;
{ Dateien schliessen}
LZClose( fs );
LZClose( fd );
end;
aber irgendwie funzt die nicht!
habe die Pfade mi showmesse anzeigen lassen, die stimmen.
ich möchte praktisch eine datei im selben verzeichnis kopieren und die kopie soll einen anderen Namen haben wie das original!
wer weiss ne zuverlässige kopierroutine!
Herzliche Grüße
Markus
- 24 Nov 2008, 10:02 am
-
Andreas Grotz(not a XING member)Re: Dateien kopieren mit Delphi 1
Viele wege führen nach Portugal ...
mhm bei Delphi 1 bin ich mir auch nicht sicher was es an funktionsumfang gibt ...
evtl. TFileStream ?
Procedure TBackupForm.FileCopy( Const sourcefilename, targetfilename: String );
Var
S, T: TFileStream;
Begin
S := TFileStream.Create( sourcefilename, fmOpenRead );
try
T := TFileStream.Create( targetfilename,
fmOpenWrite or fmCreate );
try
T.CopyFrom(S, S.Size ) ;
finally
T.Free;
end;
finally
S.Free;
end;
End;
Was aber aufjedenfall gehen sollte wäre BlockRead/BlockWrite ...
var sz:word;
p:pointer;
f,o:file;
sz:=$ffff;
AssignFile(f,sourcefn);
reset(f,1);
Assignfile(o,targetfn);
rewrite(o,1);
getmem(p,sz);
repeat
blockread(f,p^,sz,nr); // bin mir was die parameter folge angeht nicht ganz sicher
if nr > 0 then blockwrite(o,p^,nr);
until nr = 0;
freemem(p,sz);
closefile(f);
closefile(o);
- 24 Nov 2008, 7:30 pm
-
Markus Lemcke Premium Member Group moderatorThe company name is only visible to registered members.Re^2: Dateien kopieren mit Delphi 1
tach du fleißiger schreiber!
es lag nicht an der kopierroutine, sondern an den langen datei-und verzeichnisnamen :)
habe lange gebraucht, bis ich dahinter gestiegen bin, aber jetzt tut es und vorerst darf ich jetzt kein Delphi mehr entwickeln :)
Herzliche Grüße
Markus
- 24 Nov 2008, 7:58 pm
