我的代码效率极低!请高手指点(请尽量详细点)
procedure Tform1.dkfile;
var f:file of byte;size,filsize:longint;
s:string;y: byte;f1:textfile;
begin
screen.Cursor:=crhourglass;
richedit1.Clear ;
s:=edit1.Text;
assignfile(f,s);
reset(f);
filsize:=filesize(f);
tmpfiln:=extractfilepath(application.exename)+'tmpfil.tmp';
assignfile(f1,tmpfiln);
rewrite(f1);
try
for size:=1 to filsize do begin//这个循环效率极低
s:='';
read(f,y);
s:=inttohex(y,2)+' ';//这里效率极低
Write(f1,s);
end;
finally
closefile(f);
closefile(f1);
end;
try
richedit1.Lines.LoadFromFile(tmpfiln);//这里效率也极低!
finally
screen.Cursor :=crdefault;
end;
end;
请问如何改进?
好象是用1M缓存读到内存里,显示的时候也用不着写成文件再loadfromfile。
但如何操作?
procedure Tform1.dkfile;
var f:file of byte;size,filsize:longint;
s:string;y: byte;f1:textfile;
begin
screen.Cursor:=crhourglass;
richedit1.Clear ;
s:=edit1.Text;
assignfile(f,s);
reset(f);
filsize:=filesize(f);
tmpfiln:=extractfilepath(application.exename)+'tmpfil.tmp';
assignfile(f1,tmpfiln);
rewrite(f1);
try
for size:=1 to filsize do begin//这个循环效率极低
s:='';
read(f,y);
s:=inttohex(y,2)+' ';//这里效率极低
Write(f1,s);
end;
finally
closefile(f);
closefile(f1);
end;
try
richedit1.Lines.LoadFromFile(tmpfiln);//这里效率也极低!
finally
screen.Cursor :=crdefault;
end;
end;
请问如何改进?
好象是用1M缓存读到内存里,显示的时候也用不着写成文件再loadfromfile。
但如何操作?
解决方案 »
- 表转化为表格问题
- 有什办法可以在DBGrid连续读取编号??
- reintroduce关键字是什么作用得阿!!我没分了,以后有分会补给大家得阿!!
- 如何结贴?
- 求购速达ERP源代码,但手上没有几个钱,又便宜得没有?
- 急--autocad的ole调用接口
- 在D5中如何获得一个可输入控件的OnMouseIn 和OnMouseLeave事件?
- 请问通过delphi7设计如何将Excel表里的数据导入到sql数据库已有的表中来?,最好能实现:点击‘导入’选择excel表,设置列名和sql表匹配然后导入,请给代码或原程序
- 请问,在DELPHI中如何进行16进制运算,数据类型要如何定义?
- 资源管理器上的“搜索”部分的那个可以隐藏的窗体是如何实现的
- 关于做上传到ftp的activx组件的问题.
- 有没有一起创业的
F: TFileStream;
Buf: array of Char;
Buf2: array of Char;
begin
F := TFileStream.Create('c:\a.bin', fmOpenRead);
try
SetLength(Buf, F.Size);
F.Read(Buf[0], F.Size);
SetLength(Buf2, F.Size * 2);
BinToHex(@Buf[0], @Buf2[0], Length(Buf));
RichEdit1.Text := StrPas(@Buf2[0]);
finally
F.Free;
end;
end;