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

Вот как обещал мой код))))
Program math;
   procedure menu;
var  STReal:real;
     str:string;
     itemId,STI, a,b,c,d,e:integer;
     sinI,cosI,tgI,ctgI,id:real;
     cmd, cmdOK, cmdExit,OK, clicked: command;
     exit: boolean;
Begin
ShowMenu('Главное меню',CH_IMPLICIT);
        a:=MenuAppendString('sin');
        b:=MenuAppendString('cos');
        c:=MenuAppendString('tg');
        d:=MenuAppendString('ctg');
        e:=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=a then
          Begin
          itemId:=FormAddTextField('Введите число','',20,TF_NUMERIC);
                       

                       cmdOK:=CreateCommand('ОК', CM_OK, 1);
        cmdExit:=CreateCommand('Выход', CM_EXIT, 2);
        AddCommand(cmdOK); // Тут немного непонятно. Клавиша выбора там уже и так есть, но ладно.
        AddCommand(cmdExit);
        Repaint;
        cmd := EMPTYCOMMAND;
        str:=FormGetText(itemId);
                 repeat 
                         delay(100);  
                         clicked := getClickedCommand;  
                         if cmd=cmdExit then Halt;
                         
                 until clicked = cmdOK;
                 if cmd=cmdOk then begin
                 str:=FormGetText(itemId);
                STI:=StringToInteger(str);
                STReal:=StringToReal(str,STI);
                sinI:=sin(STReal);
                ClearForm;
        setcolor(255,255,255); 
        FillRect(0,0,GetWidth,getHeight);
        setcolor(0,0,0);
        
        
        DrawText('gh'+sinI, 10, 20);
        repaint;
                delay(10000);
                end;
                end; else
       if MenuGetSelectedIndex=b then
        Begin
        itemId:=FormAddTextField('Введите число','',20,TF_NUMERIC);
          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;
                str:=FormGetText(itemId);
                STI:=StringToInteger(str);
                STReal:=StringToReal(str,STI);
                cosI:=cos(STReal);
                DrawText('Cos числа'+STReal+'='+CosI,5,5);
                repaint;
          end; else 
        if MenuGetSelectedIndex=c then 
        Begin
        itemId:=FormAddTextField('Введите число','',20,TF_NUMERIC);
          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;
                str:=FormGetText(itemId);
                STI:=StringToInteger(str);
                STReal:=StringToReal(str,STI);
                tgI:=sin(STReal);
                DrawText('Tg числа'+STReal+'='+tgI,5,5);
                repaint;
          end; else 
        if MenuGetSelectedIndex=c then
        Begin
        itemId:=FormAddTextField('Введите число','',20,TF_NUMERIC);
          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;
                str:=FormGetText(itemId);
                STI:=StringToInteger(str);
                STReal:=StringToReal(str,STI);
                ctgI:=cos(STReal)/sin(STReal);
                DrawText('Ctg числа'+STReal+'='+ctgI,5,5);
                repaint;
          end; else 
        if MenuGetSelectedIndex=d then Halt;
End;
Begin
menu;
repaint;
end.
И всеравно не пашет(((
__________________




(Offline)
 
Ответить с цитированием