Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Проблемам в кнопке Oblige 3.51 в кнопке генерировать
Вот такой код
Код
Loop "0" "[ls]" "[list]"
ListBoxSize "box[list]" "[sv]"
Random "[sv]" "[sv1]"
ListBoxGetItem "box[list]" "[sv1]" "[sv2]"
ListBoxChangeItem "box[list]" "[sv1]" "[sv2]"
EndLoop
мне надо чтобы несколько box выбирали случайный пункт но походу я вроде сделал всё правильно а он отказывается работать.
Первым делом я вычисляю сколько всего пунктов в этом box затем я генерирую случайное число. Потом получаю содержимое этого пункта а потом это содержимое он должен выбрать. Но что-то ничего не происходит
While "[sv1]" "=" "0" Random "[sv]" "[sv1]" EndWhile
ListBoxGetItem "box[list]" "[sv1]" "[s[list]]"
EndLoop
Знаете что. Я 2 часа мучался читая эту справку и пытаясь понять в чём же я ошибся. И после двух часов я просто поменял одну переменную и удалил одну строку и всё заработало.
While "[sv1]" "=" "0" Random "[sv]" "[sv1]" EndWhile
kop9000, можно проще:
Код
ListBoxSize "box[list]" "[sv]"
Random "[sv]-1" "[sv1]"
ListBoxGetItem "box[list]" "[sv1]+1" "[s[list]]"
ЦитатаAS3856 ()
тоже замутить пару секретных проектов...
Тоже, чтобы самому было ничего неизвестно?
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
[sv]-1??? а если sv будет нулю и отменится 1 будет минус 1. а затем прибавится 1. будет тот же 0. Хотя в проекте в твоём коде такого не происходит и проект работает. Но явно в программе баг.
Нужно всегда проверять что ListBox не пустой, т.е. sv > 0, иначе в твоем коде ты получишь бесконечный цикл. Ну, а то, что пытаешься анализировать код уже неплохо.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Нужно всегда проверять что ListBox не пустой, т.е. sv > 0, иначе в твоем коде ты получишь бесконечный цикл. Ну, а то, что пытаешься анализировать код уже неплохо.
А я про что говорю. Я просто не пойму почему он так работает ведь если верить правилами математики то
Код
Random "[sv]-1" "[sv1]"
Иногда если Random сделает число 0 тоесть
Код
Random "0-1" "[sv1]"
То в итоге получится -1. Далее
Код
ListBoxGetItem "box[list]" "-1+1" "[s[list]]"
То получается -1+1=0
Но последняя команда всегда будет делать больше 0.
В итоге парадокс программы
Сообщение отредактировано kop9000 - Вт, 17 Мая 2016, 17:57
Нет тут парадокса. Команда Random работает только в диапазоне положительных чисел, и такой же дает результат, для нее все-равно, что 0, что -1, что -120, на выходе все-равно будет 0. Поэтому и надо всегда проверять ListBox на пустоту, а если он пустой, то и считать нечего. Все логично.
Но, можно нашлепать функцию (на основе Random) для генерации случайного числа не только положительного, но и отрицательного , т.е. в любом диапазоне значений (даже в заданном). Идею я подкинул.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Нет тут парадокса. Команда Random работает только в диапазоне положительных чисел, и такой же дает результат, для нее все-равно, что 0, что -1, что -120, на выходе все-равно будет 0. Поэтому и надо всегда проверять ListBox на пустоту, а если он пустой, то и считать нечего. Все логично.
Но, можно нашлепать функцию (на основе Random) для генерации случайного числа не только положительного, но и отрицательного , т.е. в любом диапазоне значений (даже в заданном). Идею я подкинул.
спасибо
Сообщение отредактировано kop9000 - Вт, 17 Мая 2016, 21:43
Ну, а то, что пытаешься анализировать код уже неплохо.
А то... Спустя 2,5 года, это достижение.
kop9000, я помню ты как то обещал, что ответят на последний вопрос, и все, ты больше задавать не будешь и пропадешь вообще. А тут опять, вопрос за вопросом. Так ты, не человек слова. Не мужик.
Ну, бывает что и за 10 лет мозг работать так и не научился.
А тут все же прогресс.
Цитатаmishem ()
Петру керосину льешь?
Вообще странно.. Я эту функцию еще пару лет назад выкладывал, да видно затерялась на форуме.
ЦитатаPeter ()
в любом диапазоне значений (даже в заданном). Идею я подкинул.
Так-что, если кто желает поупражняться... Там работы на 5 минут - сами смеяться будете.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
kop9000, я помню ты как то обещал, что ответят на последний вопрос, и все, ты больше задавать не будешь и пропадешь вообще. А тут опять, вопрос за вопросом. Так ты, не человек слова. Не мужик. :(
Я такого не говорил. А если и говорил то это было давно и этот вопрос я задал потому, что очень надо было
И то что я не мужик это оскорбление
Сообщение отредактировано kop9000 - Вт, 17 Мая 2016, 22:59
Есть ещё одна задача которую надо сделать в этой кнопке после выбора пункта.
Дело в том что он не создаёт переменные [l1] [l2] [l3] у меня в пунктах если я сам выбираю стоят условия. Если [s] равно скажем дядя стёпа то он назначает [l1] словом стёпа. Вручную если я выбираю пункт всё работает но когда я нажимаю кнопку не то эти переменные не создаются
Добавлено (18 Мая 2016, 22:38) --------------------------------------------- Есть три варианта Но все они бесполезны.
1) можно создать таймер и туда все скинуть из пунктов но это будет не правильно 2) можно всё скинуть в отдельную подпрограмму Но это также будет не правильно 3) Можно найти какую-то специальную команду которая могла бы обращаться к тем пунктам и читать код. Но такой команды нет
Всем здравствуйте! Подскажите пожалуйста. Так как не возможно создать новую тему, попробую задать вопрос здесь. Да, простят меня модераторы. При чтении названии радио-кнопки, в текстовой бокс записывает на каждой строке, мне нужно, что бы было в одной строке, для сохранения под этим именем, иначе не сохраняет. Название радио-кнопки писать в одну строку не вариант.
т. е название кнопки: пробная запись для проверки
в текстовом боксе она так и выглядет, а мне нужно что бы было в одну строку: Пробная запись для проверки.
мне нужно что бы было в одну строку: Пробная запись для проверки.
В вашем примере заголовок у CheckBox содержит служебные символы переноса строки, поэтому и текстовое поле тоже отображает текст с переносом строк. Чтобы отобразить такой многострочный текст в одну строку, надо удалить из него эти символы (или заменить их пробелами при необходимости).
Пример см. в прикреплении. Примечание: символы можно удалять (заменять) прямо в тексте (в переменной) текстового поля, без дополнительного присваивания (правда, может вызвать лишнее "моргание" текста), это уже дело вкуса и зависит от ситуации.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
При создании темы, здесь скрипт для борьбы со спамом, я должен оставить как минимум три сообщения, после чего я смогу создать тему. То есть написать три не чего не значащих сообщения, что по идее и является спамом и только после этого могу задать интересующий вопрос.
Цитата
В вашем примере заголовок у CheckBox содержит....
Спасибо от души, я вас понял. В моем случае вариант отличный. Всего Вам доброго!
как минимум три сообщения, после чего я смогу создать тему.
Ага, гм... это что-то в настройках сбилось, Поправил, спасибо!
ЦитатаBet2s ()
Спасибо от души
Да не за что. В случае чего обращайтесь. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться