Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
В описании плагина на данном сайте написано, что он позволяет сохранять в файлах баз данных графику, звук или любой другой тип информации. С графикой все понятно, а как с другими типами данных, например веб-страницами.
Вопросы:
1) Какой тип данных выбирать в ячейке столбца при создании базы данных, чтобы там можно было бы поместить звук, веб-страницу, документ в формате RTF... и в дальнейшем использовать все это в проекте (к слову, для графики есть специальный тип данных Picture)?
2) Есть ли способ загрузить строку с данными из базы данных не по номеру записи, используя команду: dbfGotoRecord, а по записям в строках столбцов? Например, у меня есть база данных (под названием Base), в которой два столбца: PIC (Файл картинки) и NAME (Название картинки). В проекте размещаю три объекта: Надпись (переменная [Base.NAME]), Картинку (переменная [Base.PIC]) и Список (переменная [ListN]), содержащий пункты, соответствующие строкам столбца NAME базы данных Base. Необходимо, чтобы при выборе пункта Списка, загружалась соответствующая строка базы данных в объекты проекта.
3) Как загрузить содержимое, например солбца NAME базы данных в объект "Список" проекта?
В первую очередь, приятно то, что человек желает поработать с реальными базами данных, а не с их пародиями в виде текстовых файлов...
Только-что закончил с апгрейдом компьютера, и пока он пустой (даже NB ещё не установлена). Поэтому пишу по-памяти...
Quote (Lector)
1) Какой тип данных выбирать в ячейке столбца при создании базы данных, чтобы там можно было бы поместить звук, веб-страницу, документ в формате RTF... и в дальнейшем использовать все это в проекте (к слову, для графики есть специальный тип данных Picture)?
Поле "Picture" может хранить любые бинарные данные (не только картинки). А "Picture" - всего лишь псевдоним для этого поля. В это поле можно загрузить любые данные (музыку, видео, рисунки, тексовые файлы, и т.д.), а для их отображения просто (вместо объекта "Picture" в дэмке) назначить соответствующий тип объекта, и далее работать как обычно, загружая в объект данные (по имени объекта и переменной для его содержимого) из поля "Picture".
Quote (Lector)
2) Есть ли способ загрузить строку с данными из базы данных не по номеру записи, используя команду: dbfGotoRecord, а по записям в строках столбцов? Например, у меня есть база данных (под названием Base), в которой два столбца: PIC (Файл картинки) и NAME (Название картинки). В проекте размещаю три объекта: Надпись (переменная [Base.NAME]), Картинку (переменная [Base.PIC]) и Список (переменная [ListN]), содержащий пункты, соответствующие строкам столбца NAME базы данных Base. Необходимо, чтобы при выборе пункта Списка, загружалась соответствующая строка базы данных в объекты проекта
Ну, в плагине уже есть готовые таблицы для работы. Но, если есть желание применить отдельно "штатный" ListBox NeoBook, то тут возможны два варианта... Первый, если выделенный пункт объект ListBox содержит порядковый номер пункта... Для желаемой команды (Click или DoubleClick) в командах ListBox (с именем ListN) пишем:
3) Как загрузить содержимое, например солбца NAME базы данных в объект "Список" проекта?
Загружаем в ListBox (ListN) содержимое столбца Name, например, так:
Code
dbfFieldToVar "......\Base.dbf" "Name" "[Items]"
где [Items] - переменная списка пунктов объекта "ListN", т.е нашего ListBox. Переменная [Items] может иметь и любое другое имя.
И... Дело в шляпе!....
Кстати, это не единственный способ, но самый эффективный.
Видите как всё просто делается в NeoBook!
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
И еще вопрос: будет ли увеличение размера базы данных влиять на скорость (либо другие параметры) загрузки данных в проект NB, а также - есть ли ограничения по размеру загружаемых в базу данных файлов (например, видео в 50 и более метров)?
Добавлено (12 Апрель 2008, 15:20) --------------------------------------------- В ходе длительного использования данного плагина у меня возник вопрос! СИТУАЦИЯ: у меня в наличии имеется несколько баз данных с разными именами, но с идентичной структурой. В проекте NB созданы объекты с переменными типа [Имя базы данных (без расширения).Имя столбца в базе данных которые в данном объекте нужно отобразить]. В этом случае создаваемый объект будет отображать только те данные столбца и только той базы данных, которые указаны в переменной объекта.
ВОПРОС: что необходимо сделать, чтобы при открытии любой из имеющихся баз данных (с раными именами, но идентичной структурой), данные (которые в последствии можно изменить) отображались в одних и тех же объектах (на одной странице проекта NB).
МОИ РЕШЕНИЯ: 1. Для каждой базы данных создать отдельную страницу с объектами в переменных которых прописано имя базы данных и имена столбцов! Это решение можно использовать только в том случае, если имена баз данных и их количество уже известны... В этом случае проект получается громоздким... 2. Создаем одну страницу с объектами в переменных которых прописано что-то типа [[DateBase].Имя столбца], где DateBase - переменная (имя базы данных), меняющаяся в зависимости от выбранной базы данных, т.е. выбираем базу данных, ее имя копируется в переменную и объект отображает соответствующие данные. Это неплохое решение (проверено на практике)! Не надо создавать для каждой базы данных отдельную страницу... НО!!! В этом случае можно будет только просматривать базы данных, но не редактировать!
Сообщение отредактировано Lector - Чт, 25 Октября 2007, 11:29
ВОПРОС: что необходимо сделать, чтобы при открытии любой из имеющихся баз данных (с раными именами, но идентичной структурой), данные (которые в последствии можно изменить) отображались в одних и тех же объектах (на одной странице проекта NB).
Вопрос, конечно, интересный...
Quote (Lector)
МОИ РЕШЕНИЯ:
Первое решение, мягко говоря, не очень рационально; да и к тому же годится, как вы сами заметили, только для фиксированного количества файлов баз. Отпадает... Второе?... Идея совершенно правильна, но есть одна тонкость... Составные имена переменных ( [[DateBase].Имя столбца] ) в командах NB надежно "срабатывают" только внутри кода проекта, а вот с плагинами могут быть нестыковки. Всё зависит от того КАК раработчик плагина организовал обмен данными между проектом и плагином, т.к. функции плагина работают "в отрыве" от кода исполняемого файла проекта. В этом нет ничего удивительного - так работают все динамические библиотеки. Плагин NeoBookDB при манипуляцих с полями (и их содержимым) использует свои собственные (внутренние) переменные, прямой доступ к которым из файла проекта закрыт. Поэтому [[DateBase].Имя столбца] при сохранении и редактировании баз и не прокатывает.
Но решение есть! И ОЧЕНЬ простое: функция плагина dbfDefineAlias. В принципе, это - ваше же решение номер 2, только "подправленное". Просто откройте справочный файл плагина - там всё очень просто! Можно врубиться даже без знания английского. На всякий случай: английское Alias это НЕ Алиас (как иногда "переводят" термины некоторые "знатоки" английского) , а - псевдоним (кличка)! Уверен, что вы сами сможете разобраться в dbfDefineAlias что-да-как! А если будут неясности, пишите...
Да, кстати... А новый плагин NeoBookDBPro не испытывали ещё?.... Я - нет. Судя по его стоимости, должна быть неплохая штука....
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Большое спасибо, благодаря этой функции я решил массу трудностей!
Quote (Peter)
Да, кстати... А новый плагин NeoBookDBPro не испытывали ещё?.... Я - нет. Судя по его стоимости, должна быть неплохая штука....
Прошу прощения, но у меня просто текут слюньки... Где бы достать кряк для этого плагина... В общем, это NeoBookDB, только круче: возможно работать с базми данных таких расширений, как mdb, db, dbf (ну понятное дело), udl, dsn и др., добавили новые форматы хранения данных, например конкретно Picture, теперь с таблицами можно делать все что угодно: делать цветные ячейки, выпадающие списки и др., выводить на печать отчеты (есть Report Designer), базы данных можно экспортировать в HTML, XML, CSV и т.д. Короче, просто отличный плагин... То, что я тут перечислил 1% от того что в нем есть!
Добавлено (13 Июнь 2008, 11:15) --------------------------------------------- Вопрос! Есть ли возможность добавлять (удалять) столбцы в уже созданную и заполненную данными базу данных?
Сообщение отредактировано Lector - Вс, 13 Апреля 2008, 09:58
Есть ли возможность добавлять (удалять) столбцы в уже созданную и заполненную данными базу данных?
Если речь идет о плагине NeoBookDB2.3d, то напрямую нельзя. Нужно создать новую базу (с новым количеством полей), и скопировать в неё старую.
А если - плагин NeoBookDBPro, то (судя по его функциям), похоже, можно. Правда, я лично с этим плагином не работал ещё, поэтому на 100% утверждать не решаюсь.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
доброго времени суток всем,помогите разобраться с этим плагином а именно сохранение,НАПРИМЕР: 1) пишу в два столбца данные, сохраняю....вторая колонка пропадает и при перезапуске запись не сохраняется. 2)написал первые колонки , создал пустую запись -- пропали и верхние .... ЧЕТ ВООБЩЕ НЕ ПОНЯТНО. да это мне надо чтоб без кнопок навигации работало, с навигацией все работает, пример прикрепил.
Во первых вообще не понятно как база работает если не указан тип поля. :)
Когда то я тоже пытался таким методом завершить редактирование. Здесь именно нужно завершить редактирование, сохранение в базе данных происходит автоматически по ее закрытию (прекращению доступа к ней). То есть даже если приложение аварийно закроется, данные базы сохранятся.
Как я понимаю команды такой нет, "Завершить редактирование", по этому есть несколько вариантов сделать это программно. 1. Добавить новую пустую запись. 2. Перейти на предыдущую запись, а после вернутся к редактируемой. 3. Выполнить сортировку. и т.д. Методом проб и ошибок можно найти разные решения.
сохранение в базе данных происходит автоматически по ее закрытию (прекращению доступа к ней). То есть даже если приложение аварийно закроется, данные базы сохранятся.
нишиша, Появляется пустая строчка без записи и все,а сама запись исчезает
Если редактирование закончено, слева появится стрелка, то ничего уже не исчезнет. Если запись в процессе редактирования, курсор в поле ввода мигает, то редактирование не закончено, запись в базе не сохранилась. Соответственно если в этот момент закрыть программу, то запись сохранена не будет.
Я не знаю, то ли команды сохранения и отмены не доработаны в плагине, то ли я их не правильно использую. Посмотри в примерах для этого плагина, может быть (даже скорей всего) есть демонстрация их применения. Не хочешь читать хелп?
Сдается мне, что все это - глюк самого плагина, т.к. со стрелками навигации (по таблице) все сохраняется исправно, а без них - По логике вещей такого быть не должно. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться