procedure TForm1.Button1Click(Sender: TObject);
var item:textfile;
count,row,i,templ,k,len,rec,inde:integer;
tempindex:integer;
data,data1:string;
tempstr:string;
function getlen:integer;
var i1,j1,k1:integer;
begin
for i1:=0 to adodataset1.FieldCount-1 do
begin
j1:=j1+adodataset1.Fields[i1].Size ;
end;
end;
begin
assignfile(item,'c:/1.txt');
adodataset1.First ;
rewrite(item);
while not (adodataset1.Eof) do
begin
for i:=0 to adodataset1.FieldCount-1 do
begin
tempstr:=adodataset1.Fields.AsString ;
len:=adodataset1.Fields.Size ;
templ:=length(trim(tempstr));
if templ<len then//如果该字段的值的长度比字段大小要小
begin
for k:=0 to (len-templ) do//小的个数
tempstr:=tempstr+'*';//补上空格
end;
data:=data+tempstr ;//加上数据
if length(data)=getlen then //如果加了的数据之和等于该条数据记录的长度就换行
begin
data:=data+#13+#10;
writeln(item,data);
adodataset1.Recordset.MoveNext ;
end;
data:=data+#13+#10;
writeln(item,data);
adodataset1.Recordset.MoveNext ;
end;
end;
flush(item);
closefile(item);
messagebox(handle,'warning','sucessful',1);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
adodataset1.Recordset.PageSize :=10;
button1.Click;
end;
系统提示:
project raised exception class eoleexception with
message 'bof' 或EOF 中有一个是真,或者当前的记录以被删除,所畜的
操作要求一个当前的记录
如何解决呀?
我把 while not (adodataset1.Eof) do 这句去掉换成FOR I:=0 TO ADODATASET1。COUNT-1 DO
也是提示出错,但如果都不要它只执行字段个数次循环