3 / 3 / 3
Регистрация: 28.07.2012
Сообщений: 185
1

Заполнение ListView из ini

03.08.2017, 20:29. Показов 1151. Ответов 8
Метки нет (Все метки)

Всем привет. Помогите разрешить проблемку. Небольшую. Идея следующая: на форме есть пустой ListView. В нем 3 столбца уже созданы.
Нужно сделать следующее: заполнить из *.ini-файла при загрузке формы. Почти получается, а точнее дело так либо вносится только первая запись, либо программа входит в бесконечный цикл и не запускается.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
procedure TForm1.FormCreate(Sender: TObject);
var listItem : TListItem;
    s : string;
    i: Integer;
begin
   pathINI := ExtractFilePath(Application.ExeName) + '\settings.ini';
   sIniFile := TIniFile.Create(pathINI);
   
   /* тут ещё всякий код */
 
   StatusBar1.Panels[1].Text := '';
   //  Чтение из ini-файла
   while (true) do begin
   s := sIniFile.ReadString('ListView1', 'Name', '');
 
   listItem := ListView1.Items.Add;
   listItem.Caption := s;
   listItem.SubItems.Add(sIniFile.ReadString('ListView1', 'Version', ''));
   listItem.SubItems.Add(sIniFile.ReadString('ListView1', 'Status', ''));
 
   Memo2.Lines.Text := sIniFile.ReadString('ListView1', 'Hint', '');
   end;
   sIniFile.Free;
   //
end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.08.2017, 20:29
Ответы с готовыми решениями:

Чтение данных в ListView из Ini
Привет столкнулся с такой проблемой при загрузке данных из ini файла в listview: function ReadS:...

Проблема с загрузкой информации в ListView из ini
Здравствуйте форумчане, хочу у вас помощи попросить. Есть .ini: z=qwerty z=qwerty2 ...

Изменение данных в ListView и ini файл
Всем добра. Нужна следующая помощь. Ситуация такая: При загрузке формы в ListView считываются...

Заполнение listview
На форме есть 6 listbox, в каждом заполнены строки. Есть также один listview, в котором 6 колонок....

8
5498 / 4293 / 1379
Регистрация: 14.04.2014
Сообщений: 19,285
Записей в блоге: 19
03.08.2017, 20:38 2
Цитата Сообщение от lordik55 Посмотреть сообщение
while (true) do begin
в переводе на русский
"без вариантов остановиться, погнали"

вы создаете +БЕСКОНЕЧНОСТЬ итемов, но читаете их из одной и той переменной
программе будет скучно...
0
3 / 3 / 3
Регистрация: 28.07.2012
Сообщений: 185
03.08.2017, 20:43  [ТС] 3
Трабл понял
Но как исправить?
Структура ini-файла следующая:
CSS
1
2
3
4
5
6
7
[ListView1]
ID=
Name=
Version=
Status=
Hint=
Path=
ID - везде уникальный. С помощью него это можно отследить как-то эту ситуацию?
0
5498 / 4293 / 1379
Регистрация: 14.04.2014
Сообщений: 19,285
Записей в блоге: 19
03.08.2017, 20:50 4
ну вообще то поиск в ini идет по секция,ключ
если у вас секции названы одинаково, как вы выберете нужную??
кто вам мешает написать[ListView1.1]
ID=1
[ListView1.100]
ID=100
0
3 / 3 / 3
Регистрация: 28.07.2012
Сообщений: 185
04.08.2017, 07:05  [ТС] 5
Хмм. Не могу додумать, как так можно сделать. У меня простой ещё у каждого Item'а своя картинка из ImageList присваивается. Надо чтобы у каждого в соответствии своя стояла.
0
5498 / 4293 / 1379
Регистрация: 14.04.2014
Сообщений: 19,285
Записей в блоге: 19
04.08.2017, 08:27 6
вообще не понял вопроса
как сделать секцию[ListView1.100] ?
вы же руками файл пишете. так и пишите на здоровье

можно читать все секции по очереди и выбирать из них те, что начинаются с "ListView1."
читайте же оф. документацию или смотрите исходники в поисках того что вам подходит
TIniFile довольно простой класс...

получить список секций в виде StringList
http://docwiki.embarcadero.com... adSections
потом по очереди считать одну секцию целиком в другой стринглист
http://docwiki.embarcadero.com... tionValues
0
3 / 3 / 3
Регистрация: 28.07.2012
Сообщений: 185
04.08.2017, 10:26  [ТС] 7
Нет, я сделал теперь так, что заполняется ListView из ini-файла. Там 3 записи и сюда тоже все 3 добавились успешно. Но картинка (пиктограмма из ImageList) у всех Item'ов одинаковая, как у первого элемента.
Как сделать, чтобы у каждого Item'а был соответствующий ImageIndex для ImageList'а?
0
4865 / 4009 / 1007
Регистрация: 29.08.2013
Сообщений: 25,603
Записей в блоге: 3
04.08.2017, 10:38 8
увеличить ImageIndex?
0
5498 / 4293 / 1379
Регистрация: 14.04.2014
Сообщений: 19,285
Записей в блоге: 19
04.08.2017, 10:52 9
а что ImageIndex никак в INI не заходит?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.08.2017, 10:52
Помогаю со студенческими работами здесь

Данные из INI в ListView
Здравствуйте. Нужно распределить данные из файла ini в соответствующие столбцы ListView. То есть,...

Запись из ListView в ini файл и чтение данных
Добрый день. Подскажите плиз. Есть форма, на которой ListView, необходимо сохранить данные в ini...

Заполнение ListView
Подскажите, как заполнять ListView. Я пробую заполнить так: ListView->AddItem("Текст",...

Заполнение ListView из БД
Есть одна активити, в ней 2 текстовых поля и кнопка, отправляющая содержимое этих полей как строку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru