![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранение данных [D3, Win95/98]
Xai © (2002-12-14 11:50:00)К примеру имеется TListBox и TEdit. Значения TEdit меняются в зависимости от того какая строка выбрана в TListBox. Содержимое надо хранить во внешнем файле.
Поделитесь кто как решает вопрос сохранения данных используемых в программе? И какой вариант будет оптимальным?
Koster (2002-12-21 07:13:00) [1]TListBox.Items.CommaText
TStringList.CommaText
Свойства для чтения и записи.
Получаем 2 строки которые можно записывать и читать используя обычный текстовый файл.
В INI файл стандартными средствами лучше не писать эти строки, т.к. его процедуры (либо я ошибаюсь, но помню что что-то криво работало) срезают крайние кавычки в строке как им вздумается, а они важны для последующего восстановления items.
Song (2002-12-19 09:13:00) [2]2Xai © (18.12.02 11:17)
Card Keeper ?
Что-то знакомое.. но далёкое.. :))
а.. это я написал когда ещё только Дельфи начал изучать :)
Они там, если мне память не изменяет, и так не фиксированные: используется массив записей. В записи данные разной длины и причём не только строки.
Cobalt (2002-12-18 23:45:00) [3]Сделал бы свой формат хранения, т.е. не текстовой. С заголовком, в котором хранилась бы инфа о количестве записей, и прочая фигня.
Xai (2002-12-18 11:17:00) [4]2Song: а если б в твоей программе CardKeeper данные не были бы фиксированной длины, то какой вариант ты применил бы?
Xai (2002-12-18 09:18:00) [5]Паровоз таскать желания мало.:)
А если их не два, а еще больше будет..?
Song (2002-12-18 09:01:00) [6]Чего два файла на диск не влезают? :)
Xai (2002-12-18 08:59:00) [7]Продолжаем разговор.
Вопрос тот же, вариант предложенный ранее не подходит, т.к. со StringList`ом получается два файла, а хотелось бы один..
Xai (2002-12-14 17:13:00) [8]2Song=> OK.
Спасибо Всем!
TTCustomDelphiMaster (2002-12-14 17:10:00) [9]Xai
Тогда храните эти значения в TStringList. Записать на диск можно StringList1.SaveToFile
Song (2002-12-14 17:09:00) [10]>>Да они меняются пользователем..
И что это меняет?
Xai (2002-12-14 17:08:00) [11]Да они меняются пользователем..
Song (2002-12-14 17:07:00) [12]Тогда сформируйте список из значений в TStringList, который при выходе сохраняйте, а при входе загружайте. Значения в TEdit берите из него.
TTCustomDelphiMaster (2002-12-14 17:07:00) [13]Значения TEdit заданы (генерируются) в коде программы?
Xai (2002-12-14 17:05:00) [14]2Song => Верно. И этот список в процессе работы могет меняться, то есть ты видишь значение и можешь его редактировать..
Или например как в Database Explore - слева в окошке дерево, справа меняются значения...
Song (2002-12-14 17:00:00) [15]2TTCustomDelphiMaster © (14.12.02 16:58)
Я так понля что в TEdit у него отображается вовсе не значения TListBox, а какие-то в зависимости от текуще выбранной в TListBox.
TTCustomDelphiMaster (2002-12-14 16:58:00) [16]
> а как значения TEdit подгружать
А зачем их подгружать, когда достаточно выбрать нужную строку в ListBox. Номер строки можно хранить в реестре или ini.
Song (2002-12-14 16:56:00) [17]А список значений TEdit постоянен и также выглядит в форме списка?
Xai (2002-12-14 16:53:00) [18]Каждой строке TListBox соответствует своё отображаемое в TEdit значение: т.е. допустим я выбрал вторую строчку - в TEdit отобразилось значение, выбрал третью - отобразилось другое...
Song (2002-12-14 16:47:00) [19]На Ваш вопрос нельзя ответить т.к. Вы не написали принцип, по которому значения в TEdit выбираются "...зависимости от того какая строка выбрана в TListBox."
Xai (2002-12-14 16:13:00) [20]Это я понимаю, а как значения TEdit подгружать, - или их загрузить в Stream и в памяти держать?