文件拷贝问题(50分)

G

gengzhl

Unregistered / Unconfirmed
GUEST, unregistred user!
请问:
如何实现在DELPHI 中实现将一个文件拷贝成另一个文件。
例如:将DBF文件拷贝成TX文件。 谢谢了!
 
copyfile就可以了,自己看帮助,无非就是变了个名字
或者
Procedure 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;

{This way uses memory blocks for read/write.}
procedure FileCopy(const FromFile, ToFile: string);
var
FromF, ToF: file;
NumRead, NumWritten: Word;
Buf: array[1..2048] of Char;
begin
AssignFile(FromF, FromFile);
Reset(FromF, 1); { Record size = 1 }

AssignFile(ToF, ToFile); { Open output file }
Rewrite(ToF, 1); { Record size = 1 }
repeat
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
BlockWrite(ToF, Buf, NumRead, NumWritten);
until (NumRead = 0) or (NumWritten <> NumRead);
CloseFile(FromF);
CloseFile(ToF);
end;
 
var
i:integer;
s:string;
SL:TStrings;


table1.first
SL:=TStringList.create;
while not(table1.eof) do
begin
s:=table1.fields[0].asstring;
for i:=1 to table1.fieldcount-1 do s:=s+','+table1.fields.asstring;
sL.add(s);
end;
SL.savetoFile('MyText.txt');
sl.free;
 
方法太多了,利用API也可以啊,例如SHFileOperation,它不光拷贝文件,也可拷贝整个目录。
 
copyfile(sss.dbf,dddd.tx,false)
 
copyfile(sss.dbf,dddd.tx,false)
 
数据库到文件:
F :TextFile ;
begin
Table1.open;
AssignFile(F,TextFileName) ;
ReWrite(F) ;
Try
while not table1.eof do
begin
WriteLn(F,Table1.field[0].asstring,Table1.field[1].asstring.....) ;
end;
finally
Closefile(F) ;
end;
=======================================================================
文件到数据库:
TMyrecord = packed record
field0 :类型;
field1 :类型;
field2 :类型;
.............
end;
DataFile :file of TMyrecord ;
MyData :TMyrecord ;
事件部分:
AssignFile(DataFile ,'数据库文件') ;
reset(DataFile) ;
seek(DataFile,FileSize(DataFile)) ;
try
write(DataFile,MyData) ;
finally
CloseFile(DataFile) ;
end;
 
顶部