Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
К событию "левая кнопка" писал код и случайно (!) обнаружил, что последние тридцать или более строк кода исчезли... Просто обрезались прямо на середине строки и до самого конца... Хорошо, что я после мало-мальски серьезных изменений делаю "сохранить как" и добавляю номер к файлу версии, а так бы столько работы делать заново. Я восстановил этот кусок кода (это были простые математические вычисления - умножение, сравнение полученных произведений, и простая запись в переменные), но они снова исчезали еще несколько раз, пока я не исправил ошибку в количестве EndIf. C этим связано? Существуют ли какие-либо ограничения на допустимое кол-во строк кода к событию?
И еще, из серии "глюков"... Когда отсылаю кому-либо из друзей очередную версию своей проги, то обычно обнаруживаю, что не у всех и не на всех страницах или не во всех текстовых полях сразу корректно отображается шрифт (в некоторых текстовых полях бывает, что отображается абракадабра). При этом достаточно просто пересоздать текстовое поле, как в следующий раз оно читается нормально. Как это объяснить?
Это событие (LeftClick) переводится как "левый щелчок" или "щелчок левой кнопкой" мыши.
Quote (VadimLevkin)
последние тридцать или более строк кода исчезли...
Честно говоря, впервые такое слышу! У меня бывало и по 150 (и более) строк, например, "на старте" проекта, но ни разу ничего не исчезло...
Quote (VadimLevkin)
делаю "сохранить как" и добавляю номер к файлу версии,
Quote (VadimLevkin)
пока я не исправил ошибку в количестве EndIf. C этим связано?
Теоретически с этим связано быть не должно. Нередко разные глюки возникают при пользовании крякнутой версией программы. Но самое интересное: КАК все работало при неверном количестве IF и ENDIF? Вот это для меня - ЗАГАДКА!...
Quote (VadimLevkin)
Существуют ли какие-либо ограничения на допустимое кол-во строк кода к событию?
Я не слышал о каких-либо ограничениях в длине кода.
Quote (VadimLevkin)
При этом достаточно просто пересоздать текстовое поле,
Что значит "пересоздать"? У меня подобного рода глюки бывали только в тех случаях, когда вместо кириллической в свойствах текстовых объектов была случайно указана западная кодировка шрифта. Такое не редкость, когда используешь попеременно английский и русский языки. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Исчезали строки начиная с середины 355-ой. И меня это очень обеспокоило, потому, что у меня там появится еще около 800 строк (много однотипных действий с разным результатом)... Тоже думаю, что дело в "утиной" версии...
Quote (Peter)
Но самое интересное: КАК все работало при неверном количестве IF и ENDIF? Вот это для меня - ЗАГАДКА!
Для меня тоже! Но всё действительно работало! Видимо NB хватило Else - их там в достатке
В таком случае почему бы не воспользоваться циклами?
А всё равно, у меня под каждое сочетание выдается своя интерпретация. К примеру всего 243 возможных комбинации пяти переменных, которые могут быть в трех состояниях - каждая. Соответственно, нужно дать описание (проинтерпретировать) каждую из них, с выводом на экран, конечно. Не знаю, возможно ли тут применять циклы для сокращения кода...
Quote (Bodi)
в его свойствах шрифта (справа) укажите нужную кодировку
Исчезали строки начиная с середины 355-ой. И меня это очень обеспокоило, потому, что у меня там появится еще около 800 строк (много однотипных действий с разным результатом)...
Ну вы прямо "войну и мир" пишите! Более тысячи строк кода скрипта на одно событие...
Quote (Bodi)
В таком случае почему бы не воспользоваться циклами?
При чем тут циклы? Однотипные действия следует оформлять в виде подпрограмм или функций! Нужно смотреть на поставленную задачу.
Quote (VadimLevkin)
Для меня тоже! Но всё действительно работало! Видимо NB хватило Else - их там в достатке
VadimLevkin, а поглядеть позволите? - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Конечно! Только немного позже, если не возражаете - уж очень много косяков и недоделок... Не хотелось бы, с одной стороны, злоупотреблять Вашим временем, а, с другой стороны, не хотелось бы выглядеть "бледно"...
А удлиняют код вот такие вещи (пример):
Code
IfEx "[N1] = 7 AND [N4] = 5" SetVar "[osoznannos]" "Мотивация - [#34]Скорее внешняя, но принимаемая как своя / Осознанная[#34]" SetVar "[osoznannost]" "Данное стремление принадлежит не только Вам, а в большой степени обстоятельствам и другим людям, однако очень высокая значимость этого стремления Вами осознаётся и принимается." Else EndIf IfEx "[N1] = 5 AND [N4] = 7" SetVar "[osoznannos]" "Мотивация - [#34]Скорее внутренняя, принимаемая как своя / Недостаточно осознанная[#34]" SetVar "[osoznannost]" "Данное стремление принадлежит Вам, но почему это стремление важно для Вас Вы до конца не понимаете. Скорее всего для Вашей жизни это стремление имеет большое субъективное значение, которое, впрочем, могут не разделять значимые для Вас люди..." Else EndIf
Теперь понятно... Я бы сделал несколько иначе: поместил все тексты в отдельный текстовой файл с метками (или именами переменных), сделал этот файл вложенным (если нужна тайна ), и уже, например, на старте проекта грузил бы его в переменные. Можно применить команду LoadVariables. Таким образом, вы убиваете сразу двух зайцев: существенно сокращаете длину кода проекта, и имеете возможность всегда редактировать в случае необходимости эти сообщения совершенно независимо, например, в блокноте.
Добавлено (21 Июль 2009, 00:59) --------------------------------------------- Кстати, тексты можно разместить и во внешних базах данных, да и зашифровать.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Кстати, тексты можно разместить и во внешних базах данных, да и зашифровать.
Или на худой случай использовать массивы, и многокаскадные ифы превратить в одно выражение. Результат выражения в иф дает указатель (индекс, номер) записи в массиве или базе данных.
Очень заманчивая перспектива! Спасибо! Могу я спросить - как можно это сделать? Правильно ли будет во внешнем файле записать так:
Code
[N1] = 7 AND [N4] = 5 [osoznannos]"Мотивация - [#34]Скорее внешняя, но принимаемая как своя / Осознанная[#34]" [osoznannost]"Данное стремление принадлежит не только Вам, а в большой степени обстоятельствам и другим людям, однако очень высокая значимость этого стремления Вами осознаётся и принимается."
[N1] = 5 AND [N4] = 7 [osoznannos] "Мотивация - [#34]Скорее внутренняя, принимаемая как своя / Недостаточно осознанная[#34]" [osoznannost] "Данное стремление принадлежит Вам, но почему это стремление важно для Вас Вы до конца не понимаете. Скорее всего для Вашей жизни это стремление имеет большое субъективное значение, которое, впрочем, могут не разделять значимые для Вас люди..."
Кстати, кавычки наверное можно нормальные ставить? Без [#34]?
Но ведь мне тогда придется писать код, который все равно будет вызывать все эти комбинации из внешнего файла... Кроме того, большая их часть при конкретном сеансе пользователя и не потребуется, зачем же их загружать в виде переменных все? А про базы данных совсем не знаю еще ничего... И да, конечно же, потребуется скрыть сам текст, поэтому возможность шифрования или сокрытия файла в проекте важна. А что касается правки в блокноте, то какая мне разница, по большому счету? Править в блокноте или в самой NB? В NB даже как-то приятнее :)...
Добавлено (21 Июль 2009, 01:44) ---------------------------------------------
Quote (Alex3A)
Или на худой случай использовать массивы, и многокаскадные ифы превратить в одно выражение. Результат выражения в иф дает указатель (индекс, номер) записи в массиве или базе данных.
Голова кругом от возможностей!!! Спасибо! Я обязательно подумаю над всеми предложениями!
А будет разница в скорости работы программы? Ифы или Массивы?
Или на худой случай использовать массивы, и многокаскадные ифы превратить в одно выражение. Результат выражения в иф дает указатель (индекс, номер) записи в массиве или базе данных.
Тоже - мысль! Надо будет обдумать...
Quote (VadimLevkin)
Кроме того, большая их часть при конкретном сеансе пользователя и не потребуется, зачем же их загружать в виде переменных все?
Вот ИМЕННО! Вы можете загружать тексты по мере необходимости, а не все сразу! А так они у вас все-равно загружаются ВСЕ СРАЗУ, т.к. код проекта распаковывается в память.
Я не очень понял что именно имеется ввиду, но не нужно писать никакой код NB. Попробуйте применить команду SaveVariables, посмотрите на вид сохраненых переменных и их значений, и вам многое станет понятно. К тому тексты можно грузить в переменные и при помощи FileRead, FileToVar...
Quote (VadimLevkin)
А что касается правки в блокноте, то какая мне разница, по большому счету?
Это уже на ваше усмотрение...
Quote (VadimLevkin)
Голова кругом от возможностей!!!
Вы ещё только начинаете знакомиться с NeoBook!
Quote (VadimLevkin)
А будет разница в скорости работы программы?
Скорость работы программы (при прочих равных условиях) будет зависеть от Вас! От того насколько грамотно вы её напишите!
Quote (VadimLevkin)
Ифы или Массивы?
Это о чем? - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
А будет разница в скорости работы программы? Ифы или Массивы?
Разница конечно будет, но вот что бы увидеть ее надо основательно потрудиться, создав большой объем информации. А технически, в случае массивов, тратится время на их загрузку из внешних файлов, при старте проги, и тратится оперативная память для их хранения, зато доступ к нему быстрее. В случае базы данных, время тратится на поиск и выборку нужного, что займет немного больше времени,чем считывание из массива в памяти. В общем руководствоваться нужно следующим соображением - для небольших объемов можно применять массивы, для больших базы данных. Разница в скорости доступа к элементу массива в памяти и к записи в базе незначительна.
Добавлено (21 Июль 2009, 02:21) ---------------------------------------------
Quote (VadimLevkin)
Ифы или Массивы?
Ифы - IfEx ... условный оператор Массив - способ хранения данных Ифы или Массивы? - нонсенс.
Я имел ввиду разницу в скорости работы программы в случае, если используются Ифы, и в случае Массивов.
Quote (Alex3A)
Ифы - IfEx ... условный оператор Массив - способ хранения данных Ифы или Массивы? - нонсенс.
Добавлено (21 Июль 2009, 02:30) ---------------------------------------------
Quote (Alex3A)
Герокакл, однако! Все однотипные операции можно производить одним блоком кода, тогда 800 строк превратятся в десяток.
И я о том же! - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Я имел ввиду разницу в скорости работы программы в случае, если используются Ифы, и в случае Массивов.
Сколько ифов вместо одного, во столько раз. При грамотном построении алгоритма, одно условие дает указатель на нужные данные, в ином случае ты обрабатываеш кучу условий.
Герокакл, однако! Все однотипные операции можно производить одним блоком кода, тогда 800 строк превратятся в десяток.
Алекс, подскажите, плиз, как можно сделать один блок кода, для случая, когда есть пять переменных, каждая из которых может находиться в трех состояниях. Нужно выдать текстовый результат на каждую комбинацию (из 243-х возможных). Пример комбинации: [N1a][N2b][N3a][N4c][N5c]
Заодно, по простому, что такое база данных. Представь себе таблицу, где каждая строка описывает один объект, каждое поле в строке описывает какое либо свойство этого объекта. К примеру, список людей,Ф.И.О. По сути, база данных это многомерный массив, хранимый в файле, имеющий ряд функций для поиска и оптимизации скорости доступа к хранящейся в ней информации.
Алекс, подскажите, плиз, как можно сделать один блок кода,
Это вопрос к Peterу, я не владею конкретным синтаксисом необук, конкретная комбинация [N1a][N2b][N3a][N4c][N5c] должна давать тебе уникальное число, которое будет индексом нужного текста в массиве. Это просто алгебра, результат выражения - указатель на нужную информацию.
Добавлено (21 Июль 2009, 02:49) ---------------------------------------------
Quote (VadimLevkin)
Alex3A, спасибо! Буду разбираться с базой данных NB.
Я могу тебе описать общие вопросы по базам, конкретная обвязка для необук - к Peterу.
Нужно выдать текстовый результат на каждую комбинацию
Для этого нужно знать по какому принципу формируются "комбинации".
Quote (Alex3A)
Это вопрос к Peterу
Ну вот! Опять - Косой!
Quote (Alex3A)
конкретная комбинация [N1a][N2b][N3a][N4c][N5c] должна давать тебе уникальное число,
Как я понял, у него в переменных содержаться тексты, которые формируют сотавные ответы. Что-то напоминающее тест. Или я ошибаюсь? - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
комбинация [N1a][N2b][N3a][N4c][N5c] должна давать тебе уникальное число, которое будет индексом нужного текста в массиве
Спасибо! Принцип ясен!
Quote (Alex3A)
Я могу тебе описать общие вопросы по базам
Заранее благодарен! Я думаю вопросы появятся, вне всяких сомнений. Но сначала попробую сам разобраться. Весьма это любопытственно!
Добавлено (21 Июль 2009, 02:58) ---------------------------------------------
Quote (Peter)
Для этого нужно знать по какому принципу формируются "комбинации".
Принцип такой: все возможные комбинации переменных между собой.
Quote (Peter)
Что-то напоминающее тест. Или я ошибаюсь?
Совершенно верно! Пять переменных - это ответы (цифрой) на пять вопросов. Для простоты, будем считать, что ответить можно только 1 или 2 или 3 (a b c) на каждый из пяти вопросов [N1][N2][N3][N4][N5]. N - это вопрос a,b,c - это возможные ответы Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Сообщение отредактировано VadimLevkin - Вт, 21 Июля 2009, 02:59
Опять - Косой! У нас тут есть спец по базам - Lector, но он чего-то пропал...
Добавлено (21 Июль 2009, 03:03) ---------------------------------------------
Quote (VadimLevkin)
Совершенно верно!
Это тот проект, который ты мне прислал? - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
В смысле? Не понял, Peter. Я добавил в ответ Выше немного информации...
Добавлено (21 Июль 2009, 03:04) ---------------------------------------------
Quote (Peter)
Это тот проект, который ты мне прислал?
Да, он самый :).
Добавлено (21 Июль 2009, 03:08) --------------------------------------------- Peter, в проекте я анализирую переменные и парами (с этого начинается код кнопки "Рассчитать"), а потом уже начал анализировать пятерками, как сейчас описываю (но только начал).
Добавлено (21 Июль 2009, 03:13) ---------------------------------------------
Quote (VadimLevkin)
Peter, в проекте я анализирую переменные и парами (с этого начинается код кнопки "Рассчитать"), а потом уже начал анализировать пятерками, как сейчас описываю (но только начал).
Всё это здорово! Эх, вот только где на все это время-то найти? Уже три часа ночи... Бай-бай... - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Опять - Косой! У нас тут есть спец по базам - Lector, но он чего-то пропал...
Не по базам а по обвязке, синтаксису необук, а так же по наличию и типу функций плагина, я его в глаза не видел, в отличие от тебя. В остальном не проблема.
При чем тут циклы? Однотипные действия следует оформлять в виде подпрограмм или функций!
Однотипные действия следует оформлять в виде подпрограмм или функций, когда они назначены нескольким разным объектам. А циклы - когда повторяется одно и тоже действие в одном и том же сценарии. Peter, не стоит все так сразу отрицать, я на тот момент не видел ни проекта ни кода, поэтому всего лишь предположил, точно так же как и вы.
Quote (VadimLevkin)
А удлиняют код вот такие вещи (пример):
А бы здесь именно циклы и применил.
Quote (Peter)
Можно применить команду LoadVariables.
Хотя это тоже хороший вариант. А еще лучше объеденить эти два варианта.
Там у него единичный выбор (один из многих), каждый раз надо проверить группу переменных на условие совпадения, задачу можно упростить сделав функцию возвращающую после их анализа число, которое и будет указателем на данные (дешифратор). Так что можно обойтись без циклов, за один проход. Сами ответы уже указывают на нужный текст, но в закодированном виде. Если бы у него был множественный выбор (несколько ответов из множества), тогда бы пригодился и цикл.
Добавлено (21 Июль 2009, 11:06) ---------------------------------------------
Quote (VadimLevkin)
что ответить можно только 1 или 2 или 3 (a b c) на каждый из пяти вопросов [N1][N2][N3][N4][N5]. N - это вопрос a,b,c - это возможные ответы
У тебя анализируються сразу пять вопросов, или по одному? Ты наверное слышал, что есть различные системы исчисления, с разными основаниями, двоичная, восьмеричная, десятичная, шеснадцатеричная. Основание системы может быть любым В данном случае тебе нужна троичная. 0,1,2,20,21,22,200,201,202,210,211,212,220,221,222,2000...... кодировка - номер вопроса умножаем на 10 + номер ответа дешифровка в обратном порядке, делим на 10, старший разряд номер вопроса младший номер ответа, умножив одно на другое получим индекс текста в массиве. Вариантов подобного может быть сколь угодно.
Я не отрицал, а задал вопрос. Кстати, заметил ещё и:
Quote (Peter)
Нужно смотреть на поставленную задачу.
А однотипные действия через подпрограммы - стандартное решение для однотипных действий!
Quote (Alex3A)
У тебя анализируються сразу пять вопросов, или по одному?
Пока мы не поймем по какому принципу формируются вопросы и ответы, мы ничего не добъемся.
Quote (VadimLevkin)
Принцип такой: все возможные комбинации переменных между собой.
В таком случае - просто генератор случайных комбинаций! Тогда тест можно будет смело отправлять Задорнову.
Quote (Alex3A)
Вариантов подобного может быть сколь угодно.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться