|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.03.2012, 01:22 | #1 |
Пользователь
Регистрация: 03.06.2009
Сообщений: 62
|
Delphi и COM-порт.
Есть платка с 3 кнопками, подключенная к com порту. По нажатию на каждую из кнопок в com порт отсылаются символы 1,2 и 3 соответственно. В проге они считываются с com-порта. Использую CPortLib.
Необходимо сделать что-то типа тестирования с выбором ответа с этих кнопок. Пробовал реализовать считывание с com-порта при помощи repeat until, с первым вопросом проходит все нормально: программа принимает символ, сравнивает с правильным ответом, а со следующими вопросом такое не проходит. Так как прога берет первый принятый символ и сравнивает сразу со всеми вопросами(вариантами ответов). Как реализовать задачу так, чтобы при нажатии на кнопку сравнивался ответ только с текущим вопросом, а не со всеми сразу? т.е 1ый вопрос > нажатие кнопки > сравнивание с ответом > результат (правильно/не правильно) > 2ой вопрос > нажатие кнопки > сравнивание с ответом > результат... и т.д. буду благодарен любой помощи....) |
10.03.2012, 02:41 | #2 |
Недо
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,394
|
Здравствуйте, приехали. А исходный код где?
На самом деле все делается очень просто. Например, вы можете хранить номер текущего вопроса в переменной. А считывание производить с помощью таймера. Грубо говоря: Таймер. Код:
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
|
10.03.2012, 16:25 | #3 |
Пользователь
Регистрация: 03.06.2009
Сообщений: 62
|
приходила в голову идея с таймером... ладно вечером попробую, если что напишу
|
10.03.2012, 21:55 | #4 |
Пользователь
Регистрация: 03.06.2009
Сообщений: 62
|
с таймером вообще не получается... пробую все также с repeat until... сейчас пробую хотябы чтоб по очереди к label1,2,3... присваивался номер нажатой кнопки.... но почему - то при первом нажатии всем лэйблам присваивается номер нажатой кнопки одновременно... как сделать так чтобы прога после первого нажатия присвоила к первому лэйблу, после второго - второму и т.д
Код:
|
11.03.2012, 04:06 | #5 |
Пользователь
Регистрация: 03.06.2009
Сообщений: 62
|
проблема в том что во время нажатия кнопки, в порт каждую мс отсылается символ, т.е получаем 1111111111. Как сделать чтобы прога приняла только первый символ?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Lpt порт и delphi | _PROGRAMM_ | Общие вопросы Delphi | 9 | 25.10.2011 08:29 |
Проблема с отправкой строки в com-порт. Delphi | KopfSchuss | Помощь студентам | 5 | 26.04.2011 20:54 |
[Delphi] подача определенного питание на УСБ порт | MASSIOMO | Помощь студентам | 5 | 15.04.2009 21:39 |
Delphi 7, Com порт, Win XP | dagarik | Win Api | 5 | 30.12.2008 08:26 |