Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Люди, подскажите как мне сделать , Мне требуется , чтобы когда в CheckBox поставил галочку, в переменной было записано - on , а если не ставить - то off
в какой? CheckBox-а ? заметил еще такую фичу, если в переменую чебокса записать "труе", то галка в чебоксе отобразится SetVar "[CheckBox1]" "true" Но если снять и обратно поставить галочку, то в переменной будет запись чекед SetVar "[CheckBox1]" "Checked". Хотя и это лечится: положить сверху чебокса невидимую кнопку и писать в переменную true/false (пример внизу) Получается, что в переменной чебокса можно записать только Checked, а on/off не прокатит. Только создавать парную переменую типа SetVar "[ChBx1]" "on" см. пост выше -------------------- данный пример необходим, когда работаешь с базой данных. Т.к. в БД чебокс выставляется true/false. Я для удобства делал примерно, как в примере
На заметку: если отправить "Checked" в какую-либо переменную, предварительно объявленную как Boolean, то она примет значение "True", а вот "пустышку" (т.е. как бы "Unchecked") она отвергнет (не станет "False"), и выскочит сообщение об ошибке.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Кстати иногда бывают казусы. У меня как-то что-то с этим "Checked" тоже не работало, аж весь мозг вспотел! А потом выяснилось, что в этом "Checked" вместо английской "c" случайно в середину затесалась русская "с"!!! А чисто внешне (в редакторе) все выглядело ОК, и фиг догадаешься - почему не работает?
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Это все хорошо. А вот если CheckBox-а три и более. Как тогда быть? На примере проверки использовал обычное сообщение которое отображает какие пункты отмечены. Но вот что-то не очень хорошо получается. Хорошо только первый раз, дальше сбой, все пункты считаются отмеченными. NeoBook 5.7.1
If "[CheckBox1][CheckBox2][CheckBox3]" "=" "" AlertBox "Сообщение" "Вы не отметили ни одного пункта!" Else AlertBox "Сообщение" "Вы отметили:[CB1][CB2][CB3]" EndIf
Добавлено (24 Август 2011, 01:07) --------------------------------------------- Kaktuz, я там копипастил, и забыл чекбокс 1 поменять на 2 и 3. Надеюсь сам сможешь.
мм.. это не совсем то что нужно. Здесь получается отображает сообщение с списком боксов и пометкой о том активен он или нет. А я имел в виду что бы не активные не отображались в списке вообще. Что бы выводился список только активных компонентов. NeoBook 5.7.1
Грузятся переменные, а потом отображаются если активны. Правда если бы в место "yes" грузилось название чекбокса, было бы лучше. надо еще над этим поработать... NeoBook 5.7.1
нет. ты сново суть не понял в пунктах "yes" будет разное название и ставить туда цикл ни к месту, цифры там не надо, там надо разновидность строк, названий. Пример (магазинный): Чекбоксы: +Магнитофон -Фонарь +Диск Сообщение: Вы выбрали: Магнитофон, Диск. NeoBook 5.7.1
вот правильно, заноси все элементы категорий в массивы переменных, получаешь к ним доступ в цикле всего лишь меняя индекс в имени переменной, а этот индекс - счетчик цикла. понял?
А если много категорий с элементами, конструируй многомерные массивы типа [Category_[x]_[y]] в итоге имеешь доступ к категории [x] и элементам в ней [y]. А вообще подумай над применением базы данных, если много всего. Как задавать вопросы
Добавлено (24 Август 2011, 11:47) --------------------------------------------- чтоб активные не отображались, нужно добавить еще обработку после выбора чебоксов Пример, Создай 6 чебоксов. На кнопку код:
Ты еще не представляешь на что способна эта умница И заметь минимальность написанного кода. Не знаю, как получилось бы в ммб, в смысле компактности, но нб на высоте (для меня). Вывод: в ней все просто, надо лишь освоить справку, хотя бы простых решений...
Сообщение отредактировано Сергей - Ср, 24 Августа 2011, 16:34
Всем привет. Суть такая, есть ряд чекбоксов. некоторые из них нужно отметить, чтобы перейти на определенную страницу, в случае неправильного ответа, сообщение что есть ошибка. Помогите с кодом. Александр Сергеевич Шурыгин
If "[CheckBox1]" "=" "" SetVar "[CheckBox1]" "True" EndIf
А чекбокс одинаково понимает 1\0, true\false, Checked\любой символов кроме тех что перечислил. Мож еще какие, не проверял.
parabel, делать проверку нужно. Как тебе объяснить? Пример бы показал как делаешь и что не получается. Для начала скорей всего читать надо, что такое переменные и условия. Да и вообще со справки начать бы наверно надо.
И не надо один и тот же вопрос в разных темах. Быстрей ответ не получишь. Не хочешь читать хелп?
Код If "[CheckBox1]" "=" "" SetVar "[CheckBox1]" "True" EndIf
mishem, а как же "оптимизация" кода"?. Масло-масляное получается. К тому же в этих примерах совершенно разная логика и результат. В первом случае ты присваиваешь переменной значение в любом случае, а во втором только при соблюдении условия!
Цитата (mishem)
А чекбокс одинаково понимает 1\0, true\false, Checked\любой символов кроме тех что перечислил.
Чекбокс-то понимает, но вот что будет, если в каком -то месте программы окажется, скажем, такой код:
Код
If "[CheckBox1]" "=" "Checked" первое Else второе EndIf
а в [CheckBox1] в это время красуется "0/1" или "False/True"?
Для необушного интерпретатора это все вовсе не одно и то же.
Впрочем, каждый сам себе режиссер... - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
К тому же в этих примерах совершенно разная логика и результат.
Я видел ошибку, исправлять не стал. Смысл понятен и так. Поставь неравенство и все будет правильно.
Цитата (Peter)
В первом случае ты присваиваешь переменной значение в любом случае, а во втором только при соблюдении условия!
А зачем вообще присваивать False? Мож я что то с наскоку и не ухватываю, но на мой взгляд проверки значения на его существование вполне достаточно. Будь то True, Checked, или 1 результат будет верный. Другое дело если кто то специально будет присваивать False или 0, то да, здесь уже надо будет писать лишние проверки и присваивать значения. Только вот зачем? В базу данных ведь тоже можно посылать условие с проверкой на пустоту. Если переменная не пустая, значит True. Хотя я точно не знаю что имел ввиду Сергей. Могу и ошибаться. Это чисто теоретически.
Цитата (Peter)
если в каком -то месте программы окажется, скажем, такой код:
Так в том то и дело что если взять за правило не писать Checked, то такой код не может появится неоткуда.
Цитата (Peter)
а в [CheckBox1] в это время красуется "0/1" или "False/True"?
У меня во всяком случае не красуется.
Добавлено (26 Февраля 2013, 17:35) ---------------------------------------------
Цитата (mishem)
В базу данных ведь тоже можно посылать условие с проверкой на пустоту.
Также и получать из базы. В базе данных переменная не CheckBox1 (я так думаю), а значит мы получаем что то из переменной к примеру Check, определяем что в ней находится и присваиваем(или не присваиваем) переменной CheckBox1. В таком случае что бы в CheckBox1 не находилось когда флажок отмечен, мы всегда будем получать какое то значение. А значит переменная не пустая. Соответственно нам не надо знать что там записано. чекед, труе или единица. Не хочешь читать хелп?
Ох-хо-хо... mishem, ты мыслишь рАзово. Если твоя программа состоит из трех кнопок и двух подпрограмм, то можно не париться. Ну а если условная переменная используется в других подпрограммах и скриптах объектов, и далеко не факт, что удобно (или даже возможно) будет проверять её на True (причем именно на "True").
В сотый раз повторяю, что путь (способ) рализации чего-либо может быть не один, и каждый сам должен решать как ему удобнее и понятнее, выработать свои собственные правила написания кода.
Ты вот все спрашивал типа "зачем объявлять переменные?", и сколько я не пыжился, так и не смог втолковать. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться