Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Сохранение данных в ListBox (Возможно ли это в NB?)
Сохранение данных в ListBox
FriedhelmДата: Вт, 17 Марта 2009, 18:16 | Сообщение # 1
Любопытный
Может, кто-нибудь поможет решить проблемку? Задача на первый взгляд простая. 1. Создается пустой ListBox. 2. Кнопкой вызывается InputBox, где вводится информация. OK. 3. Эта информация добавляется в ListBox - без проблем. Но вот как сделать, чтобы она сохранилась там? Вот вопрос. Крутил и так и этак... Никак. После нового запуска - ListBox снова чист. И еще, если удастся решить эту проблему. Возможно ли с этой информацией проводить уже манипуляции? То есть назначать действия и т.д.? Как программа будет эту строку идентифицировать для дальнейшей работы? Поясню общий замысел: сделать картотеку. Создал список заголовков - прикрепил к каждому информацию (текст, картинки в окнах...) и листаешь. То есть сделать такую программу, чтобы пользователь сам мог формировать записи.
 
СообщениеМожет, кто-нибудь поможет решить проблемку? Задача на первый взгляд простая. 1. Создается пустой ListBox. 2. Кнопкой вызывается InputBox, где вводится информация. OK. 3. Эта информация добавляется в ListBox - без проблем. Но вот как сделать, чтобы она сохранилась там? Вот вопрос. Крутил и так и этак... Никак. После нового запуска - ListBox снова чист. И еще, если удастся решить эту проблему. Возможно ли с этой информацией проводить уже манипуляции? То есть назначать действия и т.д.? Как программа будет эту строку идентифицировать для дальнейшей работы? Поясню общий замысел: сделать картотеку. Создал список заголовков - прикрепил к каждому информацию (текст, картинки в окнах...) и листаешь. То есть сделать такую программу, чтобы пользователь сам мог формировать записи.

Автор - Friedhelm
Дата добавления - 17 Марта 2009 в 18:16
PeterДата: Вт, 17 Марта 2009, 22:04 | Сообщение # 2
Админ NeoBook
Quote (Friedhelm)
Но вот как сделать, чтобы она сохранилась там? Вот вопрос. Крутил и так и этак... Никак. После нового запуска - ListBox снова чист. И еще, если удастся решить эту проблему.

Разьве это - проблема? biggrin
На самом деле всё очень просто - см. маленький пример в прикреплении.
Quote (Friedhelm)
Возможно ли с этой информацией проводить уже манипуляции?

Разумеется!
А зачем тогда она (информация) нужна? biggrin
Quote (Friedhelm)
То есть назначать действия и т.д.? Как программа будет эту строку идентифицировать для дальнейшей работы? Поясню общий замысел: сделать картотеку. Создал список заголовков - прикрепил к каждому информацию (текст, картинки в окнах...) и листаешь. То есть сделать такую программу, чтобы пользователь сам мог формировать записи.

Естесственно все это МОЖНО сделать!
А вот КАК, это уже зависит целиком только от вас! wink
Вам надо будет (для начала) изучить приемы работы со строками и с текстовыми файлами: чтение-запись, и т.п.
Но конкретнее, пожалуйста, т.к. тут может быть не одно решение...
Прикрепления: Spisok.rar (2.1 Kb)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Friedhelm)
Но вот как сделать, чтобы она сохранилась там? Вот вопрос. Крутил и так и этак... Никак. После нового запуска - ListBox снова чист. И еще, если удастся решить эту проблему.

Разьве это - проблема? biggrin
На самом деле всё очень просто - см. маленький пример в прикреплении.
Quote (Friedhelm)
Возможно ли с этой информацией проводить уже манипуляции?

Разумеется!
А зачем тогда она (информация) нужна? biggrin
Quote (Friedhelm)
То есть назначать действия и т.д.? Как программа будет эту строку идентифицировать для дальнейшей работы? Поясню общий замысел: сделать картотеку. Создал список заголовков - прикрепил к каждому информацию (текст, картинки в окнах...) и листаешь. То есть сделать такую программу, чтобы пользователь сам мог формировать записи.

Естесственно все это МОЖНО сделать!
А вот КАК, это уже зависит целиком только от вас! wink
Вам надо будет (для начала) изучить приемы работы со строками и с текстовыми файлами: чтение-запись, и т.п.
Но конкретнее, пожалуйста, т.к. тут может быть не одно решение...

Автор - Peter
Дата добавления - 17 Марта 2009 в 22:04
FriedhelmДата: Ср, 18 Марта 2009, 11:48 | Сообщение # 3
Любопытный
Спасибо, Peter, огромное! Я лишь недавно начал осваивать NB. Параллельно попробовал MMB, и HA. Но Neo Book мне пришелся как-то ближе. Сохранять данные, введенные в ListBox в стороннем файле .txt - первое, что пришло мне в голову и это нормальное решение задачи. Но я пытался сделать так, чтобы при открытии приложения - ListBox уже показывал введеные ранее данные, без кликанья на кнопку "Загрузить из файла". Ваш пример натолкнул меня на мысль - присвоить командный код этой кнопки объекту ListBox. Сегодня, к сожалению, не смогу уже это испробовать, но в ближайшие дни - обязательно. Теоретически, должно сработать. Еще раз спасибо! P.S. Как жаль, что нет приличного обучающего материала, а одного Хелпа, прилагающегося к программе явно не хватает. Про то убожество, которое втюхивает Геннадий Ка, я вообще говорить не хочу. Приходится доходить до достижения нужной задачи методом проб и ошибок. И хорошо, что есть этот сайт, где можно расчитывать на помощь.
 
СообщениеСпасибо, Peter, огромное! Я лишь недавно начал осваивать NB. Параллельно попробовал MMB, и HA. Но Neo Book мне пришелся как-то ближе. Сохранять данные, введенные в ListBox в стороннем файле .txt - первое, что пришло мне в голову и это нормальное решение задачи. Но я пытался сделать так, чтобы при открытии приложения - ListBox уже показывал введеные ранее данные, без кликанья на кнопку "Загрузить из файла". Ваш пример натолкнул меня на мысль - присвоить командный код этой кнопки объекту ListBox. Сегодня, к сожалению, не смогу уже это испробовать, но в ближайшие дни - обязательно. Теоретически, должно сработать. Еще раз спасибо! P.S. Как жаль, что нет приличного обучающего материала, а одного Хелпа, прилагающегося к программе явно не хватает. Про то убожество, которое втюхивает Геннадий Ка, я вообще говорить не хочу. Приходится доходить до достижения нужной задачи методом проб и ошибок. И хорошо, что есть этот сайт, где можно расчитывать на помощь.

Автор - Friedhelm
Дата добавления - 18 Марта 2009 в 11:48
PeterДата: Ср, 18 Марта 2009, 21:21 | Сообщение # 4
Админ NeoBook
Quote (Friedhelm)
Спасибо, Peter,

Да не за что!
Всегда-пожалуйста!
Quote (Friedhelm)
P.S. Как жаль, что нет приличного обучающего материала, а одного Хелпа, прилагающегося к программе явно не хватает.

Да, понимаю...
Необушная справка хиловата, даже несмотря на то, что формально в ней все есть, чтобы начать освоение NB!
Замечательняа программа, и... паршивая справка! Парадокс...
Для программиста, на самом деле, написАть грамотную справку к программе намного труднее чем саму программу!
И это - не шутка.
Quote (Friedhelm)
втюхивает Геннадий Ка

happy
Неужели вы заплатили?...
Quote (Friedhelm)
И хорошо, что есть этот сайт, где можно расчитывать на помощь

А для чего мы здесь тусуемся тогда? wink
Заглядывайте к нам если что...


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Friedhelm)
Спасибо, Peter,

Да не за что!
Всегда-пожалуйста!
Quote (Friedhelm)
P.S. Как жаль, что нет приличного обучающего материала, а одного Хелпа, прилагающегося к программе явно не хватает.

Да, понимаю...
Необушная справка хиловата, даже несмотря на то, что формально в ней все есть, чтобы начать освоение NB!
Замечательняа программа, и... паршивая справка! Парадокс...
Для программиста, на самом деле, написАть грамотную справку к программе намного труднее чем саму программу!
И это - не шутка.
Quote (Friedhelm)
втюхивает Геннадий Ка

happy
Неужели вы заплатили?...
Quote (Friedhelm)
И хорошо, что есть этот сайт, где можно расчитывать на помощь

А для чего мы здесь тусуемся тогда? wink
Заглядывайте к нам если что...

Автор - Peter
Дата добавления - 18 Марта 2009 в 21:21
FriedhelmДата: Чт, 19 Марта 2009, 19:31 | Сообщение # 5
Любопытный
Peter! Так и не могу, видимо, поймать какой-то сути. Пробовал по всякому. Не получается сделать так, чтобы при загрузке приложения ListBox был уже загружен строками, внесенными пользователем ранее. Ну да ладно, есть кнопка "Загрузить из файла" и хоть это разнится с замыслом, можно пользоваться ей. Другая головоломка, как присвоить этим строкам (отображаемым при загрузке из файла, но невидимым при проектировании) нужные операции? Когда сам проектируешь ListBox - здесь все ясно: if "[ListBox]" "=" "Нужная строка" "Нужное действие" EndIf. А когда не знаешь, какие данные введет пользователь? Переменная-то, в которой сохраняются данные из файла - одна, а строк может быть десяток. Как их идентифицировать? Перелопатил весь Хелп, но намека не увидел. Пытался методом логического тыка - безрезультатно. Может, я себе непосильную задачу замутил? Немного модифицировал тот файл, что Вы показали выше. Но дальше дело не идет. Может, присоветуете что?
Прикрепления: Spisok2.pub (5.4 Kb)
 
СообщениеPeter! Так и не могу, видимо, поймать какой-то сути. Пробовал по всякому. Не получается сделать так, чтобы при загрузке приложения ListBox был уже загружен строками, внесенными пользователем ранее. Ну да ладно, есть кнопка "Загрузить из файла" и хоть это разнится с замыслом, можно пользоваться ей. Другая головоломка, как присвоить этим строкам (отображаемым при загрузке из файла, но невидимым при проектировании) нужные операции? Когда сам проектируешь ListBox - здесь все ясно: if "[ListBox]" "=" "Нужная строка" "Нужное действие" EndIf. А когда не знаешь, какие данные введет пользователь? Переменная-то, в которой сохраняются данные из файла - одна, а строк может быть десяток. Как их идентифицировать? Перелопатил весь Хелп, но намека не увидел. Пытался методом логического тыка - безрезультатно. Может, я себе непосильную задачу замутил? Немного модифицировал тот файл, что Вы показали выше. Но дальше дело не идет. Может, присоветуете что?

Автор - Friedhelm
Дата добавления - 19 Марта 2009 в 19:31
mishemДата: Чт, 19 Марта 2009, 23:26 | Сообщение # 6
Эксперт форума
Quote (Friedhelm)
Не получается сделать так, чтобы при загрузке приложения ListBox был уже загружен строками, внесенными пользователем ранее.

Проект > Свойства проекта > Команды Закладка запуск. Туда вписываете команды которые находяться на кнопке Загрузить из файла.. Закладка Выход команды из Кнопки Сохранить в файл. Больше Вам эти кнопки не нужны smile Приложение при запуске будет автоматически добавлять записи, при закрытии приложения сохранять все что вы добавили.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (Friedhelm)
Не получается сделать так, чтобы при загрузке приложения ListBox был уже загружен строками, внесенными пользователем ранее.

Проект > Свойства проекта > Команды Закладка запуск. Туда вписываете команды которые находяться на кнопке Загрузить из файла.. Закладка Выход команды из Кнопки Сохранить в файл. Больше Вам эти кнопки не нужны smile Приложение при запуске будет автоматически добавлять записи, при закрытии приложения сохранять все что вы добавили.

Автор - mishem
Дата добавления - 19 Марта 2009 в 23:26
PeterДата: Пт, 20 Марта 2009, 02:11 | Сообщение # 7
Админ NeoBook
Quote (Friedhelm)
Другая головоломка, как присвоить этим строкам (отображаемым при загрузке из файла, но невидимым при проектировании) нужные операции?

Ответ на этот вопрос вы найдете в этом топике.
Если будет что-то непонятно, спрашивайте....
Quote (Friedhelm)
А когда не знаешь, какие данные введет пользователь?

А вот это НИКТО и НИКОГДА предугадать не сможет!
Мало ли что взбредёт в голову пользователю! biggrin
Человеческой глупости нет предела!
Но, направить поведение программы в нужное русло всегда возможно.
Quote (Friedhelm)
Может, я себе непосильную задачу замутил?

Отчего же непосильную?
Если голова "на месте", то ничего непосильного нет!
Все осваивается "от простого к сложному"...
Quote (Friedhelm)
Может, присоветуете что?

Для этого надо подробнее узнать все-таки: ЧТО вы хотите получить?
А начальную подсказку вам уже чуть ранее дал mishem...


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Friedhelm)
Другая головоломка, как присвоить этим строкам (отображаемым при загрузке из файла, но невидимым при проектировании) нужные операции?

Ответ на этот вопрос вы найдете в этом топике.
Если будет что-то непонятно, спрашивайте....
Quote (Friedhelm)
А когда не знаешь, какие данные введет пользователь?

А вот это НИКТО и НИКОГДА предугадать не сможет!
Мало ли что взбредёт в голову пользователю! biggrin
Человеческой глупости нет предела!
Но, направить поведение программы в нужное русло всегда возможно.
Quote (Friedhelm)
Может, я себе непосильную задачу замутил?

Отчего же непосильную?
Если голова "на месте", то ничего непосильного нет!
Все осваивается "от простого к сложному"...
Quote (Friedhelm)
Может, присоветуете что?

Для этого надо подробнее узнать все-таки: ЧТО вы хотите получить?
А начальную подсказку вам уже чуть ранее дал mishem...

Автор - Peter
Дата добавления - 20 Марта 2009 в 02:11
FriedhelmДата: Пт, 20 Марта 2009, 10:49 | Сообщение # 8
Любопытный
Спасибо, Mishem и Peter! Я как раз это проделывал, но ошибка моя заключалась в том, что команды вставлял не в свойства проекта, а в свойства страницы. Теперь все получилось.
Quote (Peter)
Для этого надо подробнее узнать все-таки: ЧТО вы хотите получить?

А замысел прост - сделать программку-картотеку, где пользователь вносит в ListBox заголовки записей. Затем вписывает в многострочные TextBox'ы сами записи, связанные с заголовками. В итоге, выбирая пункты в ListBox'e имеет быстрый доступ к введеной информации. Я сделал подобное с помощью базы данных (это оказалось проще), но более громоздко, тем более, что найти нужную информацию можно только через команду "Find", а просмотр в режиме сетки не очень удобен - присутствует масса лишней информации. А тут - другое дело! Минимум средств и максимум функциональности. Кстати, мысль пришла (пока еще не пробовал, но и команд таких не припомню кроме ImageWindow) - возможно ли в NB сделать так, чтобы пользователь не только свой текст вставлял, но и картинки? Надо поискать. Еще раз спасибо за помощь.
 
