Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Дело происходит так. Оператор тыкает в Список стран, берёт, к примеру, Россию. Появляется список областей. Оператор тыкает любую из областей и появляются города, находящиеся в выбранной области. Команда выглядит так
Code
ListBoxSize "TownRUS" "[RUS_TOWN_LIST_SIZE]"
If "[RUS_TOWN_LIST_SIZE]" "<>" "0" Setvar "[Current_RUS_town_count]" "[RUS_TOWN_LIST_SIZE]"
:RUS_TOWN_LIST_DELETE If "[Current_RUS_town_count]" ">" "0" ListBoxDeleteItem "TownRUS" "[Current_RUS_town_count]"
Блин, писал писал... У меня интернет барахлит. kapacek, на сколько я понял тебе надо один список заменить другим, который во вложенном файле. К чему столько если...? И еще... Для того что бы удалить все пункты в списке, достаточно одной команды. ListBoxDeleteItem "TownRUS" "All"
проследите что требуемая внешняя библиотека sql движка находилась в нужном месте, укажите его. Почитайте тему там вроде обсуждалась аналогичная ошибка. Как задавать вопросы
вместо перехода к указанной строке, можно использовать цикл.
Да, это тоже было первым, что пришло на ум, глядя в код. Не можно, а нужно!
GoToLine надо применять только тогда, когда по-другому уже никак.
Правда, проблема может крыться в чем-то ином, и я вовсе не уверен, что виноват какой-то плагин, т.к., насколько я понял, ошибка вылезает именно когда:
Quote (kapacek)
Оператор тыкает любую из областей и появляются города, находящиеся в выбранной области.
Здесь нужно взять и всю эту процедуру проделать в отдельном файле, без плагинов и т.п., т.е. пойти методом исключения.
Добавлено (10 Февраля 2012, 15:07) ---------------------------------------------
Quote (DEMBEL)
что требуемая внешняя библиотека sql движка находилась в нужном месте
Возможно... Хотя ошибка в этом случае должна быть иная, по идее... - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Глядя на этот кусок кода, проблема где то рядом.... Тут похоже во всем проекте нужно пересматривать логику построения кода. Иначе в таких условиях не то что заблудиться, но ошибиться точно можно. Не хочешь читать хелп?
во всем проекте нужно пересматривать логику построения кода
Да, похоже ты прав, стратегически. Но беда в том, что при отладке все работает, а в реальном скомпиленном файле вылезает ошибка.
Без поллитры тут не разобраться...
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Не см [Embedded] проблема случайно? Нигде я что то извлечения не наблюдал. Хотя тогда "кричал бы что то насчет файла". А так, не предвиденная ошибка на то и не предвиденная. Ее сразу предвидеть не могли....
Добавлено (10 Февраля 2012, 15:37) --------------------------------------------- А Дембель в правильную сторону похоже смотрит. Здесь что то с базой. И скорей всего с запросом. На поиск...
ВОПРОС РЕШЕН, ребят Всё дело в Embedded я использовал [Embedded] как [Pubdir] исходя из этого: Хелп в НБ: "You can use embedded files most places in your publication just as you would in a normal disk-based file. Simply replace the file's original path with the special embedded file variable. For example..." Так теперь я знаю в чем проблема. И, да, еще одна вещь
Quote (mishem)
Для того что бы удалить все пункты в списке, достаточно одной команды. ListBoxDeleteItem "TownRUS" "All"
Что-то я не наблюдаю полное удаление списка.... Что не так? ================== Вообщем я делаю вручную))
Сообщение отредактировано kapacek - Пт, 10 Февраля 2012, 16:09
Что-то я не наблюдаю полное удаление списка.... Что не так?
ищи почему не работает, мы то откуда знаем. должно работать. Начинай с изолирования проблемы - открой новый пустой проект, добавь список, заполни его и проверь работу команды. Думаю все без проблем удалится. Теперь добавляй другие логические части проекта пока не появится ошибка, вот и узнаешь в чем дело. может в список опять чтото пишется после удаления. Как задавать вопросы
я использовал [Embedded] как [Pubdir] исходя из этого:
Да, все верно, но есть и исключения (например, команда Run). Правда, в таких случаях это будет оговорено особо. FileRead:
Добавлено (10 Февраля 2012, 16:19) --------------------------------------------- Уточнение: если нужно читать непременно из вложенного файла, то можно использовать FileToVar.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Правда, в таких случаях это будет оговорено особо.
на оффоруме говорят все файловые операции (FileRead, FileWrite, FileLen, FileDelLine, FileInsLine и т.д.) требуют внешний файл. Кроме FileToVar.
Добавлено (10 Февраля 2012, 16:44) --------------------------------------------- kapacek, вы в школе паскаль чтоли изучали)? Прям процедурное программирование так и прет. GotoLine ). [Current_RUS_Town_count] я так понимаю, можно просто получить узнав размер списка после всей добавки (ListBoxSize "TownRUS" "[Current_RUS_Town_count]") давайте убирайте ваши Gotoline, то что вы хотите делается за 10-15 строчек. Если файл будете читать из [Embedded], не надо читать построчно ничего, сразу распарсили всю переменную по символам перевода строк в массив, далее в цикле обрабатываете элементы массива по очереди. Есть фокус похлеще, если переменная представляет собой структурированные построчно данные (видимо как в вашем случае), то просто запишите ее в св-вах ListBox и он заполнится автоматом, тогда подозреваю ваши ухищрения станут вовсе не нужны.
говорят все файловые операции (FileRead, FileWrite, FileLen, FileDelLine, FileInsLine и т.д.) требуют внешний файл.
Да, верно, и не надо было залезать на оффорум - все это отражено в "подсказках" к командам.
Как говорят военные надо изучать "матчасть". Правда, случается так, что и проглядишь или забудешь в спешке. От "проколов" никто не застрахован. А в режиме отладки все будет работать исправно, т.к. в реальности файл не компилируется в проект, а остается на своем месте. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
я из тем по [Embedded] давно для себя сделал вывод. Если используешь, извлекай. В любом случае. Надо, не надо. Так уж точно будешь уверен что не будет ошибок.
Добавлено (10 Февраля 2012, 19:11) ---------------------------------------------
Quote (kapacek)
Вообщем я делаю вручную))
Делать вы можете как душе угодно. Но если не понимаете и по этому делать как получится, не самый лучший выход. Лучше разобраться и понять. Не последний же раз в НБ работать думаешь?
Между прочим логика написания кода многое коворит о "писателе". Если хотите что бы к вам относились с уважением, учитесь писать правильно не зависимо письмо это, или код. Не хочешь читать хелп?
Масло масляное получается. Надо просто четко для себя усвоить что работает, как вложенный файл, а что - нет, ведь, иногда нежелательно извлекать файл, да и к чему лишний код-то, когда все можно сделать проще.
Кстати, команда LoadVariables весьма душевно работает и с вложенными файлами (без всякого извлечения), несмотря на то, что для SaveVariables необходим внешний файл.
Quote (mishem)
Лучше разобраться и понять. Не последний же раз в НБ работать думаешь?
Тоже верно! Только тогда почему было не "разобраться и понять", вместо:
Quote (mishem)
извлекай. В любом случае. Надо, не надо
Все мы порой делаем ляпы! Человек, слава Богу, не робот. Это только компутеры никогда не ошибаются. Если, конечно, программа написана правильно...
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Только тогда почему было не "разобраться и понять", вместо:
потому что мне еще не разу не потребовалось работать с вложеными файлами.А проблемы решать я привык по мере поступления.
Quote (Peter)
Масло масляное получается
Лучше перемаслить чем бежать с вопросом помогите! Да и одна строчка не напряжна.
Quote (Peter)
Надо просто четко для себя усвоить что работает, как вложенный файл, а что - нет
И это правильно. Но пока по моему одного решения так и не найдено. Тоесть на все 100 еще никто не уверен где будет работать с вложеными а где нет. Или я что то пропустил? Не хочешь читать хелп?
Ничего подобного! Решение давно найдено (из файла справки):
Quote
The Embedded Files option allows you to create a list of additional files to be compiled inside your pub EXE. Use the Add and Remove buttons on the right to manage the file list.
You can use embedded files most places in your publication just as you would in a normal disk-based file. Simply replace the file's original path with the special embedded file variable. For example:
[Embedded]Sample.jpg
When referencing an embedded file, the file’s original path should be replaced with the special [Embedded] variable.
Справедливости ради нужно заметить, что в переводе этой подсказки отсутствует "в большинстве случаев", т.к. не помню точно, то ли места не хватило в строке, то ли по каким-то другим причинам, но пришлось сократить длину текста.
Т.е. команда может работать с вложенными файлами.
Так же см. пост №13 в этой же теме.
В конце-концов, если этот вопрос действительно интересует, то ничто не мешает самому проверить что работает, а что не работает на практике.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
мне еще не разу не потребовалось работать с вложеными файлами
Хотя некоторые вопросы и соображения крутятся в голове. Но пока не до этого. Хотя.... Мож дашь ответ. Возможна ли запись во вложенный файл? Я просто винду только переустановил. Проверить не имею возможности пока. Не хочешь читать хелп?
Нет конечно! Приложение может только извлекать (из себя) файлы, и работать с ними (только считывать информацию) либо с поверхности диска, либо - из пямяти. Но, "вложить в себя обратно" отредактированный файл и заново перекомпилить само себя, оно не может. И это относится не только к NB. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться