Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Подправьте код
vugerДата: Сб, 12 Февраля 2011, 12:03 | Сообщение # 1
Любопытный
Ребята, извините что влазию, подправьте код пожалуйста!
Смысл в том, что без нажатия на кнопку и ввода имени пользователя по идее меню программы не должно работать, оно впринципе и не работает, только вот после нажатия на кнопку даже без ввода имени, все равно меню активизируется, че не так написанно?

If "[Name]" ">" ""
EnableMenuItem "MenuHeading1"
EnableMenuItem "MenuHeading3"
EnableMenuItem "MenuHeading2"
EnableMenuItem "MenuHeading4"
EnableMenuItem "MenuHeading5"
EnableMenuItem "MenuHeading6"
EnableMenuItem "MenuHeading7"
EnableMenuItem "MenuHeading8"
Else
SystemSound "SystemExclamation"
AlertBox "Сообщение!" "Для начала работы с программой необходимо ввести имя пользователя!"
FocusObject "TextEntry1"
EndIf
AlertBox "Сообщение!" "Добро пожаловать, теперь Вы можете использовать меню программы"
HideObject "PushButton6" "None" "0"
HideObject "TextEntry1" "None" "0"
HideObject "Text6" "None" "0"

 
СообщениеРебята, извините что влазию, подправьте код пожалуйста!
Смысл в том, что без нажатия на кнопку и ввода имени пользователя по идее меню программы не должно работать, оно впринципе и не работает, только вот после нажатия на кнопку даже без ввода имени, все равно меню активизируется, че не так написанно?

If "[Name]" ">" ""
EnableMenuItem "MenuHeading1"
EnableMenuItem "MenuHeading3"
EnableMenuItem "MenuHeading2"
EnableMenuItem "MenuHeading4"
EnableMenuItem "MenuHeading5"
EnableMenuItem "MenuHeading6"
EnableMenuItem "MenuHeading7"
EnableMenuItem "MenuHeading8"
Else
SystemSound "SystemExclamation"
AlertBox "Сообщение!" "Для начала работы с программой необходимо ввести имя пользователя!"
FocusObject "TextEntry1"
EndIf
AlertBox "Сообщение!" "Добро пожаловать, теперь Вы можете использовать меню программы"
HideObject "PushButton6" "None" "0"
HideObject "TextEntry1" "None" "0"
HideObject "Text6" "None" "0"


Автор - vuger
Дата добавления - 12 Февраля 2011 в 12:03
СергейДата: Сб, 12 Февраля 2011, 12:23 | Сообщение # 2
Необукер
Quote (vuger)
че не так написанно?
попробуй сам проанализировать
Quote
If "[Name]" "=" "Вася"
.If "[Name]" "<>" ""
Loop "1" "8" "[j]"
EnableMenuItem "MenuHeading[j]"
EndLoop
SystemSound "SystemExclamation"
AlertBox "Сообщение!" "Добро пожаловать [Name], теперь Вы можете использовать меню программы"
HideObject "PushButton6" "None" "0"
HideObject "TextEntry1" "None" "0"
HideObject "Text6" "None" "0"
Else
AlertBox "Сообщение!" "Для начала работы с программой необходимо ввести имя пользователя!"
FocusObject "TextEntry1"
EndIf

Quote
If "[Name]" "=" "Вася" проверка на определенное имя
If "[Name]" "<>" "" проверка, что поле не пустое, т.е. если поставить просто 0, то вход будет выполнен
из двух усовий выбери, который нужен


Сообщение отредактировано
Сергей - Сб, 12 Февраля 2011, 12:47
 
Сообщение
Quote (vuger)
че не так написанно?
попробуй сам проанализировать
Quote
If "[Name]" "=" "Вася"
.If "[Name]" "<>" ""
Loop "1" "8" "[j]"
EnableMenuItem "MenuHeading[j]"
EndLoop
SystemSound "SystemExclamation"
AlertBox "Сообщение!" "Добро пожаловать [Name], теперь Вы можете использовать меню программы"
HideObject "PushButton6" "None" "0"
HideObject "TextEntry1" "None" "0"
HideObject "Text6" "None" "0"
Else
AlertBox "Сообщение!" "Для начала работы с программой необходимо ввести имя пользователя!"
FocusObject "TextEntry1"
EndIf

Quote
If "[Name]" "=" "Вася" проверка на определенное имя
If "[Name]" "<>" "" проверка, что поле не пустое, т.е. если поставить просто 0, то вход будет выполнен
из двух усовий выбери, который нужен

Автор - Сергей
Дата добавления - 12 Февраля 2011 в 12:23
vugerДата: Сб, 12 Февраля 2011, 12:29 | Сообщение # 3
Любопытный
ЙЕС!!! а что, MenuHeading[i] это сразу все меню активизирует? как так?

Loop "1" "8" "[i] - вот это вообще не понял, ну лууп это зацикливание, это понятно, только что мы зацикливаем?

 
СообщениеЙЕС!!! а что, MenuHeading[i] это сразу все меню активизирует? как так?

Loop "1" "8" "[i] - вот это вообще не понял, ну лууп это зацикливание, это понятно, только что мы зацикливаем?


Автор - vuger
Дата добавления - 12 Февраля 2011 в 12:29
СергейДата: Сб, 12 Февраля 2011, 12:41 | Сообщение # 4
Необукер
Quote (vuger)
вот это вообще не понял
а это как раз почитай справку про цикл, а не зацикливание также читай про условие IF
Есть таже мини уроки, незнаю на счет циклов, но по условиям есть.

В кратце цикл: Многократное исполнение определенных действий(инструкций, команд и т.д.)

Добавлено (12 Февраль 2011, 12:41)
---------------------------------------------



Сообщение отредактировано
Сергей - Сб, 12 Февраля 2011, 12:56
 
Сообщение
Quote (vuger)
вот это вообще не понял
а это как раз почитай справку про цикл, а не зацикливание также читай про условие IF
Есть таже мини уроки, незнаю на счет циклов, но по условиям есть.

В кратце цикл: Многократное исполнение определенных действий(инструкций, команд и т.д.)

Добавлено (12 Февраль 2011, 12:41)
---------------------------------------------


Автор - Сергей
Дата добавления - 12 Февраля 2011 в 12:41
vugerДата: Сб, 12 Февраля 2011, 12:42 | Сообщение # 5
Любопытный
Спасибо, Сергей! господа админы тема исчерпанна, можете удалять.
 
СообщениеСпасибо, Сергей! господа админы тема исчерпанна, можете удалять.

Автор - vuger
Дата добавления - 12 Февраля 2011 в 12:42
DEMBELДата: Сб, 12 Февраля 2011, 13:26 | Сообщение # 6
Наш дизайнер
Quote (vuger)
что мы зацикливаем?

зацикливаем то что между Loop и EndLoop, как правило это набор однотипных команд, а именно твои команды EnableMenuItem которые ты написал 8 раз


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщение
Quote (vuger)
что мы зацикливаем?

зацикливаем то что между Loop и EndLoop, как правило это набор однотипных команд, а именно твои команды EnableMenuItem которые ты написал 8 раз

Автор - DEMBEL
Дата добавления - 12 Февраля 2011 в 13:26
vugerДата: Сб, 12 Февраля 2011, 13:32 | Сообщение # 7
Любопытный
Quote (DEMBEL)
зацикливаем то что между Loop и EndLoop, как правило это набор однотипных команд, а именно твои команды EnableMenuItem которые ты написал 8 раз

ух, вот оно то чё, Михалыч, теперь яснее ясного, только что за "j"она то, что означает? или берется произвольная любая буква?

Сообщение отредактировано
vuger - Сб, 12 Февраля 2011, 13:37
 
Сообщение
Quote (DEMBEL)
зацикливаем то что между Loop и EndLoop, как правило это набор однотипных команд, а именно твои команды EnableMenuItem которые ты написал 8 раз

ух, вот оно то чё, Михалыч, теперь яснее ясного, только что за "j"она то, что означает? или берется произвольная любая буква?


Автор - vuger
Дата добавления - 12 Февраля 2011 в 13:32
DEMBELДата: Сб, 12 Февраля 2011, 13:45 | Сообщение # 8
Наш дизайнер
j это счетчик оборотов цикла, в данном случае от 1 до 8. При каждом обороте значение счетчика j=1,2...8 прекрасно подставляется вместо ваших MenuHeading1, MenuHeading2, не находите?

Добавлено (12 Февраль 2011, 13:45)
---------------------------------------------
ну и при каждом обороте действие EnableMenuItem выполняется для нужного MenuHeading, каждого из восьми (по возрастанию счетчика).


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениеj это счетчик оборотов цикла, в данном случае от 1 до 8. При каждом обороте значение счетчика j=1,2...8 прекрасно подставляется вместо ваших MenuHeading1, MenuHeading2, не находите?

Добавлено (12 Февраль 2011, 13:45)
---------------------------------------------
ну и при каждом обороте действие EnableMenuItem выполняется для нужного MenuHeading, каждого из восьми (по возрастанию счетчика).


Автор - DEMBEL
Дата добавления - 12 Февраля 2011 в 13:45
AlienДата: Сб, 12 Февраля 2011, 13:46 | Сообщение # 9


Сообщение отредактировано
Alien - Сб, 12 Февраля 2011, 13:46
 
Сообщение

Автор - Alien
Дата добавления - 12 Февраля 2011 в 13:46
DEMBELДата: Сб, 12 Февраля 2011, 13:51 | Сообщение # 10
Наш дизайнер
Quote (vuger)
или берется произвольная любая буква?

это переменная куда кладется счетчик, обзови как хочешь, хоть [achtung], но потом используй также:
Code
Loop "1" "8" "[achtung]"  
EnableMenuItem "MenuHeading[achtung]"  
EndLoop


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщение
Quote (vuger)
или берется произвольная любая буква?

это переменная куда кладется счетчик, обзови как хочешь, хоть [achtung], но потом используй также:
Code
Loop "1" "8" "[achtung]"  
EnableMenuItem "MenuHeading[achtung]"  
EndLoop

Автор - DEMBEL
Дата добавления - 12 Февраля 2011 в 13:51
vugerДата: Чт, 17 Февраля 2011, 10:43 | Сообщение # 11
Любопытный
Господа, а как добавить реагирование на клавишу ENTER, то есть, ввел имя пользователя нажал энтер, и вошел в систему...
в конкретно приведенном мной примере кода


Сообщение отредактировано
vuger - Чт, 17 Февраля 2011, 10:51
 
СообщениеГоспода, а как добавить реагирование на клавишу ENTER, то есть, ввел имя пользователя нажал энтер, и вошел в систему...
в конкретно приведенном мной примере кода

Автор - vuger
Дата добавления - 17 Февраля 2011 в 10:43
СергейДата: Чт, 17 Февраля 2011, 11:43 | Сообщение # 12
Необукер
в свойствах объекта есть параметр "Горячая клавиша" вот там и назначай
Прикрепления: 9969863.png (28.1 Kb)


Сообщение отредактировано
Сергей - Чт, 17 Февраля 2011, 11:48
 
Сообщениев свойствах объекта есть параметр "Горячая клавиша" вот там и назначай

Автор - Сергей
Дата добавления - 17 Февраля 2011 в 11:43
DEMBELДата: Чт, 17 Февраля 2011, 11:59 | Сообщение # 13
Наш дизайнер
перехват клавиш решается еще штатными способами примерно так

создайте кнопку за пределами проекта, чтобы ее не видно было. В кнопку напишите обработчик события нажатия клавиши, что должно выполняться. И повесьте на эту кнопку вызов по горячей клавише (это и будет Enter, как вы догадались).

возможные неувязочки:
-потеря фокуса проектом при выполнении скрипта из такой "невидимой" кнопки
-невыполнение скрипта в невидимой кнопке из-за отсутствия фокуса на ней
решаются установкой фокуса вручную соотв. штатными командами. Появляются редко, в обычных условиях должно все работать.
И не засовывайте в эту кнопку много кода, разместите там просто часть кода обработчика события нажатия Ентера, и возвращайте управление в проект.

Как только перехват кнопки перестает быть нужен, достаточно деактивировать кнопку с помощью DisableObject.

Это подходит для всех обьектов.

Добавлено (17 Февраль 2011, 11:59)
---------------------------------------------

Quote (Сергей)
в свойствах объекта есть параметр "Горячая клавиша" вот там и назначай
что-то не пойму, что происходит при нажатии горячей клавиши в поле ввода? должны по идее выполнятся прописанные в каком-нибудь событии команды, но ничего не выполняется...


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениеперехват клавиш решается еще штатными способами примерно так

создайте кнопку за пределами проекта, чтобы ее не видно было. В кнопку напишите обработчик события нажатия клавиши, что должно выполняться. И повесьте на эту кнопку вызов по горячей клавише (это и будет Enter, как вы догадались).

возможные неувязочки:
-потеря фокуса проектом при выполнении скрипта из такой "невидимой" кнопки
-невыполнение скрипта в невидимой кнопке из-за отсутствия фокуса на ней
решаются установкой фокуса вручную соотв. штатными командами. Появляются редко, в обычных условиях должно все работать.
И не засовывайте в эту кнопку много кода, разместите там просто часть кода обработчика события нажатия Ентера, и возвращайте управление в проект.

Как только перехват кнопки перестает быть нужен, достаточно деактивировать кнопку с помощью DisableObject.

Это подходит для всех обьектов.

Добавлено (17 Февраль 2011, 11:59)
---------------------------------------------

Quote (Сергей)
в свойствах объекта есть параметр "Горячая клавиша" вот там и назначай
что-то не пойму, что происходит при нажатии горячей клавиши в поле ввода? должны по идее выполнятся прописанные в каком-нибудь событии команды, но ничего не выполняется...

Автор - DEMBEL
Дата добавления - 17 Февраля 2011 в 11:59
vugerДата: Чт, 17 Февраля 2011, 12:01 | Сообщение # 14
Любопытный
Quote (Сергей)
в свойствах объекта есть параметр "Горячая клавиша" вот там и назначай

в моем примере не получилось

 
Сообщение
Quote (Сергей)
в свойствах объекта есть параметр "Горячая клавиша" вот там и назначай

в моем примере не получилось


Автор - vuger
Дата добавления - 17 Февраля 2011 в 12:01
DEMBELДата: Чт, 17 Февраля 2011, 12:08 | Сообщение # 15
Наш дизайнер
попробуй использовать кнопку.
Прикрепления: enter.zip (1.7 Kb)


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениепопробуй использовать кнопку.

Автор - DEMBEL
Дата добавления - 17 Февраля 2011 в 12:08
vugerДата: Чт, 17 Февраля 2011, 12:21 | Сообщение # 16
Любопытный
Quote (DEMBEL)
попробуй использовать кнопку

гениально, сработало, действительно, я бы сам не догадался, спасибо Сергей и Dembel! Получаю истиное удовольствие от отзывчивости людей на данном форуме, редко такое встретишь, рад, что нашел Вас!

 
Сообщение
Quote (DEMBEL)
попробуй использовать кнопку

гениально, сработало, действительно, я бы сам не догадался, спасибо Сергей и Dembel! Получаю истиное удовольствие от отзывчивости людей на данном форуме, редко такое встретишь, рад, что нашел Вас!


Автор - vuger
Дата добавления - 17 Февраля 2011 в 12:21
mishemДата: Чт, 17 Февраля 2011, 12:34 | Сообщение # 17
Эксперт форума


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение

Автор - mishem
Дата добавления - 17 Февраля 2011 в 12:34
vugerДата: Чт, 17 Февраля 2011, 12:39 | Сообщение # 18
Любопытный
 
Сообщение

Автор - vuger
Дата добавления - 17 Февраля 2011 в 12:39
  • Страница 1 из 1
  • 1
Поиск: