Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Чтобы вложить внутрь проекта требуемые файлы, заходим в меню:
Откроется список вложенных в проект файлов. Чтобы добавить/удалить файлы, используйте кнопки справа.
Эти файлы будут зашиты внутрь проекта при его компиляции. Чтобы работать с ними, нужно учитывать два момента:
а) при использовании этих файлов в обьектах, которые имеют свойство пути к файлу, достаточно для указания вложенного файла использовать переменную [Embedded] в виде: [Embedded]имя_вложенного_файла, например [Embedded]Picture.jpg В этом случае, вложенный файл будет автоматически распакован и использован в обьекте. Это работает со всеми такими обьектами, кроме кнопок.
б) при использовании в коде сценария, в некоторых командах (если в справке не оговорено иначе) также есть возможность указать путь на вложенный файл с помощью [Embedded], например: SetObjectFileName"Picture1""[Embedded]Picture.png"
Это будет работать, если обьект поддерживает такое указание пути вложенного файла.
Основная часть команд работает только с внешними файлами (как правило, это оговорено в описании). В таком случае, вложенный файл необходимо сперва распаковать на диск. Как правило, это лучше сделать во временную папку: ExtractFile"[Embedded]Picture.jpg""[TempDir]Picture.jpg"
Далее обращаться к распакованному файлу по пути [TempDir]Picture.jpg, это будет работать всегда.
Вложенные файлы распакованные автоматически также и сами удаляются при закрытии приложения. Вручную распакованные файлы нужно удалять вручную с помощью FileErase.
Локальные файлы которые вы выбираете для показа в обьектах нет нужды специально вкладывать в проект. Они будут вложены и обработаны автоматически. Также автоматически вкладываются файлы, используемые в некоторых командах, например PlaySoundFile.
В любом случае, при использовании внешних файлов рекомендуется проверить работоспособность проекта на другом компьютере, т.к. на машине разработчика все локальные пути и файлы будут всегда существовать, что может скрыть ошибки невложенных/нераспакованных файлов.
При работе с внешними файлами вашего приложения, которые не вкладываются внутрь проекта рекомендуется отказаться от абсолютных путей и использовать относительные, иначе проект будет неработоспособен на другом компьютере, где не существует таких путей и файлов. Как задавать вопросы
В работе приложения зачастую используются дополнительные внешние файлы (для хранения настроек приложения, при создании авторана для другого приложения и т.д.). Если вложить их в проект заранее нецелесообразно (большой размер и т.п.) или невозможно (динамическое их создание при работе), как правило, они распространяются вместе с приложением, создаются/хранятся в папке приложения/соседних папках или папке временных файлов. Чтобы обеспечить работу с такими файлами на любом компьютере, требуется указывать относительные пути к ним. Основные части системных путей используемые при работе находятся в глобальных переменных:
[PubDir] - путь к папке где находится исполняемый файл вашего приложения. Например, чтобы указать путь к внешней картинке которая находится в подпапке Images, используйте путь [PubDir]Images\Picture.jpg [CDRomDrive] - буква диска первого CD/DVD привода (если он есть). Может использоваться при создании авторанов для CD/DVD. [NetworkDrive] - буква первого расшаренного сетевого диска. [MyDocuments] - путь к системной папке "Мои документы" для текущего пользователя. [ProgramFiles]- путь к системной папке с программами для текущего пользователя. [SystemDir] - путь к системной папке \Windows\System32. [TempDir]- путь к системной папке для хранения временных файлов. [WindowsDir] - путь к системной папке установки Windows.
Смысл в том, что например для сохранения файла в папке "Мои документы" не следует писать так: FileWrite"C:\Documents and Settings\NeoBooker\Мои документы\Info.txt""All""[Data]"
Папка документов на разных компьютерах, ОС может быть вовсе не по данному пути. Правильно использовать: FileWrite"[MyDocuments]Info.txt""All""[Data]"
Приведенные рекомендации касаются только внешних ресурсов приложения, которые не вкладываются внутрь проекта. Старайтесь всегда конструировать пути к внешним ресурсам (файлам, папкам) относительными, а не жестко заданными абсолютными, что обеспечит работу приложения на любом компьютере. Как задавать вопросы
После установки NeoBook в системе появляются зарегистрированные типы файлов .NBP - плагины для NeoBook:
Чтобы установить плагин, достаточно открыть такой файл двойным щелчком мыши. После чего запустится NeoBook и сообщит об успешной установке плагина (или об ошибке).
Также для управления плагинами существует пункт меню:
Здесь находится список установленных плагинов, где можно установить новый плагин, удалить, зарегистрировать и просмотреть информацию по установленным плагинам:
После установки плагина в общем списке команд появится раздел плагина с его командами, которые можно использовать полностью аналогично командам NeoBook:
Функции обычно хранятся в папке установки NeoBook, в подпапке /Functions. Чтобы установить функцию, скопируйте в неё файл функции вручную. После этого, функция станет доступна в списке команды вызова функций Call:
Если вы хотите хранить функции в другом месте, то следует указывать в команде Callполный путь к файлу функции вручную. Команда Call понимает также указание пути к функции относительно папки /Functions. Если функция имеет входящие параметры, то диалог команды будет содержать поля ввода и комментарии для этих параметров. В общем, вызов и работа функций с помощью команды Call ничем не отличается от остальных команд NeoBook. Как задавать вопросы
- первая любовь необукера или как работать со справкой NeoBook (...и вообще с CHM) - вторая любовь необукера или обнаженный проект в дебаггере (...выработать нужные привычки и сэкономить многие часы жизни и нервов) - краеугольный камень необукера - NeoBook делает то, что запрограммировали, а не то, что задумали (эта простая мысль требует внушения...) - в чем может быть проблема, если проект или его функция не работает (влияние антивирей, фаеров и пр....) - что такое подпрограммы, где пишутся и почему их удобно использовать - какие скрипты обычно пишут на вкладке "запуск" в свойствах проекта - какие имена давать переменным, чтобы понимать проект спустя время - почему для объектов одного типа удобно использовать типовые имена с цифрой, а не выдумывать уникальные имена - почему переменные лучше жестких значений и какая прелесть - составные переменные - что делать если возникнут проблемы с кодировкой текста, типичные проблемы - когда использовать контейнеры, а когда алерты и мессаги - что значит "защита от дурака" и каков ее джентльменский набор в проекте - ключевые правила хорошего интерфейса или почему программа должна помогать юзеру - удобные приемы работы в NeoBook (горячие клавиши, наследование свойств выделенных и создаваемых объектов...) - удобные вспомогательные инструменты (о том, что полезного можно прописать в меню "Инструменты" - вызов всего проекта в блокноте для глобальной автозамены и т.д.) - невероятные возможности гиперссылок в текстовых объектах (гиперссылка - могущественный объект вне панели инструментов) - как сделать свою иконку для файла программы и картинки для окошек сообщений - что нужно знать об авторских правах на картинки, иконки и прочее оснащение проекта - если программа сохраняет настройки, то где их и как правильно хранить (если в реестре, то в какой ветке) - хороший тон в работе программы или почему программа должна быть вежливой и предсказуемой (...не должна подменять файлы, особливо системные, на компьютере пользователя и пр.) - почему главное меню делают однотипным и какие команды следует выносить в гл.меню - почему NeoBook позволяет сделать программу любого дизайна - применение анимации и трехмерной графики в проекте - о чем следует помнить создавая мультимедийный проект (с аудио и видео) - подвижные элементы интерфейса (выдвижные окна, лента и пр.) Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
я помню, что часто тупил на маске для файлов. На форуме тоже встречал такое упущение у новичков... ---------------------1--------------------- Вопрос: Почему не выводится список файлов, помогите вот код
Code
FileList "[patch]" "Files" "[result]"
Ответ:Не указана маска для файлов/папок *.*, он нужен и тогда, когда задается список только для папок
---------------------2--------------------- Вопрос: Как удалить все пункты в ListBox? Ответ: В параметр строки прописать All
Code
ListBoxDeleteItem "ListBox1" "All"
---------------------3--------------------- Вопрос: Почему не работает или Можно ли запустить вложенный экзешник
Code
Run "[Embedded]app.exe" "" "Normal" "" ""
Ответ: Нельзя запустить вложенный экзешник. Предварительно необходимо извлечь...
Code
ExtractFile "[Embedded]app.exe" "[temp]app.exe" Run "[temp]app.exe" "" "Normal" "" ""
---------------------4--------------------- Вопрос: Как мне узнать имя текущего проекта или Как получить параметры запуска Ответ: Надо использовать глобальную переменную [CommandLine]
Code
StrParse "[CommandLine]" "[#13]" "[Args]" ""
В массиве с [Args2] по [Args..N] будут передаваемые параметры В [Args1] Полный путь и имя запущенного проекта ---------------------5--------------------- Вопрос: При запуске подпрограммы из WebBrowser по ссылке появляется ошибка Ответ: В свойствах WebBrowser снять галку "Усиленная безопасность" в "Опции отображения" ---------------------6--------------------- Пару моментов по команде GotoLine Ссылаться можно по номеру строки (но тогда код менять нельзя!)
Code
.какой то код (строка 1) .какой то код, повторить бы :)) (строка 2) .какой то код (строка 3) GotoLine "2" Return .Исполнение продолжится со 2 строки
Ссылаться можно по именному якорю. Перед именем ставится двоеточие
Code
.какой то код :es4o_raz .какой то код .какой то код GotoLine "es4o_raz" Return .В команде указываем только имя без двоеточия
---------------------7--------------------- Вопрос: Появляется ошибка, не работает код, не запускается/не открывается файл и т.д. Ответ: Много вопросов можно решить заглянув в дебагер Во вкладке "Команда" поэтапное исполнение проекта Во вкладке "Переменные" будут все переменные, за действенные в проекте. В некоторых случаях можно использовать команду DebugBreakPoint (остановка проекта в этой точке)
1. Вставлять каждый пункт по-отдельности кодом (работает медленно): SetVar"[Spisok]""Пункт 1" ListBoxAddItem"ListBox1""1""[Spisok]"
Как правило, это используется в цикле: SetVar"[Spisok]""Пункт" Loop"1""100""[i]" ListBoxAddItem"ListBox1""[i]""[Spisok][i]" EndLoop
2. Жестко записать пункты в св-вах списка (но менять их будет нельзя как переменную):
3. Сформировать переменную с пунктами и прописать ее в св-вах списка (работает быстро):
Переменная представляет собой строки разделенные символом [#10]. Команды NeoBook выдающие результат работы в многострочном формате используют такую схему, и результаты сразу пригодны для отображения в списке без каких-либо преобразований: FileList"C:\*.*""Files""[Spisok]"
В этом случае список содержащий эту переменную сразу отобразит результаты поиска. Как задавать вопросы
Почему не записать просто: ListBoxAddItem "ListBox1" "0" "Элемент списка" ? - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Качаем инсталлятор Neobook с официального сайта в папку программы: DownloadFile"http://neosoftware.com/software/nbw.exe""[TempDir]nbw.exe""HideProgress+Async"
Ход загрузки (% выполнения) записывается в переменную [DownloadProgress] (вообще, в эту переменную записывается ход любого интернет-действия). Одновременно может выполняться только одно интернет-действие!
Чтобы отменить загрузку, присвойте переменной значение "Cancel": SetVar"[DownloadProgress]""Cancel"
Значение опций интернет-действий: HideProgress - не показывать стандартный прогресс-бар выполнения действия Async - не блокировать интерфейс программы на время выполнения действия Как задавать вопросы
Спасибо всем тем кто захотел помочь, ,, А вечным нытикам - что бы им так помогали... Кто захочет тот поможет, а не будет скулить... Все мы взрослые люди, и помогать надо нессотря на какой вопрос... на то он и вопрос-ответ.... А уж если делать фак - то делать на човесть ао всевозможным моментам... А не по двум функциям... Вобщем думайте что хотите или опять скулите и обижайтесь... Но те то хоть попытался помочь тем спс... Если есть репутация то подниму .. хотя и это условности... А те, кто обсерает и думает что все знает - таким не место в обществе... До свидания
Тема вычищена от флуда и лишних сообщений. Последний пост временно оставлен для ознакомления всех желающих. Раздача слонов сделана. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Последний пост временно оставлен для ознакомления всех желающих.
Да, спасибо, после таких постов отпадает всякое желание помогать таким людям... Ему показали три реализации, а он спрашивает как вывести диалог
Добавлено (25 Июня 2012, 15:11) --------------------------------------------- И если возраст указан верный в профиле, то остается лишь развести руками...
Добавлено (25 Июня 2012, 15:15) ---------------------------------------------
Quote (innerforce)
Но те то хоть попытался помочь тем спс...
То есть три считай готовые реализации, это не помощь... При регистрации автоматом надо отправлять лс с ссылкой на хелп
Я вот, что, к сожалению, давно заметил: вновь прибывающих юзверей (и особенно молодых), по большей части, интересует получить готовое решение (как сделать вот это), и как можно скорее. С трудом припоминаются вопросы в духе "вот мой код, что-то не работает, подскажите где неправильно". Даже в справку NB заглянуть сложно. И тем-более хоть немножко подумать...
Мишем на все сто процентов прав, когда сказал, что "голодающему надо давать удочку, а не рыбу!" - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Все мы взрослые люди, и помогать надо нессотря на какой вопрос...
Вот именно, ПОМОГАТЬ! А не делать за другого. Разницу чувствуете?
Quote (innerforce)
на то он и вопрос-ответ....
Эта тема создана для часто задаваевамых вопросов. Ваш вопрос таковым не является. И вообще не понятно почему его сразу не удалили или не перенесли в другой раздел. Вам помогли. Вы не оценили. Ваша проблема.
Quote (innerforce)
А уж если делать фак - то делать на човесть ао всевозможным моментам...
ФАК создается не одним днем. И это вообще личная инициатива Дембеля. Весь фак ясно изложен в справке. И от того что такие как вы не хотят ее читать решили сделать эту тему, что бы хоть как то приостановить наплыв глупых, не интересных вопросов. Для любого, кто прочитал хотя бы бегло хелп, все эти вопросы не составляют труда. За исключением некоторых моментов.
И когда такие моменты настают человек сначала задает вопрос
Quote (Peter)
в духе "вот мой код, что-то не работает, подскажите где неправильно".
и ему с удовольствием подсказывают.
Quote (Peter)
вновь прибывающих юзверей (и особенно молодых), по большей части, интересует получить готовое решение (как сделать вот это), и как можно скорее.
С одной стороны это и не плохо. Если они после разбирают готовый ответ и делают выводы. Если копипастят, то следом идет следующий вопрос подобного содержания. И как правило они на него не получают ответа , и следуют примерно аналагичные реплики что выше.
Плавали, знаем. Еще мож пару дней пошоркается, и уйдет с форума. Смысл тратить на таких время? Я это как то старался Дембелю объяснить, он так и не согласился. Продолжает писать готовые решения.
Тема открытия и сохранения файла сама по себе интересная для новеньких, по себе помню. В тупике был, не мог понять куда и что. Петр как раз тогда на меня много времени убил. innerforce, поищите, где то она есть. Как раз там все доходчиво изложено как и что нужно делать. Поймете смысл, будете крайне удивлены на сколько это простой вопрос.
А уж создание окон, это вообще мягко говоря просто наглость задавать на форуме подобное. Первый пример в хелпе как раз и начинается с создания окон. Не надо иметь семь пядей во лбу, что бы понять что вы в хелп даже не заглядывали. А без него как не парадоксально звучит, так на одном месте и будете топтаться, и продолжать обвинять всех что вам не помогают.
Помочь-помогут, делать за вас никто не будет. Или... Платим-получаем. Рыночная система. Не хочешь читать хелп?
Он уже ушёл... точнее его "ушли". Мягче наказывать за 14 пост не имело смысла...
Quote (mishem)
Платим-получаем.
Кстати тоже верно! Непомню или Дима или Юра так и ответили одному пассажиру на mmbuilder'е: "Хотите готовый пример или программу - платите". После такого они сами начнут заглядывать в хелп.
Сообщение отредактировано Омар - Пн, 25 Июня 2012, 16:30
Чтобы установить плагин, достаточно открыть такой файл двойным щелчком мыши. После чего запустится NeoBook и сообщит об успешной установке плагина (или об ошибке).
Надо бы добавить. Если NeoBook уже запущена, то плагин во вкладке команд не отобразится до тех пор пока не перейти на вкладку установленных плагинов. Просто нужно открыть и закрыть. Тогда все отобразится.
Quote (Омар)
Мягче наказывать за 14 пост не имело смысла...
Да нет там ничего особого и нового. Можно было просто предупреждение. Это на мой взгляд. Ни в коем случае не обсуждаю решение администратора. А то жарковато сейчас в бане парится.
Поговорили много, толку мало. Плюс и примеры все пропали. Сижу, заняться нечем, вернее ниего делать не охота. Решил все же тему закрыть. Ниже пример, с окошком. Гарик, ищи ошибки.
Но, надо учесть что файл который захочется переименовать, может быть в работе. В таком случае, нужно найти приложение которое его использует, найти процесс, убить этот процесс, или предоставить пользователю выбор, или предупредить.... Короче голь на выдумки сильна.
У меня на ноуте плагинв нет, по этому обойдемся простым примером.
Кстати, думается мне что есть еще проще вариант, вызов этого самого окна и переименование файла средствами системы или через ком. строку.
Доброго времени суток. Имеется "мелкий вопрос начинающего пользователя" Сделала всплывающую подсказку, по средствам StickyNote, текст для нее берется из базы данных. И вот столкнулась с проблемой: в тексте необходимо прописать символ |, но, как всем известно, он переводит на следующую строку. Вариант с [#124] тоже не помог, вместо | отображается [#124]. Как заставить отображаться |? Пожалуйста, не надо ко мне на "Вы", а то чувствую себя бабулькой)
Сообщение отредактировано Callisto - Сб, 16 Февраля 2013, 23:05
Sonar, А вот про [#73] не знала Но, не работает. Если использовать непосредственно в команде, то да, работает. Но у меня текст берется из БД и вот в этом случае почемуто не работает, так и показывает [#73]. Пожалуйста, не надо ко мне на "Вы", а то чувствую себя бабулькой)
Sonar, Не, вообще никак. Попробовала в текс вставить переменные, используемые в проекте, отображается только имя переменной, а то, что в ней записано - нет. Пожалуйста, не надо ко мне на "Вы", а то чувствую себя бабулькой)
И [#73] тоже работает. Что в базе то записано? Как берется из базы? Опять пример нужен. Научитесь выкладывать пример вместе с вопросом ели у кого то получается а у тебя нет. Не хочешь читать хелп?
Добавлено (17 Февраля 2013, 05:37) --------------------------------------------- Кстати, можешь влепить [#13] где-нибудь в центре, что-бы подсказка не была сильно длинной, а разбивалась(группировалась) в два-три... столбика.