СообщениеСпасибо, Mishem и Peter! Я как раз это проделывал, но ошибка моя заключалась в том, что команды вставлял не в свойства проекта, а в свойства страницы. Теперь все получилось.
Quote (Peter)
Для этого надо подробнее узнать все-таки: ЧТО вы хотите получить?

А замысел прост - сделать программку-картотеку, где пользователь вносит в ListBox заголовки записей. Затем вписывает в многострочные TextBox'ы сами записи, связанные с заголовками. В итоге, выбирая пункты в ListBox'e имеет быстрый доступ к введеной информации. Я сделал подобное с помощью базы данных (это оказалось проще), но более громоздко, тем более, что найти нужную информацию можно только через команду "Find", а просмотр в режиме сетки не очень удобен - присутствует масса лишней информации. А тут - другое дело! Минимум средств и максимум функциональности. Кстати, мысль пришла (пока еще не пробовал, но и команд таких не припомню кроме ImageWindow) - возможно ли в NB сделать так, чтобы пользователь не только свой текст вставлял, но и картинки? Надо поискать. Еще раз спасибо за помощь.

Автор - Friedhelm
Дата добавления - 20 Марта 2009 в 10:49
FriedhelmДата: Пт, 20 Марта 2009, 11:06 | Сообщение # 9
Любопытный
Получилось-то, получилось, но возник побочный эффект - теперь при каждом запуске ListBox добавляет к уже имеющимся записям снова их же... Список растет и множится.
Прикрепления: 8396264.pub (6.0 Kb)
 
СообщениеПолучилось-то, получилось, но возник побочный эффект - теперь при каждом запуске ListBox добавляет к уже имеющимся записям снова их же... Список растет и множится.

Автор - Friedhelm
Дата добавления - 20 Марта 2009 в 11:06
mishemДата: Пт, 20 Марта 2009, 12:43 | Сообщение # 10
Эксперт форума
Попробуйте может вот так надо вписать в кнопку загрузить из файла
Code
FileExists "[PubDir]Список.txt" "[Result]"
If "[Result]" "=" "True"
   FileLen "[PubDir]Список.txt" "[Len]"
FileRead "[PubDir]Список.txt" "All" "[List]"
EndIf

Может я и ошибаюсь. Но попробуйте. Я сам новичек в этом деле smile


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеПопробуйте может вот так надо вписать в кнопку загрузить из файла
Code
FileExists "[PubDir]Список.txt" "[Result]"
If "[Result]" "=" "True"
   FileLen "[PubDir]Список.txt" "[Len]"
FileRead "[PubDir]Список.txt" "All" "[List]"
EndIf

Может я и ошибаюсь. Но попробуйте. Я сам новичек в этом деле smile

Автор - mishem
Дата добавления - 20 Марта 2009 в 12:43
PeterДата: Пт, 20 Марта 2009, 16:56 | Сообщение # 11
Админ NeoBook
Quote (Friedhelm)
Я сделал подобное с помощью базы данных (это оказалось проще),

Если вы использовали пример фото-альбома, прилагающийся к плагину NeoBookDB, то СОВЕРШЕННО ПРАВИЛЬНО СДЕЛАЛИ!!!
Насколько я сумел понять идею вашей картотеки решение через базы данных - просто ИДЕАЛЬНЫЙ вариант!
Quote (Friedhelm)
но более громоздко,

Отчего же? Ничего подобного!...
Quote (Friedhelm)
нужную информацию можно только через команду "Find", а просмотр в режиме сетки не очень удобен - присутствует масса лишней информации.

Всё это зависит от того как вы САМИ организуете поиск и вывод на экран нужных данных.
Команда плагина dbfFieldToVar - всего одна строчка кода, и ваш список (именно СПИСОК, а не таблица, но можно и таблицу, без разницы)... заполнен!
Причем. заполнен только нужной вам информацией! wink
Quote (Friedhelm)
А тут - другое дело! Минимум средств и максимум функциональности

Всё - прямо НАОБОРОТ!!!
Управление информацией при помощи баз данных в сотни (тысячи) раз эффективнее текстовых файлов. Пока у вас один-два десятка записей это практически незаметно, но по мере роста количества информации разрыв в скорости её обработки будет все увеличеваться и увеличеваться.
Quote (Friedhelm)
возможно ли в NB сделать так, чтобы пользователь не только свой текст вставлял, но и картинки?

Конечно возможно! Посмотрите тот пример фото-альбома.
Но можно сделать и совсем по-другому, т.е не грузить картинки в базы данных - все зависит от того ГДЕ и в каком виде должны находиться картинки.
Quote (Friedhelm)
при каждом запуске ListBox добавляет к уже имеющимся записям снова их же... Список растет и множится.

Сейчас посмотрел ВАШ же пример!
НИЧЕГО НЕ МНОЖИТСЯ! Все работает совершенно исправно! wacko
Галочку "Стирать старые данные" убирать НЕ НАДО, и.. всё ОК! wink
Или "модернизировать" нужным образом команды на выходе приложения.

Мне кажется, что основная ваша ошибка состоит в том, что приведенные примеры кодов, вы рассматриваете как некую догму, что ли.
На самом деле, их надо воспринимать именно, как своего рода, тезисы, подсказки...
И все эти дэмо-примеры нужно переделывать под СВОИ собственные нужды, а не просто слепо применять один-в-один!

Quote (mishem)
FileRead "[PubDir]Список.txt" "All" "
    "

Совершенно верно, если нужно загрузить файл в список целиком.
Кстати, в данном случае аналог FileToVar.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Friedhelm)
Я сделал подобное с помощью базы данных (это оказалось проще),

Если вы использовали пример фото-альбома, прилагающийся к плагину NeoBookDB, то СОВЕРШЕННО ПРАВИЛЬНО СДЕЛАЛИ!!!
Насколько я сумел понять идею вашей картотеки решение через базы данных - просто ИДЕАЛЬНЫЙ вариант!
Quote (Friedhelm)
но более громоздко,

Отчего же? Ничего подобного!...
Quote (Friedhelm)
нужную информацию можно только через команду "Find", а просмотр в режиме сетки не очень удобен - присутствует масса лишней информации.

Всё это зависит от того как вы САМИ организуете поиск и вывод на экран нужных данных.
Команда плагина dbfFieldToVar - всего одна строчка кода, и ваш список (именно СПИСОК, а не таблица, но можно и таблицу, без разницы)... заполнен!
Причем. заполнен только нужной вам информацией! wink
Quote (Friedhelm)
А тут - другое дело! Минимум средств и максимум функциональности

Всё - прямо НАОБОРОТ!!!
Управление информацией при помощи баз данных в сотни (тысячи) раз эффективнее текстовых файлов. Пока у вас один-два десятка записей это практически незаметно, но по мере роста количества информации разрыв в скорости её обработки будет все увеличеваться и увеличеваться.
Quote (Friedhelm)
возможно ли в NB сделать так, чтобы пользователь не только свой текст вставлял, но и картинки?

Конечно возможно! Посмотрите тот пример фото-альбома.
Но можно сделать и совсем по-другому, т.е не грузить картинки в базы данных - все зависит от того ГДЕ и в каком виде должны находиться картинки.
Quote (Friedhelm)
при каждом запуске ListBox добавляет к уже имеющимся записям снова их же... Список растет и множится.

Сейчас посмотрел ВАШ же пример!
НИЧЕГО НЕ МНОЖИТСЯ! Все работает совершенно исправно! wacko
Галочку "Стирать старые данные" убирать НЕ НАДО, и.. всё ОК! wink
Или "модернизировать" нужным образом команды на выходе приложения.

Мне кажется, что основная ваша ошибка состоит в том, что приведенные примеры кодов, вы рассматриваете как некую догму, что ли.
На самом деле, их надо воспринимать именно, как своего рода, тезисы, подсказки...
И все эти дэмо-примеры нужно переделывать под СВОИ собственные нужды, а не просто слепо применять один-в-один!

Quote (mishem)
FileRead "[PubDir]Список.txt" "All" "
    "

Совершенно верно, если нужно загрузить файл в список целиком.
Кстати, в данном случае аналог FileToVar.

Автор - Peter
Дата добавления - 20 Марта 2009 в 16:56
FriedhelmДата: Пт, 20 Марта 2009, 18:25 | Сообщение # 12
Любопытный
Ломился в открытую дверь. Пример фото-альбома я как раз и не посмотрел. А там - ответы на многие мои вопросы. Команду dbpFieldToVar обязательно попробую. Судя по тому, что Вы, Peter, сказали это действительно - то, что нужно. Спасибо Вам и Mishem'у. Ну а если еще подскажете, как одной кнопке назначить разные действия - будет мне счастье. Бьюсь над этим долго. Чувствую теоретически, что нужно создать шаблоны сценариев, а в самом коде кнопки указать условие при котором один сценарий заканчивает работу, а другой продолжает. Но как ни пробовал, при клике идет только одно действие. Конкретнее: первое нажатие на кнопку - показывает скрытый объект, второе нажатие снова его прячет. Можно, конечно, закрытие объекта присвоить правой клавише или MouseExit, но это неинтересно.
Прикрепления: Button.pub (2.9 Kb)
 
СообщениеЛомился в открытую дверь. Пример фото-альбома я как раз и не посмотрел. А там - ответы на многие мои вопросы. Команду dbpFieldToVar обязательно попробую. Судя по тому, что Вы, Peter, сказали это действительно - то, что нужно. Спасибо Вам и Mishem'у. Ну а если еще подскажете, как одной кнопке назначить разные действия - будет мне счастье. Бьюсь над этим долго. Чувствую теоретически, что нужно создать шаблоны сценариев, а в самом коде кнопки указать условие при котором один сценарий заканчивает работу, а другой продолжает. Но как ни пробовал, при клике идет только одно действие. Конкретнее: первое нажатие на кнопку - показывает скрытый объект, второе нажатие снова его прячет. Можно, конечно, закрытие объекта присвоить правой клавише или MouseExit, но это неинтересно.

Автор - Friedhelm
Дата добавления - 20 Марта 2009 в 18:25
PeterДата: Пт, 20 Марта 2009, 20:40 | Сообщение # 13
Админ NeoBook
Quote (Friedhelm)
Конкретнее: первое нажатие на кнопку - показывает скрытый объект, второе нажатие снова его прячет.

Очень просто.
См.прикрепление.
Прикрепления: Button.rar (1.7 Kb)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Friedhelm)
Конкретнее: первое нажатие на кнопку - показывает скрытый объект, второе нажатие снова его прячет.

Очень просто.
См.прикрепление.

Автор - Peter
Дата добавления - 20 Марта 2009 в 20:40
FriedhelmДата: Сб, 21 Марта 2009, 08:22 | Сообщение # 14
Любопытный
Peter! Надо же! Действительно просто. А главное - этот маленький пример дает еще один штрих к пониманию сути NeoBook. Спасибо. Попробовал использовать (по Вашему совету) команду dbpFieldToVar (работаю с плагином NeoBookDBPro) для получения списка записей из базы данных, все получилось. Но опять уперся в старую проблему. Список получил, но как в режиме запуска приложения заставить его пункты работать? Прочитал тот топик, где Lego разбирался с созданием Autorun-меню, но решения так и не "выудил". Там рассматривается работа с названиями нескольких файлов - у меня же данные внутри одного файла... Вобщем, история вопроса такова. Моя жена - издатель. Я сделал ей в NeoBook'е программку, где она вносит данные по всем изданным книгам - название, формат, тираж, стоимость и т.д. В программе две страницы. В одной - форма для внесения записей, которая служит и для показа данных после применения команды Find. На второй странице вся база данных предстает в виде сетки. Все работает, жена довольна и можно было бы на этом успокоиться. Но было бы еще удобнее, если б появилась третья страница (она же начальная), где находился бы список всех внесенных книг, и после выбора названия, в другом окне возникали все сведения о книге, а в третьем показывалась обложка. С остальным я более или менее разобрался. Но вот как заставить список работать?... Прикрепляю пример. Буду очень признателен, если поможете разобраться с приведенной аналогией. Там знакомый нам ListBox и два скрытых прямоугольника - красный и синий. Как сделать, чтобы в режиме запуска при выборе названия цвета возникал соответсвующий прямоугольник? По этому примеру я уже, надеюсь, соображу, как организовать показ данных в своей программе. Кстати, а может стоит выкладывать такие примеры, как этот или с многоразовой кнопкой где-нибудь? Это ведь определенный вклад в дело обучения премудростям NeoBook. Классная программа!
Прикрепления: 3397661.rar (2.1 Kb)
 
СообщениеPeter! Надо же! Действительно просто. А главное - этот маленький пример дает еще один штрих к пониманию сути NeoBook. Спасибо. Попробовал использовать (по Вашему совету) команду dbpFieldToVar (работаю с плагином NeoBookDBPro) для получения списка записей из базы данных, все получилось. Но опять уперся в старую проблему. Список получил, но как в режиме запуска приложения заставить его пункты работать? Прочитал тот топик, где Lego разбирался с созданием Autorun-меню, но решения так и не "выудил". Там рассматривается работа с названиями нескольких файлов - у меня же данные внутри одного файла... Вобщем, история вопроса такова. Моя жена - издатель. Я сделал ей в NeoBook'е программку, где она вносит данные по всем изданным книгам - название, формат, тираж, стоимость и т.д. В программе две страницы. В одной - форма для внесения записей, которая служит и для показа данных после применения команды Find. На второй странице вся база данных предстает в виде сетки. Все работает, жена довольна и можно было бы на этом успокоиться. Но было бы еще удобнее, если б появилась третья страница (она же начальная), где находился бы список всех внесенных книг, и после выбора названия, в другом окне возникали все сведения о книге, а в третьем показывалась обложка. С остальным я более или менее разобрался. Но вот как заставить список работать?... Прикрепляю пример. Буду очень признателен, если поможете разобраться с приведенной аналогией. Там знакомый нам ListBox и два скрытых прямоугольника - красный и синий. Как сделать, чтобы в режиме запуска при выборе названия цвета возникал соответсвующий прямоугольник? По этому примеру я уже, надеюсь, соображу, как организовать показ данных в своей программе. Кстати, а может стоит выкладывать такие примеры, как этот или с многоразовой кнопкой где-нибудь? Это ведь определенный вклад в дело обучения премудростям NeoBook. Классная программа!

Автор - Friedhelm
Дата добавления - 21 Марта 2009 в 08:22
PeterДата: Сб, 21 Марта 2009, 12:33 | Сообщение # 15
Админ NeoBook
Quote (Friedhelm)
как в режиме запуска приложения заставить его пункты работать?

Не понятно: что означает в данном случае "работать"?
ЧТО должно происходить на запуске? ЧТО при выборе пункта?
Традиционно пункты в списке выбирает сам пользователь вручную (для этого, собственно, список и нужен), но можно и программно работать со списком.
Quote (Friedhelm)
Как сделать, чтобы в режиме запуска при выборе названия

Вам нужно в режиме запуска или при выборе названия?
Это - два разных события!
Quote (Friedhelm)
возникал соответсвующий прямоугольник

См.прикрепления.
Там два примера для случая выбора вручную.
Два варианта и два совершенно разных подхода. Могут быть и ДРУГИЕ варианты.
Их можно (и нужно) КОМБИНИРОВАТЬ как угодно.
Quote (Friedhelm)
может стоит выкладывать такие примеры

Я уже думаю над этим..
Одних примеров мало, да и потом на все случаи жизни примеров не нашлепать...
Тут иначе надо.
Прикрепления: 4686392.rar (4.8 Kb)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Friedhelm)
как в режиме запуска приложения заставить его пункты работать?

Не понятно: что означает в данном случае "работать"?
ЧТО должно происходить на запуске? ЧТО при выборе пункта?
Традиционно пункты в списке выбирает сам пользователь вручную (для этого, собственно, список и нужен), но можно и программно работать со списком.
Quote (Friedhelm)
Как сделать, чтобы в режиме запуска при выборе названия

Вам нужно в режиме запуска или при выборе названия?
Это - два разных события!
Quote (Friedhelm)
возникал соответсвующий прямоугольник

См.прикрепления.
Там два примера для случая выбора вручную.
Два варианта и два совершенно разных подхода. Могут быть и ДРУГИЕ варианты.
Их можно (и нужно) КОМБИНИРОВАТЬ как угодно.
Quote (Friedhelm)
может стоит выкладывать такие примеры

Я уже думаю над этим..
Одних примеров мало, да и потом на все случаи жизни примеров не нашлепать...
Тут иначе надо.

Автор - Peter
Дата добавления - 21 Марта 2009 в 12:33
LectorДата: Сб, 21 Марта 2009, 13:05 | Сообщение # 16
Ветеран форума
На самом деле все достаточно просто.
Итак, у Вас есть ListBox куда, используя команду dbfFieldToVar, вы загружаете данные базы данных (например названия книг). Далее, чтобы список заработал, а именно, чтобы при выборе в списке названия какой-либо книги на второй странице загружались остальные ее данные, а на третьей - обложка - во вкладке "Команды" свойств ListBox'a достаточно прописать:

Code
.Вывод данных, соответствующих выделенному пункту
dbfFind "SelBase" "NAME" "[List]"
GotoPage "2"

SelBase - это переменная содержащая путь к файлу базы данных объявленная командой dbfDefineAlias (для удобства и не только)... После выбора пункта списка команда dbfFind найдет соответствующую запись в базе данных и загрузит остальные данные этой записи...

Также, прилагаю в качестве примера проект авторана, где Вы можете посмотреть некоторые решения по этому вопросу.

Прикрепления: autorun.rar (421.2 Kb)


Сообщение отредактировано
Lector - Сб, 21 Марта 2009, 13:07
 
СообщениеНа самом деле все достаточно просто.
Итак, у Вас есть ListBox куда, используя команду dbfFieldToVar, вы загружаете данные базы данных (например названия книг). Далее, чтобы список заработал, а именно, чтобы при выборе в списке названия какой-либо книги на второй странице загружались остальные ее данные, а на третьей - обложка - во вкладке "Команды" свойств ListBox'a достаточно прописать:

Code
.Вывод данных, соответствующих выделенному пункту
dbfFind "SelBase" "NAME" "[List]"
GotoPage "2"

SelBase - это переменная содержащая путь к файлу базы данных объявленная командой dbfDefineAlias (для удобства и не только)... После выбора пункта списка команда dbfFind найдет соответствующую запись в базе данных и загрузит остальные данные этой записи...

Также, прилагаю в качестве примера проект авторана, где Вы можете посмотреть некоторые решения по этому вопросу.


Автор - Lector
Дата добавления - 21 Марта 2009 в 13:05
PeterДата: Сб, 21 Марта 2009, 13:17 | Сообщение # 17
Админ NeoBook
Quote (Lector)
На самом деле все достаточно просто.

Ну наконец-то спец по базам появился!
Ура!
А то я тут в одиночку, понимаешь, сражаюсь... biggrin


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Lector)
На самом деле все достаточно просто.

Ну наконец-то спец по базам появился!
Ура!
А то я тут в одиночку, понимаешь, сражаюсь... biggrin

Автор - Peter
Дата добавления - 21 Марта 2009 в 13:17
LectorДата: Сб, 21 Марта 2009, 13:20 | Сообщение # 18
Ветеран форума
Вот решил свой вклад внести в общее дело... biggrin
 
СообщениеВот решил свой вклад внести в общее дело... biggrin

Автор - Lector
Дата добавления - 21 Марта 2009 в 13:20
PeterДата: Сб, 21 Марта 2009, 13:26 | Сообщение # 19
Админ NeoBook
Quote (Lector)
Вот решил свой вклад внести в общее дело...

Привет!
Давно пора! biggrin
Кстати, тут вопрос про печать возник.
Может есть соображения...


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Lector)
Вот решил свой вклад внести в общее дело...

Привет!
Давно пора! biggrin
Кстати, тут вопрос про печать возник.
Может есть соображения...

Автор - Peter
Дата добавления - 21 Марта 2009 в 13:26
FriedhelmДата: Сб, 21 Марта 2009, 17:42 | Сообщение # 20
Любопытный
Спасибо всем, кто терпеливо вразумлял меня в сложном (надеюсь - пока) деле постижения СУТИ классной программы NeoBook! smile
Quote (Peter)
Я уже думаю над этим.. Одних примеров мало, да и потом на все случаи жизни примеров не нашлепать...

На все случаи, разумеется, не получится, а такие-вот заготовки, которые вы мне показывали вполне могут пригодиться новичкам на фоне дефицита с обучающим материалом. Вдумчивый пользователь всегда найдет в них рациональное зерно и даже просто вникнув в коммандную строку и посмотрев, как это работает - сделает зарубку у себя в извилинах и когда-нибудь это применит. Польза налицо. Такая база может быть прекрасным противовесом бурной деятельности некоторых товарищей, оккупировавшим Инет с иезуитскими подходцами: "Вот тебе "А", когда заплатишь, тогда "Б" скажу. А без этого "Б" дело у новичка дальше с большим трудом движется... Но прекрасно, что есть этот ресурс и люди, которые дадут утопающему дилетанту спасательный круг в виде дельного совета. Спасибо.

Добавлено (21 Март 2009, 17:42)
---------------------------------------------
За патетикой забыл о главном. Peter! Во втором варианте "Spisok1a" реализовано именно то, что я и пытался добиться - заставить ListBox выполнять действие, все равно какое... Lector! Классный пример вы мне показали, где как раз реализован механизм вставки в базу и текста, и картинок. Теперь могу двигаться дальше. Багодарю всех.

 
СообщениеСпасибо всем, кто терпеливо вразумлял меня в сложном (надеюсь - пока) деле постижения СУТИ классной программы NeoBook! smile
Quote (Peter)
Я уже думаю над этим.. Одних примеров мало, да и потом на все случаи жизни примеров не нашлепать...

На все случаи, разумеется, не получится, а такие-вот заготовки, которые вы мне показывали вполне могут пригодиться новичкам на фоне дефицита с обучающим материалом. Вдумчивый пользователь всегда найдет в них рациональное зерно и даже просто вникнув в коммандную строку и посмотрев, как это работает - сделает зарубку у себя в извилинах и когда-нибудь это применит. Польза налицо. Такая база может быть прекрасным противовесом бурной деятельности некоторых товарищей, оккупировавшим Инет с иезуитскими подходцами: "Вот тебе "А", когда заплатишь, тогда "Б" скажу. А без этого "Б" дело у новичка дальше с большим трудом движется... Но прекрасно, что есть этот ресурс и люди, которые дадут утопающему дилетанту спасательный круг в виде дельного совета. Спасибо.

Добавлено (21 Март 2009, 17:42)
---------------------------------------------
За патетикой забыл о главном. Peter! Во втором варианте "Spisok1a" реализовано именно то, что я и пытался добиться - заставить ListBox выполнять действие, все равно какое... Lector! Классный пример вы мне показали, где как раз реализован механизм вставки в базу и текста, и картинок. Теперь могу двигаться дальше. Багодарю всех.


Автор - Friedhelm
Дата добавления - 21 Марта 2009 в 17:42
PeterДата: Сб, 21 Марта 2009, 17:54 | Сообщение # 21
Админ NeoBook
Quote (Friedhelm)
Во втором варианте "Spisok1a" реализовано именно то, что я и пытался добиться - заставить ListBox выполнять действие, все равно какое...

Гм...
Вообще-то и в первом примере ListBox тоже выполняет действие, в принципе, все-равно какое.
В обоих примерах все действия - события объекта ListBox, только действия немного разные.
Впрочем, вам виднее...
Quote (Friedhelm)
Спасибо.

Не за что.
Если что, адрес наш знаете.
Успехов!


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Friedhelm)
Во втором варианте "Spisok1a" реализовано именно то, что я и пытался добиться - заставить ListBox выполнять действие, все равно какое...

Гм...
Вообще-то и в первом примере ListBox тоже выполняет действие, в принципе, все-равно какое.
В обоих примерах все действия - события объекта ListBox, только действия немного разные.
Впрочем, вам виднее...
Quote (Friedhelm)
Спасибо.

Не за что.
Если что, адрес наш знаете.
Успехов!

Автор - Peter
Дата добавления - 21 Марта 2009 в 17:54
LectorДата: Вс, 22 Марта 2009, 09:25 | Сообщение # 22
Ветеран форума
Quote (Friedhelm)
Классный пример вы мне показали, где как раз реализован механизм вставки в базу и текста, и картинок

Всегда пожалуйста!
 
Сообщение
Quote (Friedhelm)
Классный пример вы мне показали, где как раз реализован механизм вставки в базу и текста, и картинок

Всегда пожалуйста!

Автор - Lector
Дата добавления - 22 Марта 2009 в 09:25
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Сохранение данных в ListBox (Возможно ли это в NB?)
  • Страница 1 из 1
  • 1
Поиск: