用字符数组Array of char
或字节数组Array of byte
或字节数组Array of byte
解决方案 »
- 给我把ak 肯定把农行的那些人打死
- 关于List index out of bouds(*),不胜感激
- 怎么把两个表的内容合并成一个表来显示
- 为何图像抖动?
- 我在TbaseC 广播了一条消息,为什么TConnBC_A,TConnBC_B 收不到?
- 难题 :如何在DBGRID的最后一行显示合计
- 这个问题真的很难吗? 如何在Dbgrid中显示备注型字段内容
- Delphi构建进销存系统——POS系统开发实例的源码谁有?
- 急!关于多次分组在一个报表里面!
- 谁能给段ado对象使用地代码啊, ?
- 怎样编写动态生成的checkbox的click事件???
- 在什么控件上能用程序画图(moveto等语句画线的)?怎样画?
const bb=32;
var
myfile:file of byte;
aa:byte;
i:integer;
begin
assignfile(myfile,'你的文件');
try
reset(myfile);
for i:=0 to filesize(myfile)-1 do
begin
read(myfile,aa);
if aa=0 then write(myfile,bb);
end;
finally
closefile(myfile);
end; //end of try
end;思路如上,程序不一定对;无论如何定位,至少要遍历一遍,因此我的方法应该是效率很高的
我这里有个思路,程序代码大致如下:
var
f: textfile;
ss: string;
c: pchar;
Strings: TStrings;
begin
assignfile(f, '你的文件名称');
reset(f);
try
Strings := TStringList.Create;
try
while not eof(f) do
begin
readln(f,ss);
while length(ss) > 0 do
begin
c := pchar(ss);
Strings.add(string(s));
ss := Copy(ss, length(string(c))+2, length(ss));
end;
end;
showmessage(Strings.text);
finally
Strings.free;
end;
finally
closefile(f);
end;
end;//以上程序在delphi6中调试通过.
大家看看还有什么可以改进的,或更好的解决方案.
var
my1:TMemoryStream;
i:integer;
cc:string;
begin
my1 := TMemoryStream.Create;
my1.LoadFromFile('e:\test1.txt');
for i:= 0 to my1.Size-1 do
begin
my1.Position := i;
my1.ReadBuffer(cc[1],1);
if cc=chr(0) then
begin
cc:= chr(32);
my1.WriteBuffer(cc[1],1);
end;
end;
my1.SaveToFile('e:\test1_chg.txt');
my1.Free;
end;
我也试验过用下面的程序实现:
var
my1,my2:TextFile;
cc:char;
begin
assignfile(my1, 'e:\test1.txt');
reset(my1);
assignfile(my2, 'e:\test1_chg.txt');
rewrite(my2);
while eof(my1) do
begin
read(my1,cc);
if cc=chr(0) then
write(my2,chr(32))
else
write(my2,cc);
end;
closefile(my1);
closefile(my2);
end;
这个程序是可以实现的,问题是必须做一个临时的转换文件。
不知道还有没有更好的办法。
阿瑟大发送到1231241chr(0)chr(0)2347867
asdlfkasdflkchr(0)chr(0)935324sadf
tfilestream;
pos(#0,stringstream.data);
var
my1:TMemoryStream;
cc:string;
begin
my1 := TMemoryStream.Create;
my1.LoadFromFile('e:\test1.txt');
my1.Position := 0;
while my1.Position < my1.Size do
begin
my1.ReadBuffer(cc[1],1);
if cc=chr(0) then
begin
cc:= chr(32);
my1.Position := my1.Position -1;
my1.WriteBuffer(cc[1],1);
end;
end;
my1.SaveToFile('e:\test1_chg.txt');
my1.Free;
end;谢谢大家了!