高分求delphi随机加法算术题正确答案的准确显示

来源:百度知道 编辑:UC知道 时间:2024/05/14 06:10:59
var
I:integer;
begin
Randomize;

for I := 1 to 3 do

begin
a:=Random(100);
b:=Random(100);
Canvas.TextOut(20,20*I,IntToStr(a)+
'+'+IntToStr(b)+'=');
请在程序运行后出现的三个加法算式的等号右边的相应位置准确显示答案,菜鸟请教高手。

这需要两个过程的配合。TextOut“画”出来的像素,并无特征。

var
Form1: TForm1;
a,b:integer;
c:array[1..3] of TPoint;
d:array[1..3]of integer;

//产生过程修改如下:
procedure TForm1.Button3Click(Sender: TObject);
var
I:integer;
begin
Randomize;
for I := 1 to 3 do
begin
a:=Random(100);
b:=Random(100);
Canvas.TextOut(20,20*I,IntToStr(a)+'+'+IntToStr(b)+'=');
c[i]:=canvas.PenPos;
d[i]:=a+b;
end;
end;

//显示答案过程
procedure TForm1.Button4Click(Sender: TObject);
var
i:integer;
begin
for I := 1 to 3 do
canvas.TextOut(c[i].X,c[i].Y,IntTostr(d[i]));

end;