program complex;
var n11,n22,n1,n1j,n2,n2j,op,otvet:integer;
d1,m1,d2,m2,res1,res2:integer;
oper,itog1,itog2:string;
cl,cm,resh:command;
begin
n11:=FormAddString('N1');
n1:=FormAddTextField('deystvit','0',50,TF_NUMERIC);
n1j:=FormAddTextField('+j','0',50,TF_NUMERIC);
n22:=FormAddString('N2');
n2:=FormAddTextField('deystvit','0',50,TF_NUMERIC);
n2j:=FormAddTextField('+j','0',50,TF_NUMERIC);
op:=FormAddTextField('operaciya','-',50,TF_ANY);
ShowForm;
d1:=FormGetValue(n1);
m1:=FormGetValue(n1j);
d2:=FormGetValue(n2);
m2:=FormGetValue(n2j);
oper:=FormGetText(op);
resh:=CreateCommand('reshit',CM_SCREEN,2);
AddCommand(resh);
repeat
cl:=GetClickedCommand;
until cl=resh;
if oper='+' then
begin
res1:= d1 + d2;
res2:= m1 + m2;
end;
if oper='-' then
begin
res1:=d1-d2;
res2:=m1-m2;
end;
itog1:= integerToString(res1) ;
itog2:= integerToString(res2) ;
otvet:=FormAddString(itog1+'+j'+itog2);
ShowForm;
cm := createCommand('Exit', CM_OK, 1);
addCommand(cm);
repeat
delay(100);
until getClickedCommand = cm;
end.
Нерешает
if oper='+' then
begin
res1:= d1 + d2;
res2:= m1 + m2;
end;
if oper='-' then
begin
res1:=d1-d2;
res2:=m1-m2;
end;
или какая ни-ть другая часть кода. Может не вытаскивает значения из TextField
d1:=FormGetValue(n1);
m1:=FormGetValue(n1j);
d2:=FormGetValue(n2);
m2:=FormGetValue(n2j);
oper:=FormGetText(op);
Скрин на эмуляторе