
Program math;
procedure menu;
var STReal:real;
str:string;
itemId:integer;
sinI,cosI,tgI,ctgI,id:real;
cmd, cmdOK, cmdExit: command;
Begin
ShowForm;
ShowMenu('Главное меню',CH_IMPLICIT);
id:=MenuAppendString('sin');
id:=MenuAppendString('cos');
id:=MenuAppendString('tg');
id:=MenuAppendString('ctg');
id:=MenuAppendString('Выход');
cmdOK:=CreateCommand('ОК', CM_OK, 1);
cmdExit:=CreateCommand('Выход', CM_EXIT, 2);
AddCommand(cmdOK); // Тут немного непонятно. Клавиша выбора там уже и так есть, но ладно.
AddCommand(cmdExit);
cmd := EMPTYCOMMAND;
repeat
cmd:=GetClickedCommand;
if cmd=cmdExit then Halt;
until cmd=cmdOk;
ShowForm;
if MenuGetSelectedIndex=0 then
Begin
cmdOK:=CreateCommand('ОК', CM_OK, 1);
cmdExit:=CreateCommand('Выход', CM_EXIT, 2);
AddCommand(cmdOK); // Тут немного непонятно. Клавиша выбора там уже и так есть, но ладно.
AddCommand(cmdExit);
itemId:=FormAddTextField('Введите число с точностьюдо сотых','',20,TF_ANY);
repeat
Delay(50);
cmd:=GetClickedCommand;
until cmd=cmdOk;
showCanvas; // переход в режим канвас
str:=FormGetText(itemId);
{ STI:=StringToInteger(str); эту строку я ваще не понял }
STReal:=StringToReal(str,100); // так как с точностью до сотых то вводим 100, можно увеличить в случаи необходимости
sinI:=sin(STReal);
cmd:=GetClickedCommand;
if cmd=cmdExit then Halt;
setcolor(0,0,0);
DrawText('Sin числа'+STReal+'='+sinI,5,5);
repaint;
delay(10000);
end else
if MenuGetSelectedIndex=1 then
Begin
end else
if MenuGetSelectedIndex=2 then
Begin
end else
if MenuGetSelectedIndex=3 then
Begin
end else
if MenuGetSelectedIndex=4 then Halt;
End;
Begin
menu;
end.