我用memo显示后,为什么激发这个事件,而memo里面的显示是很混乱的呢?在线等待!procedure TForm2.Button2Click(Sender: TObject);
var
n:integer;
sum1,sum2,sum3,sum4:real;
begin
table1.Filtered:=false;
table1.Refresh;
sum1:=0;sum2:=0;sum3:=0;sum4:=0;n:=0;
table1.First;
with table1 do
try
while not eof do
begin
sum1:=sum1+fieldbyname('大学英语').asfloat;
sum2:=sum2+fieldbyname('高等数学').asfloat;
sum3:=sum3+fieldbyname('思想修养').asfloat;
sum4:=sum4+fieldbyname('计算机基础').asfloat;
n:=n+1;
next;
end;
if n<>0 then
begin
memo3.Lines.Strings[0]:='大学英语平均分:'+floattostr(sum1/n);
memo3.Lines.Strings[1]:='高等数学平均分:'+floattostr(sum2/n);
memo3.Lines.Strings[2]:='思想修养平均分:'+floattostr(sum3/n);
memo3.Lines.Strings[3]:='计算机基础平均分:'+floattostr(sum4/n);
end;
finally;
end;
end;

解决方案 »

  1.   

    if n<>0 then
    begin
    memo3.Lines.Strings[0]:='大学英语平均分:'+floattostr(sum1/n);
    memo3.Lines.Strings[1]:='高等数学平均分:'+floattostr(sum2/n);
    memo3.Lines.Strings[2]:='思想修养平均分:'+floattostr(sum3/n);
    memo3.Lines.Strings[3]:='计算机基础平均分:'+floattostr(sum4/n);
    end;
    改为:
    memo3.Lines.Add('大学英语平均分:'+floattostr(sum1/n));
    memo3.Lines.Add('高等数学平均分:'+floattostr(sum2/n));
    memo3.Lines.Add('思想修养平均分:'+floattostr(sum3/n));
    memo3.Lines.Add('计算机基础平均分:'+floattostr(sum4/n));
      

  2.   

    我是想做一个成绩管理系统
    要算输入成绩的各门课程的平均分
    用MEMO显示出来
    谢谢你的帮忙!
      

  3.   

    怎么个混乱法儿?
    你把MEMO的ScrollBars设为ssBoth
    然后再把
    if n<>0 then
    begin
      memo3.Lines.Strings[0]:='大学英语平均分:'+floattostr(sum1/n);
      memo3.Lines.Strings[1]:='高等数学平均分:'+floattostr(sum2/n);
      memo3.Lines.Strings[2]:='思想修养平均分:'+floattostr(sum3/n);
      memo3.Lines.Strings[3]:='计算机基础平均分:'+floattostr(sum4/n);
    end;
    改为:
    memo3.Lines.Clear;
    if n<>0 then
    begin
      memo3.Lines.Add('大学英语平均分:  '+floattostr(sum1/n));
      memo3.Lines.Add('高等数学平均分:  '+floattostr(sum2/n));
      memo3.Lines.Add('思想修养平均分:  '+floattostr(sum3/n));
      memo3.Lines.Add('计算机基础平均分:'+floattostr(sum4/n));
    end;这样不行吗?
      

  4.   

    对不起,我刚才没有看到,你初始化了的。应该没有错呀。
    用这句话;
    memo3.Lines.Add('大学英语平均分:'+floattostr(sum1/n));
    memo3.Lines.Add('高等数学平均分:'+floattostr(sum2/n));
    memo3.Lines.Add('思想修养平均分:'+floattostr(sum3/n));
    memo3.Lines.Add('计算机基础平均分:'+floattostr(sum4/n));