Показать сообщение отдельно
Старый 11.10.2009, 12:50   #1
JACUK
Знающий
 
Регистрация: 09.10.2009
Сообщений: 340
Написано 37 полезных сообщений
(для 61 пользователей)
Чет не пашет( Спецы посмотрите а???

Создаю первую програму для нахождения синусов,косинусов ну и т.д. пока работает только синус, и тот не хочет выводить ответ.
Вот собственно код:
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.
Помогите решыть проблему
(Offline)
 
Ответить с цитированием