программа не реагирует на кнопки
Участников: 3
Страница 1 из 1
программа не реагирует на кнопки
В общем решил программером я стать внезапно. Сразу скажу полный ноль кроме пары уроков бейскика в далекие школьные годы (это я к тому что если вопрос тупо звучит то это по тупости а не что б народ доставать)
Начал разбирать я темы с учебника тутошнего.
В теме "select case или выбор одного из множества действий" набил код оттуда же - прога запускается но на кнопки не реагирует. Таким образом застрял в самом начале пути... Что может быть?
Начал разбирать я темы с учебника тутошнего.
В теме "select case или выбор одного из множества действий" набил код оттуда же - прога запускается но на кнопки не реагирует. Таким образом застрял в самом начале пути... Что может быть?
- Код:
' выводим на экран задание
print "отгадайте загадку!"
print "зимой и летом одним цветом"
print "1 снег"
print "2 попугай"
print "3 нос учителя"
print "4 ёлка"
print "Если вы не знаете, нажмите кнопку esc"
' строковая переменная, для символа с клавиатуры
dim k as string
do ' большая петля, в которой мы будем находиться пока загадка не будет решена
' петля, где мы ждём нажатия какой-нибудь кнопки
do
sleep
k = inkey$
loop while k <> ""
' в зависимости от того, какая клавиша была нажата, выводим различные сообщения
select case k
case "1" ' поскольку k у нас строковая, то и сравнивать нужно со строками
print "снега летом не бывает"
case "2" ' второй вариант
print "автор загадки предполагал, что о таких зверюшках вы никогда не слышали"
case "3" ' вариант 3
print "нужно быть вежливыми, и не тыкать пальцем в недостатки других"
case "4" ' правильный вариант
print "Правильно! Возьми с полки пирожок и скинь его мне на эл. почту"
exit do ' выходим из большой петли
case chr$(27) ' клавиша эскейп имеет код 27, который мы не можем просто так написать
print "Ну что так? А вобщем твоё дело, игра закончена"
case else
print "ну что ты не можеш попасть по нужным кнопкам?"
end select
loop ' конец большой петли
print "спасибо за игру!"
sleep
Ron- Сообщения : 11
Дата регистрации : 2009-01-05
Re: программа не реагирует на кнопки
Значет це так... (с) Глеб Жиглов
1. Изменить
1. Изменить
- Код:
loop while k <> ""
- Код:
loop while k = ""
- Код:
print "Ну что так? А вобщем твоё дело, игра закончена"
- Код:
print "Ну что так? А вобщем твоё дело, игра закончена":SLEEP:END
Gena- Сообщения : 182
Дата регистрации : 2008-11-05
Возраст : 30
Откуда : Москва
Re: программа не реагирует на кнопки
Спасиб за помощь. Помогло. А можно еще? Может тут открыть раздел для суперновичков?
Я так понимал что loop while k = "" значит петля пока к равно любой кнопке. А выходит что это - петля закончится как только к будет равно любой кнопке. Все верно? ну эт для полнейшей ясности так сказать.
Я так понимал что loop while k = "" значит петля пока к равно любой кнопке. А выходит что это - петля закончится как только к будет равно любой кнопке. Все верно? ну эт для полнейшей ясности так сказать.
Ron- Сообщения : 11
Дата регистрации : 2009-01-05
Re: программа не реагирует на кнопки
do: loop while (условие)
Пока условие верно (не равно 0), то петля будет замкнута.
Когда значение измениться, то петля будет разорвана.
do: loop while 1
всегда замкнута
do: loop while 0
всегда разорвана
Пока условие верно (не равно 0), то петля будет замкнута.
Когда значение измениться, то петля будет разорвана.
do: loop while 1
всегда замкнута
do: loop while 0
всегда разорвана
Re: программа не реагирует на кнопки
Раз уж я не врубился окончательно, давайте разберемся:
1 "" - обозначает любая кнопка?
если так то второе
2 "Пока условие верно (не равно 0), то петля будет замкнута"
loop while k = "" - с пуска программы К не присвоено никакого значения - выходит тогда петля должна прерваться? Тогда получается по логике что loop while k <> "" - то есть петля работает пока К не равна любой кнопке.
3. если 1 и 2 правильно то почему работает со знаком равно а с неравно не работает?
1 "" - обозначает любая кнопка?
если так то второе
2 "Пока условие верно (не равно 0), то петля будет замкнута"
loop while k = "" - с пуска программы К не присвоено никакого значения - выходит тогда петля должна прерваться? Тогда получается по логике что loop while k <> "" - то есть петля работает пока К не равна любой кнопке.
3. если 1 и 2 правильно то почему работает со знаком равно а с неравно не работает?
Ron- Сообщения : 11
Дата регистрации : 2009-01-05
Re: программа не реагирует на кнопки
"" это никакая кнопка не нажата, тоесть пусто.
do: sleep: loop while inkey = ""
Пока не будет нажата хоть какая-то кнопка.
inkey просто спрашивает клавиатуру, что на ней нажато и возвращает этот символ.
Вот можете побаловаться.
do: sleep: loop while inkey = ""
Пока не будет нажата хоть какая-то кнопка.
inkey просто спрашивает клавиатуру, что на ней нажато и возвращает этот символ.
Вот можете побаловаться.
- Код:
dim k as string
do
do
sleep
' получаем клавишу
k = inkey
' петля пока ничего не нажато
' нажатие разрывает петлю
loop while k = ""
' печатаем на экране нажатую клавишу
print "'"; k; "'"
' петля пока k не равно клавише esc
loop while k <> chr(27)
sleep
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|