Создаю первую програму для нахождения синусов,косинусов ну и т.д. пока работает только синус, и тот не хочет выводить ответ.
Вот собственно код:

Program math;
procedure menu;
var STReal:real;
str:string;
itemId,STI:integer;
sinI,cosI,tgI,ctgI,id:real;
cmd, cmdOK, cmdExit: command;
exit: boolean;
Begin
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);
Repaint;
cmd := EMPTYCOMMAND;
repeat
cmd:=GetClickedCommand;
if cmd=cmdExit then Halt;
Delay(50); // Вставь тут небольшую паузу. Система же должна считывать клавиатуру.
until cmd=cmdOk;
repaint;
ShowForm;
if MenuGetSelectedIndex=0 then
Begin
cmdOK:=CreateCommand('ОК', CM_OK, 1);
cmdExit:=CreateCommand('Выход', CM_EXIT, 2);
AddCommand(cmdOK); // Тут немного непонятно. Клавиша выбора там уже и так есть, но ладно.
AddCommand(cmdExit);
Repaint;
cmd := EMPTYCOMMAND;
repaint;
itemId:=FormAddTextField('Введите число','',20,TF_NUMERIC);
repaint;
str:=FormGetText(itemId);
STI:=StringToInteger(str);
STReal:=StringToReal(str,STI);
sinI:=sin(STReal);
repeat
cmd:=GetClickedCommand;
if cmd=cmdExit then Halt
else if cmd=cmdOk then DrawText('Sin числа'+STReal+'='+SinI,5,5);
Delay(50); // Вставь тут небольшую паузу. Система же должна считывать клавиатуру.
until cmd=cmdOk;
repaint;
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;
repaint;
End;
Begin
menu;
repaint;
end.
Помогите решыть проблему