没什么问题,不过这种方式比较落后了,建议用TFileStream或TMemoryStream,他们都支持二进制文件,如果要对文本文件操作,可以用TStringList类,很方便的!
解决方案 »
- 求一路由表函数
- 时间差的问题
- ---------奇怪了,为什么被0除了也不出错----------
- 疑惑!!调用windows API KERNEL32.DLL函数的问题。
- 一个小问题,如何屏蔽隐式调用post()方法?
- delphi通过JNI调用JAVA的CLASS的问题。小弟很着急啊,进来都有分的
- 讨论:如何在DELPHI中写一个校验的函数
- 帮哥们一把。
- 送分
- 哪儿有错??
- sqlserver中用case能同时返回多个参数吗?下边的语句不行 select aa,bb=case a>0 then (select vv,mm from table2 where id=123) else '','' end from table1
- Delphi 中有没有 API 函数可以用http或ftp 联网下载文件?
fnewlog := TFileStream.Create(outfileName, fmCreate);
flog := TFileStream.Create(infileName.Text, fmOpenRead);
//下一行:
buf[0] := #13; buf[1] := #10;
flog.Position
flog.size
fnewlog.Write(yourstr, length(yourstr));
记得要:yourstr:=yourstr+#
Application.ProcessMessages;
还记得要:
flog.free;
procedure Tfrmdyqk1.BitBtn2Click(Sender: TObject);
begin
if Opendialog1.execute then
begin
OleContainer1.CreateObjectFromFile(OpenDialog1.FileName,false);
Olecontainer1.Doverb(ovShow);
// OleContainer1.Run;
end;
end;//保存一个word文件:
procedure Tfrmdyqk1.BitBtn3Click(Sender: TObject);
var ms:TMemoryStream;
begin
ms:= TMemoryStream.create;
OleContainer1.SaveToStream (ms);
ms.Position := 0; Query1.close;
Query1.sql.clear;
Query1.sql.text:='select * from oadbo.bw_qwb';
Query1.open;
Query1.append;
Query1.fieldbyname('wjid').value:=77777777 ;
Query1.fieldbyname('wjdid').value:=7;
Query1.fieldbyname('kzm').value:='txt';
TBlobField(Query1.fieldbyname('qw')).loadfromstream(ms);
ms.free;
Query1.post;
//Query1.applyupdates;
Query1.close;
end;
var
BinaryFile:File;
Buffer:array[1..64] of byte;
begin
Assign(BinaryFile,'somefile.dat');
Reset(BinaryFile);
BlockRead(BinaryFile,Buffer,1);
呵呵
nr,nw:integer;
f1,f2:file;
begin
assignfile(f1,'aaa.aaa');
assignfile(f1,'bbb.bbb');
reset(f1,1);
rewrite(f2,1);repeat
blockreaf(f1,buf,sizeof(buf),nr);
blockwrite(f2,buf,nr,nw);
until (nr<>nw) or (mr=0);closefile(f1);
closefile(f2);
end;