Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Peter, DEMBEL, YURIY  
Использование CheckBox
48celt48Дата: Сб, 08 Января 2011, 23:38 | Сообщение # 1
Новичок
Люди, подскажите как мне сделать ,
Мне требуется , чтобы когда в CheckBox поставил галочку, в переменной было записано - on , а если не ставить - то off
 
СообщениеЛюди, подскажите как мне сделать ,
Мне требуется , чтобы когда в CheckBox поставил галочку, в переменной было записано - on , а если не ставить - то off

Автор - 48celt48
Дата добавления - 08 Января 2011 в 23:38
GorezcaidДата: Сб, 08 Января 2011, 23:41 | Сообщение # 2
Ветеран форума
Читайте справочник
Code

If "[CheckBox1]" "=" "Checked"
    SetVar "[a]" "on"
Else
    SetVar "[a]" "off"
EndIf


Win7 Pro SP1 x64; NBv5.5.4rus,v5.6.2rus, v5.7.0en, Opera
 
СообщениеЧитайте справочник
Code

If "[CheckBox1]" "=" "Checked"
    SetVar "[a]" "on"
Else
    SetVar "[a]" "off"
EndIf

Автор - Gorezcaid
Дата добавления - 08 Января 2011 в 23:41
СергейДата: Сб, 08 Января 2011, 23:43 | Сообщение # 3
Необукер
Quote (48celt48)
в переменной было записано
в какой? CheckBox-а ?
заметил еще такую фичу, если в переменую чебокса записать "труе", то галка в чебоксе отобразится SetVar "[CheckBox1]" "true" Но если снять и обратно поставить галочку, то в переменной будет запись чекед SetVar "[CheckBox1]" "Checked". Хотя и это лечится: положить сверху чебокса невидимую кнопку и писать в переменную true/false :D (пример внизу)
Получается, что в переменной чебокса можно записать только Checked, а on/off не прокатит. Только создавать парную переменую типа SetVar "[ChBx1]" "on" см. пост выше
--------------------
данный пример необходим, когда работаешь с базой данных.
Т.к. в БД чебокс выставляется true/false. Я для удобства делал примерно, как в примере
Прикрепления: CheckBox.rar (1.8 Kb)


Сообщение отредактировано
Сергей - Вс, 09 Января 2011, 00:21
 
Сообщение
Quote (48celt48)
в переменной было записано
в какой? CheckBox-а ?
заметил еще такую фичу, если в переменую чебокса записать "труе", то галка в чебоксе отобразится SetVar "[CheckBox1]" "true" Но если снять и обратно поставить галочку, то в переменной будет запись чекед SetVar "[CheckBox1]" "Checked". Хотя и это лечится: положить сверху чебокса невидимую кнопку и писать в переменную true/false :D (пример внизу)
Получается, что в переменной чебокса можно записать только Checked, а on/off не прокатит. Только создавать парную переменую типа SetVar "[ChBx1]" "on" см. пост выше
--------------------
данный пример необходим, когда работаешь с базой данных.
Т.к. в БД чебокс выставляется true/false. Я для удобства делал примерно, как в примере

Автор - Сергей
Дата добавления - 08 Января 2011 в 23:43
PeterДата: Вс, 09 Января 2011, 06:39 | Сообщение # 4
Админ NeoBook
Quote (Сергей)
положить сверху чебокса невидимую кнопку и писать в переменную true/false

Зачем?
Можно проще - на событие "Click" CheckBox-a пишем:
Code
If "[CheckBox1]" "=" "Checked"
      SetVar "[CheckBox1]" "True"
     Else
      SetVar "[CheckBox1]" "False"
EndIf

На заметку: если отправить "Checked" в какую-либо переменную, предварительно объявленную как Boolean, то она примет значение "True", а вот "пустышку" (т.е. как бы "Unchecked") она отвергнет (не станет "False"), и выскочит сообщение об ошибке.

Прикрепления: CheckBox_Fixed.rar (1.7 Kb)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Сергей)
положить сверху чебокса невидимую кнопку и писать в переменную true/false

Зачем?
Можно проще - на событие "Click" CheckBox-a пишем:
Code
If "[CheckBox1]" "=" "Checked"
      SetVar "[CheckBox1]" "True"
     Else
      SetVar "[CheckBox1]" "False"
EndIf

На заметку: если отправить "Checked" в какую-либо переменную, предварительно объявленную как Boolean, то она примет значение "True", а вот "пустышку" (т.е. как бы "Unchecked") она отвергнет (не станет "False"), и выскочит сообщение об ошибке.


Автор - Peter
Дата добавления - 09 Января 2011 в 06:39
СергейДата: Вс, 09 Января 2011, 09:38 | Сообщение # 5
Необукер
Quote (Peter)
Можно проще - на событие "Click" CheckBox-a пишем
Страно я проверял этот метод и у меня он тупо не работал, т.е. галка не снималась-это я точно помню.
Надо посмотреть твой волшебный проект...
 
Сообщение
Quote (Peter)
Можно проще - на событие "Click" CheckBox-a пишем
Страно я проверял этот метод и у меня он тупо не работал, т.е. галка не снималась-это я точно помню.
Надо посмотреть твой волшебный проект...

Автор - Сергей
Дата добавления - 09 Января 2011 в 09:38
PeterДата: Пн, 10 Января 2011, 02:33 | Сообщение # 6
Админ NeoBook
Quote (Сергей)
этот метод и у меня он тупо не работал,

Кстати иногда бывают казусы.
У меня как-то что-то с этим "Checked" тоже не работало, аж весь мозг вспотел!
А потом выяснилось, что в этом "Checked" вместо английской "c" случайно в середину затесалась русская "с"!!!
А чисто внешне (в редакторе) все выглядело ОК, и фиг догадаешься - почему не работает?
:D


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Сергей)
этот метод и у меня он тупо не работал,

Кстати иногда бывают казусы.
У меня как-то что-то с этим "Checked" тоже не работало, аж весь мозг вспотел!
А потом выяснилось, что в этом "Checked" вместо английской "c" случайно в середину затесалась русская "с"!!!
А чисто внешне (в редакторе) все выглядело ОК, и фиг догадаешься - почему не работает?
:D

Автор - Peter
Дата добавления - 10 Января 2011 в 02:33
СергейДата: Пн, 10 Января 2011, 08:08 | Сообщение # 7
Необукер
я условия в своем не правильно сделал

вот и не получалось. Скорее всего обычная не внимательность
 
Сообщениея условия в своем не правильно сделал

вот и не получалось. Скорее всего обычная не внимательность

Автор - Сергей
Дата добавления - 10 Января 2011 в 08:08
KaktuzДата: Ср, 24 Августа 2011, 00:22 | Сообщение # 8
Любопытный
Это все хорошо. А вот если CheckBox-а три и более. Как тогда быть? На примере проверки использовал обычное сообщение которое отображает какие пункты отмечены. Но вот что-то не очень хорошо получается. Хорошо только первый раз, дальше сбой, все пункты считаются отмеченными.

NeoBook 5.7.1
 
СообщениеЭто все хорошо. А вот если CheckBox-а три и более. Как тогда быть? На примере проверки использовал обычное сообщение которое отображает какие пункты отмечены. Но вот что-то не очень хорошо получается. Хорошо только первый раз, дальше сбой, все пункты считаются отмеченными.

Автор - Kaktuz
Дата добавления - 24 Августа 2011 в 00:22
mishemДата: Ср, 24 Августа 2011, 00:26 | Сообщение # 9
Эксперт форума
Kaktuz, пример в студию.

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

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



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

Автор - mishem
Дата добавления - 24 Августа 2011 в 00:26
KaktuzДата: Ср, 24 Августа 2011, 00:30 | Сообщение # 10
Любопытный
Кнопка
Code
If "[CheckBox1][CheckBox2][CheckBox3]" "=" ""
AlertBox "Сообщение" "Вы не отметили ни одного пункта!"
Else
AlertBox "Сообщение" "Вы отметили:[CB1][CB2][CB3]"
EndIf

Ну и в боксах...
Code
SetVar "[CB1]" "Пункт 1"
SetVar "[CB2]" "Пункт 2"
SetVar "[CB3]" "Пункт 3"


NeoBook 5.7.1
 
СообщениеКнопка
Code
If "[CheckBox1][CheckBox2][CheckBox3]" "=" ""
AlertBox "Сообщение" "Вы не отметили ни одного пункта!"
Else
AlertBox "Сообщение" "Вы отметили:[CB1][CB2][CB3]"
EndIf

Ну и в боксах...
Code
SetVar "[CB1]" "Пункт 1"
SetVar "[CB2]" "Пункт 2"
SetVar "[CB3]" "Пункт 3"

Автор - Kaktuz
Дата добавления - 24 Августа 2011 в 00:30
mishemДата: Ср, 24 Августа 2011, 01:07 | Сообщение # 11
Эксперт форума
Kaktuz,

Добавлено (24 Август 2011, 01:07)
---------------------------------------------
Kaktuz, я там копипастил, и забыл чекбокс 1 поменять на 2 и 3.
Надеюсь сам сможешь. :)

Прикрепления: 1941012.zip (1.8 Kb)


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

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



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

Добавлено (24 Август 2011, 01:07)
---------------------------------------------
Kaktuz, я там копипастил, и забыл чекбокс 1 поменять на 2 и 3.
Надеюсь сам сможешь. :)


Автор - mishem
Дата добавления - 24 Августа 2011 в 01:07
KaktuzДата: Ср, 24 Августа 2011, 01:11 | Сообщение # 12
Любопытный
мм.. это не совсем то что нужно. no
Здесь получается отображает сообщение с списком боксов и пометкой о том активен он или нет.
А я имел в виду что бы не активные не отображались в списке вообще. Что бы выводился список только активных компонентов.


NeoBook 5.7.1
 
Сообщениемм.. это не совсем то что нужно. no
Здесь получается отображает сообщение с списком боксов и пометкой о том активен он или нет.
А я имел в виду что бы не активные не отображались в списке вообще. Что бы выводился список только активных компонентов.

Автор - Kaktuz
Дата добавления - 24 Августа 2011 в 01:11
mishemДата: Ср, 24 Августа 2011, 01:15 | Сообщение # 13
Эксперт форума
Kaktuz, ну включи голову. :)

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

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



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

Автор - mishem
Дата добавления - 24 Августа 2011 в 01:15
mishemДата: Ср, 24 Августа 2011, 01:26 | Сообщение # 14
Эксперт форума
на
Прикрепления: 1564993.zip (1.9 Kb)


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

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



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

Автор - mishem
Дата добавления - 24 Августа 2011 в 01:26
KaktuzДата: Ср, 24 Августа 2011, 01:36 | Сообщение # 15
Любопытный
мм.. замудренный код. %) спасибо.

Вот что у меня получилось.
Code
If "[CheckBox1]" "=" "Checked"
SetVar "[bbc1]" "yes 1"
Else
SetVar "[bbc1]" ""
EndIf

If "[CheckBox2]" "=" "Checked"
SetVar "[bbc2]" "yes 2"
Else
SetVar "[bbc2]" ""
EndIf

If "[CheckBox3]" "=" "Checked"
SetVar "[bbc3]" "yes 3"
Else
SetVar "[bbc3]" ""
EndIf

AlertBox "tty" "[bbc1][bbc2][bbc3]"

Грузятся переменные, а потом отображаются если активны. Правда если бы в место "yes" грузилось название чекбокса, было бы лучше.
надо еще над этим поработать...


NeoBook 5.7.1
 
Сообщениемм.. замудренный код. %) спасибо.

Вот что у меня получилось.
Code
If "[CheckBox1]" "=" "Checked"
SetVar "[bbc1]" "yes 1"
Else
SetVar "[bbc1]" ""
EndIf

If "[CheckBox2]" "=" "Checked"
SetVar "[bbc2]" "yes 2"
Else
SetVar "[bbc2]" ""
EndIf

If "[CheckBox3]" "=" "Checked"
SetVar "[bbc3]" "yes 3"
Else
SetVar "[bbc3]" ""
EndIf

AlertBox "tty" "[bbc1][bbc2][bbc3]"

Грузятся переменные, а потом отображаются если активны. Правда если бы в место "yes" грузилось название чекбокса, было бы лучше.
надо еще над этим поработать...

Автор - Kaktuz
Дата добавления - 24 Августа 2011 в 01:36
mishemДата: Ср, 24 Августа 2011, 01:44 | Сообщение # 16
Эксперт форума
Quote (Kaktuz)
Правда если бы в место "yes" грузилось название чекбокса,

Ну а кто тебе не дает написать название?

Добавлено (24 Август 2011, 01:44)
---------------------------------------------

Quote (Kaktuz)
мм.. замудренный код. %) спасибо.

ничего замудреного нет. dont_know Обыкновенный цикл.
Вот то же самое что у тебя.
Code
Loop "1" "3" "[i]"
If "[CheckBox[i]]" "=" "Checked"
    SetVar "[bbc[i]]" "yes [i]"
  Else
    SetVar "[bbc[i]]" ""
EndIf
EndLoop

Только на много короче.


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (Kaktuz)
Правда если бы в место "yes" грузилось название чекбокса,

Ну а кто тебе не дает написать название?

Добавлено (24 Август 2011, 01:44)
---------------------------------------------

Quote (Kaktuz)
мм.. замудренный код. %) спасибо.

ничего замудреного нет. dont_know Обыкновенный цикл.
Вот то же самое что у тебя.
Code
Loop "1" "3" "[i]"
If "[CheckBox[i]]" "=" "Checked"
    SetVar "[bbc[i]]" "yes [i]"
  Else
    SetVar "[bbc[i]]" ""
EndIf
EndLoop

Только на много короче.

Автор - mishem
Дата добавления - 24 Августа 2011 в 01:44
KaktuzДата: Ср, 24 Августа 2011, 02:03 | Сообщение # 17
Любопытный
нет. ты сново суть не понял :)
в пунктах "yes" будет разное название и ставить туда цикл ни к месту, цифры там не надо, там надо разновидность строк, названий.
Пример (магазинный):
Чекбоксы:
+Магнитофон
-Фонарь
+Диск
Сообщение:
Вы выбрали: Магнитофон, Диск.


NeoBook 5.7.1
 
Сообщениенет. ты сново суть не понял :)
в пунктах "yes" будет разное название и ставить туда цикл ни к месту, цифры там не надо, там надо разновидность строк, названий.
Пример (магазинный):
Чекбоксы:
+Магнитофон
-Фонарь
+Диск
Сообщение:
Вы выбрали: Магнитофон, Диск.

Автор - Kaktuz
Дата добавления - 24 Августа 2011 в 02:03
mishemДата: Ср, 24 Августа 2011, 02:24 | Сообщение # 18
Эксперт форума
Quote (Kaktuz)
нет. ты сново суть не понял

Это ты суть не хочешь понять. Разбери код по полочкам. Пойми смысл, и все будет хорошо. ;)
На тебе
Quote (Kaktuz)
+Магнитофон
-Фонарь
+Диск
Прикрепления: 1423762.zip (2.1 Kb)


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

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



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

Это ты суть не хочешь понять. Разбери код по полочкам. Пойми смысл, и все будет хорошо. ;)
На тебе
Quote (Kaktuz)
+Магнитофон
-Фонарь
+Диск

Автор - mishem
Дата добавления - 24 Августа 2011 в 02:24
DEMBELДата: Ср, 24 Августа 2011, 05:47 | Сообщение # 19
Наш дизайнер
вот правильно, заноси все элементы категорий в массивы переменных, получаешь к ним доступ в цикле всего лишь меняя индекс в имени переменной, а этот индекс - счетчик цикла. понял?

А если много категорий с элементами, конструируй многомерные массивы типа
[Category_[x]_[y]] в итоге имеешь доступ к категории [x] и элементам в ней [y]. А вообще подумай над применением базы данных, если много всего.


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

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениевот правильно, заноси все элементы категорий в массивы переменных, получаешь к ним доступ в цикле всего лишь меняя индекс в имени переменной, а этот индекс - счетчик цикла. понял?

А если много категорий с элементами, конструируй многомерные массивы типа
[Category_[x]_[y]] в итоге имеешь доступ к категории [x] и элементам в ней [y]. А вообще подумай над применением базы данных, если много всего.

Автор - DEMBEL
Дата добавления - 24 Августа 2011 в 05:47
СергейДата: Ср, 24 Августа 2011, 11:47 | Сообщение # 20
Необукер
Quote (Kaktuz)
бы в место "yes" грузилось название чекбокса



Добавлено (24 Август 2011, 11:47)
---------------------------------------------
чтоб активные не отображались, нужно добавить еще обработку после выбора чебоксов
Пример, Создай 6 чебоксов. На кнопку код:
См. пример, если я правильно понял суть...
Прикрепления: CHB.rar (2.2 Kb)


Сообщение отредактировано
Сергей - Ср, 24 Августа 2011, 11:53
 
Сообщение
Quote (Kaktuz)
бы в место "yes" грузилось название чекбокса



Добавлено (24 Август 2011, 11:47)
---------------------------------------------
чтоб активные не отображались, нужно добавить еще обработку после выбора чебоксов
Пример, Создай 6 чебоксов. На кнопку код:
См. пример, если я правильно понял суть...

Автор - Сергей
Дата добавления - 24 Августа 2011 в 11:47
KaktuzДата: Ср, 24 Августа 2011, 13:44 | Сообщение # 21
Любопытный
Сергей ОГО! Получилось даже лучше чем я ожидал :)
Всем спасибо, дальше сам разберусь что и куда.


NeoBook 5.7.1
 
СообщениеСергей ОГО! Получилось даже лучше чем я ожидал :)
Всем спасибо, дальше сам разберусь что и куда.

Автор - Kaktuz
Дата добавления - 24 Августа 2011 в 13:44
СергейДата: Ср, 24 Августа 2011, 16:33 | Сообщение # 22
Необукер


Сообщение отредактировано
Сергей - Ср, 24 Августа 2011, 16:34
 
Сообщение

Автор - Сергей
Дата добавления - 24 Августа 2011 в 16:33
KaktuzДата: Ср, 24 Августа 2011, 18:15 | Сообщение # 23
Любопытный


NeoBook 5.7.1
 
Сообщение

Автор - Kaktuz
Дата добавления - 24 Августа 2011 в 18:15
СергейДата: Ср, 24 Августа 2011, 21:57 | Сообщение # 24
Необукер
 
Сообщение

Автор - Сергей
Дата добавления - 24 Августа 2011 в 21:57
parabelДата: Вт, 26 Февраля 2013, 11:01 | Сообщение # 25
Прохожий
Всем привет. Суть такая, есть ряд чекбоксов. некоторые из них нужно отметить, чтобы перейти на определенную страницу, в случае неправильного ответа, сообщение что есть ошибка. Помогите с кодом.

Александр Сергеевич Шурыгин
 
СообщениеВсем привет. Суть такая, есть ряд чекбоксов. некоторые из них нужно отметить, чтобы перейти на определенную страницу, в случае неправильного ответа, сообщение что есть ошибка. Помогите с кодом.

Автор - parabel
Дата добавления - 26 Февраля 2013 в 11:01
mishemДата: Вт, 26 Февраля 2013, 14:00 | Сообщение # 26
Эксперт форума
Цитата (Peter)
А потом выяснилось, что в этом "Checked" вместо английской "c" случайно в середину затесалась русская "с"!!!

Не знаю как вы, я уже по моему где то писал что стараюсь чекбоксы проверять на пустоту. Да и другие переменные где это возможно.
К примеру код
Код

If "[CheckBox1]" "=" "Checked"  
       SetVar "[CheckBox1]" "True"  
      Else  
       SetVar "[CheckBox1]" "False"  
EndIf


Выглядел бы

Код
If "[CheckBox1]" "=" ""  
       SetVar "[CheckBox1]" "True"  
EndIf


А чекбокс одинаково понимает 1\0, true\false, Checked\любой символов кроме тех что перечислил.
Мож еще какие, не проверял.

parabel, делать проверку нужно.
Как тебе объяснить? Пример бы показал как делаешь и что не получается.
Для начала скорей всего читать надо, что такое переменные и условия.
Да и вообще со справки начать бы наверно надо.

И не надо один и тот же вопрос в разных темах. Быстрей ответ не получишь.


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Peter)
А потом выяснилось, что в этом "Checked" вместо английской "c" случайно в середину затесалась русская "с"!!!

Не знаю как вы, я уже по моему где то писал что стараюсь чекбоксы проверять на пустоту. Да и другие переменные где это возможно.
К примеру код
Код

If "[CheckBox1]" "=" "Checked"  
       SetVar "[CheckBox1]" "True"  
      Else  
       SetVar "[CheckBox1]" "False"  
EndIf


Выглядел бы

Код
If "[CheckBox1]" "=" ""  
       SetVar "[CheckBox1]" "True"  
EndIf


А чекбокс одинаково понимает 1\0, true\false, Checked\любой символов кроме тех что перечислил.
Мож еще какие, не проверял.

parabel, делать проверку нужно.
Как тебе объяснить? Пример бы показал как делаешь и что не получается.
Для начала скорей всего читать надо, что такое переменные и условия.
Да и вообще со справки начать бы наверно надо.

И не надо один и тот же вопрос в разных темах. Быстрей ответ не получишь.

Автор - mishem
Дата добавления - 26 Февраля 2013 в 14:00
mishemДата: Вт, 26 Февраля 2013, 15:10 | Сообщение # 27
Эксперт форума
parabel, Ну помочь я тебе помогу. Только это медвежья услуга.
Врядли что то поймешь пока не прочитаешь справку.
Прикрепления: 9538427.zip (2.0 Kb)


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщениеparabel, Ну помочь я тебе помогу. Только это медвежья услуга.
Врядли что то поймешь пока не прочитаешь справку.

Автор - mishem
Дата добавления - 26 Февраля 2013 в 15:10
PeterДата: Вт, 26 Февраля 2013, 16:44 | Сообщение # 28
Админ NeoBook
Цитата (mishem)
стараюсь чекбоксы проверять на пустоту. Да и другие переменные где это возможно.

%)
Цитата (mishem)
К примеру код
Код

If "[CheckBox1]" "=" "Checked"
SetVar "[CheckBox1]" "True"
Else
SetVar "[CheckBox1]" "False"
EndIf

Выглядел бы

Код
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, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (mishem)
стараюсь чекбоксы проверять на пустоту. Да и другие переменные где это возможно.

%)
Цитата (mishem)
К примеру код
Код

If "[CheckBox1]" "=" "Checked"
SetVar "[CheckBox1]" "True"
Else
SetVar "[CheckBox1]" "False"
EndIf

Выглядел бы

Код
If "[CheckBox1]" "=" ""
SetVar "[CheckBox1]" "True"
EndIf


mishem, а как же "оптимизация" кода"?.
Масло-масляное получается.
К тому же в этих примерах совершенно разная логика и результат.
В первом случае ты присваиваешь переменной значение в любом случае, а во втором только при соблюдении условия!
Цитата (mishem)
А чекбокс одинаково понимает 1\0, true\false, Checked\любой символов кроме тех что перечислил.

Чекбокс-то понимает, но вот что будет, если в каком -то месте программы окажется, скажем, такой код:

Код
If "[CheckBox1]" "=" "Checked"      
           первое
          Else      
           второе     
EndIf

а в [CheckBox1] в это время красуется "0/1" или "False/True"?
;)
Для необушного интерпретатора это все вовсе не одно и то же.

Впрочем, каждый сам себе режиссер...

Автор - Peter
Дата добавления - 26 Февраля 2013 в 16:44
mishemДата: Вт, 26 Февраля 2013, 17:35 | Сообщение # 29
Эксперт форума
Цитата (Peter)
К тому же в этих примерах совершенно разная логика и результат.

Я видел ошибку, исправлять не стал. Смысл понятен и так. Поставь неравенство и все будет правильно.

Цитата (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 не находилось когда флажок отмечен, мы всегда будем получать какое то значение. А значит переменная не пустая. Соответственно нам не надо знать что там записано. чекед, труе или единица.


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

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



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Peter)
К тому же в этих примерах совершенно разная логика и результат.

Я видел ошибку, исправлять не стал. Смысл понятен и так. Поставь неравенство и все будет правильно.

Цитата (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
Дата добавления - 26 Февраля 2013 в 17:35
PeterДата: Вт, 26 Февраля 2013, 18:29 | Сообщение # 30
Админ NeoBook
Цитата (mishem)
А зачем вообще присваивать False?

Ох-хо-хо...
mishem, ты мыслишь рАзово.
Если твоя программа состоит из трех кнопок и двух подпрограмм, то можно не париться.
Ну а если условная переменная используется в других подпрограммах и скриптах объектов, и далеко не факт, что удобно (или даже возможно) будет проверять её на True (причем именно на "True").

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

Ты вот все спрашивал типа "зачем объявлять переменные?", и сколько я не пыжился, так и не смог втолковать.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата (mishem)
А зачем вообще присваивать False?

Ох-хо-хо...
mishem, ты мыслишь рАзово.
Если твоя программа состоит из трех кнопок и двух подпрограмм, то можно не париться.
Ну а если условная переменная используется в других подпрограммах и скриптах объектов, и далеко не факт, что удобно (или даже возможно) будет проверять её на True (причем именно на "True").

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

Ты вот все спрашивал типа "зачем объявлять переменные?", и сколько я не пыжился, так и не смог втолковать.

Автор - Peter
Дата добавления - 26 Февраля 2013 в 18:29
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: