Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2010, 15:40   #1
Athebest
Новичок
Джуниор
 
Регистрация: 19.12.2010
Сообщений: 10
По умолчанию Отлов нажатий в Delphi и оператор Case

ПИШЕМ В DELPHI7

Программа вводит число и предлагает меню Sin, Cos, Tg. При нажатии на кнопки s c t соответственно прога вычисляет sin cos и tg введённого числа, при этом переводя градусы в радианы (использовать оператор case). результат выводить любым способом, я решил lbl2.Caption

Вопросы:
как юзать оператор case, если он не понимает этих клавиш?
Какая процедура должна ловить нажатия и как она должна реагировать на них?

Если не сложно, решите задачку пожалуйста, чтобы решение подходило под условие...
Athebest вне форума Ответить с цитированием
Старый 19.12.2010, 15:54   #2
Athebest
Новичок
Джуниор
 
Регистрация: 19.12.2010
Сообщений: 10
По умолчанию

Не получается конктретно следущее:
Не понимает как считать синус того, что ввели в число, при StrToInt орёт - несовместимые типы
Не знаю, как вообще при выполнении этого задания может использоваться case

Последний раз редактировалось Athebest; 19.12.2010 в 16:52.
Athebest вне форума Ответить с цитированием
Старый 19.12.2010, 21:03   #3
Athebest
Новичок
Джуниор
 
Регистрация: 19.12.2010
Сообщений: 10
По умолчанию

Первый курс же... Не может быть так сложно, что никто не знает...
Athebest вне форума Ответить с цитированием
Старый 19.12.2010, 21:13   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

1)
Цитата:
Какая процедура должна ловить нажатия ?
onKeyDown
2)
Цитата:
как она должна реагировать на них?
Вам виднее! Можно процедуру какую-нибудь вызвать!
3)
Цитата:
как юзать оператор case, если он не понимает этих клавиш?
Это вы всмысле про клавиши s c t
А если так попробывать
Код:
var
    key: char;
////////////////////////////////
    case key of
        's': То синус
        'c': то косинус 
      и тд
     end;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 19.12.2010, 21:24   #5
Athebest
Новичок
Джуниор
 
Регистрация: 19.12.2010
Сообщений: 10
По умолчанию

Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
case key of
        's': lbl1.Caption:='blkablka'
        'c': lbl1.caption:='dfkjhdfhd';
end;
Говорит [Error] Unit1.pas(32): Incompatible types: 'Word' and 'Char'
Если меняю вот здесь:
(Sender: TObject; var Key: Word;
Shift: TShiftState);

Ворд на чар, тоже не запускается
Athebest вне форума Ответить с цитированием
Старый 19.12.2010, 21:27   #6
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

OnKeyPress тебе в руки
_Engine_ вне форума Ответить с цитированием
Старый 19.12.2010, 21:30   #7
Athebest
Новичок
Джуниор
 
Регистрация: 19.12.2010
Сообщений: 10
По умолчанию

Цитата:
Сообщение от _Engine_ Посмотреть сообщение
OnKeyPress тебе в руки
А можно поподробнее?
В этой процедуре он так ругаться не будет?
Athebest вне форума Ответить с цитированием
Старый 19.12.2010, 21:35   #8
Athebest
Новичок
Джуниор
 
Регистрация: 19.12.2010
Сообщений: 10
По умолчанию

Ок, На нажатия реагировать научились, НО, только с выключенным окошков ввода (edt1)
Как сделать так, чтобы После того как я ввёл число в эдт1, курсор с него убрался и нажатая кнопка влияла бы только на процедуру, а не вводилась в это окно?
Athebest вне форума Ответить с цитированием
Старый 19.12.2010, 21:35   #9
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

а попробовать не быстрее получится?
_Engine_ вне форума Ответить с цитированием
Старый 19.12.2010, 21:36   #10
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

убрать фокус ввода с Edit
_Engine_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C# + WPF] Отлов нажатий клавиш, хуки, горячие клавиши в проекте WPF Casper-SC WPF, UWP, WinRT, XAML 3 03.03.2017 15:00
оператор case of wlll Помощь студентам 4 10.11.2010 19:09
оператор выбора case of wlll Помощь студентам 1 09.11.2010 21:59
Исправте ошибку(оператор case и if) neomaximus Помощь студентам 9 29.11.2008 11:36
Оператор case Yermek Помощь студентам 3 12.10.2008 18:06