|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.03.2011, 15:58 | #1 |
Пользователь
Регистрация: 24.04.2010
Сообщений: 23
|
ListView
Добрый день! Подскажите как сохранить информацию из ListView2 на жёсткий диск а затем загрузить её в этой же программе в ListView3?
Сохраняю так: fo:TfileStream; fo := TFileStream.Create'C:\stream.vcl', fmcreate); fo.WriteComponent(ListView2); fo.Free; Загружаю: f: TFileStream; f := TFileStream.Create('C:\stream.vcl', fmOpenRead); f.ReadComponent(ListView3); f.Free; И при загрузке возникает ошибка |
26.03.2011, 16:10 | #2 |
Форумчанин
Регистрация: 11.03.2011
Сообщений: 426
|
А поточнее? Вы сохраняете TListView или информацию из TListView?
|
26.03.2011, 16:18 | #3 |
Пользователь
Регистрация: 24.04.2010
Сообщений: 23
|
Я сохраняю информацию
|
26.03.2011, 16:25 | #4 |
Форумчанин
Регистрация: 11.03.2011
Сообщений: 426
|
WriteComponent() сохраняет не информацию, а компонент, в том числе и его место среди других компонентов...
|
26.03.2011, 16:27 | #5 |
Пользователь
Регистрация: 24.04.2010
Сообщений: 23
|
А как тогда сохранить информацию?
|
26.03.2011, 16:31 | #6 |
Форумчанин
Регистрация: 11.03.2011
Сообщений: 426
|
А откуда Вы берёте информацию, которую отображает TlistView?
|
26.03.2011, 18:21 | #7 |
Пользователь
Регистрация: 24.04.2010
Сообщений: 23
|
Информацию записываю по ходу выполнения программы(её пишет пользователь)
|
26.03.2011, 18:47 | #8 |
Форумчанин
Регистрация: 11.03.2011
Сообщений: 426
|
Я Вас подталкиваю к решению, но встречаю упорное сопротивление. Пользователь что-то там пишет, но для отображения информации Вы её как то упорядочиваете, например записываете в TLisView.Items[n], где она хранится в виде Item.Caption и в Item.SubItems. Могут быть приложены и объекты, содержащие в себе огромное количество другой информации, ссылок и тому подобное. Вы желаете эту информацию сохранить для передачи в другой TListView - так и сохраняйте эту информацию. Сам TListView использовать в качестве хранилища информации не верно, задача компонента отображать информацию и реагировать на действия пользователя. Если информации немного, то её можно целиком считывать из хранилища и хранить в TListView, а если её много, то лучше использовать виртуальный режим работы компонента. И то, и другое уже достаточно подробно обсуждалось на форуме. В любом случае - Вам следует сохранять только информацию, а не компоненты, отвечающие за интерфейс между пользователем и информацией.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как перетащить элемент ListView в другой ListView? | Paul Hindenburg | Компоненты Delphi | 5 | 26.01.2013 11:35 |
[C# + WPF] ListView. Узнать выделена ли строка в нём. ListView.View == GridView. | Casper-SC | WPF, UWP, WinRT, XAML | 2 | 12.08.2010 19:04 |
ListView | xWinDx | Win Api | 1 | 19.04.2010 17:51 |
ListView | sht0p0r | Помощь студентам | 1 | 15.12.2008 23:33 |
ListView | Drain | Общие вопросы Delphi | 3 | 13.02.2008 16:10 |