![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Мне необходимо получить содержание listview1 и записать его в ini файл чтобы его можно было в дальнейшем загружать из ini файла. Как это сделать? Заранее спасибо.
|
#2
|
||||
|
||||
![]() Используй библиотеку IniFiles. Она очень проста в использовании ты и сам все поймешь. Пропиши в uses - inifiles.
Программирование - это искусство и наш смысл жизни. |
#3
|
||||
|
||||
![]() Сохранение в ini
procedure TForm1.Button1Click(Sender: TObject); var i,j: Integer; ini: TIniFile; begin ini := TIniFile.Create('C:/delme.ini'); ini.WriteInteger('Header','ColumnsCount',ListView1 .Columns.Count); ini.WriteInteger('Header','ItemsCount',ListView1.I tems.Count); for i := 0 to ListView1.Columns.Count - 1 do begin ini.WriteString('Header','Column ' + IntToStr(i),ListView1.Column[i].Caption); end; for j := 0 to ListView1.Items.Count - 1 do begin for i := 0 to ListView1.Columns.Count - 1 do begin if i = 0 then ini.WriteString('Column ' + IntToStr(i),'Item ' + IntToStr(j),ListView1.Items[j].Caption) else ini.WriteString('Column ' + IntToStr(i),'Item ' + IntToStr(j),ListView1.Items[j].SubItems[i-1]); end; end; end; Надо проверить - писал на скорую руку Последний раз редактировалось asm_viator, 13.10.2007 в 20:59. |
#4
|
|||
|
|||
![]() Спасибо огромное, но это не совсем то....
Мне необходимо сохранить СОДЕРЖИМОЕ ListView1. То есть что в нем! Заранее спасибо. |
#5
|
||||
|
||||
![]() Цитата:
Предыдущий код сохранял Caption'ы колонок, итемов и сабитемов На всякий случай - какой режим у ListView? Последний раз редактировалось asm_viator, 14.10.2007 в 11:01. |
#6
|
|||
|
|||
![]() Стиль - vsReport. Допустим есть ListView с колонками Имя, Рекорд, Убийств.
Пр нажати на мою кнопку добавляется следующее: в имя "Сергей". в Рекорд "1000" и в убийств "28". Мне необходимо сохранить содержимое колонок. То есть что в "Имя" "Рекорд" "Убийств". Чтобы по нажатию на другую кнопку в пустую таблицу в готовые колонки Имя, Рекорд, Убийств. Дорбавлялось сохраненное из ini файла имя "Сергей". Рекорд "1000" и убийств "28". Надеюсь, Вы меня поняли.ю Необхходимо сохранять СОДЕРЖИМОЕ колонок. |
#7
|
||||
|
||||
![]() Сохранение в ini
Код:
procedure TForm1.Button1Click(Sender: TObject); var i,j: Integer; ini: TIniFile; begin ini := TIniFile.Create('C:/delme.ini'); ini.WriteInteger('Header','AmountOfItems',ListView1.Items.Count); for j := 0 to ListView1.Items.Count - 1 do begin ini.WriteString(IntToStr(j),ListView1.Column[0].Caption,ListView1.Items[j].Caption); ini.WriteInteger(IntToStr(j),ListView1.Column[1].Caption,StrToInt(ListView1.Items[j].SubItems[0])); ini.WriteInteger(IntToStr(j),ListView1.Column[2].Caption,StrToInt(ListView1.Items[j].SubItems[1])); end; ini.Free; end; Как Вам этот? Предыдущий код, по моему мнению, был более гибким... |
#8
|
|||
|
|||
![]() Спасибо огромное! очень понравился этот способ
Цитата:
|
#9
|
||||
|
||||
![]() Загрузка из ini
Код:
procedure TForm1.Button2Click(Sender: TObject); var i,j, ColCount, ICount: Integer; ini: TIniFile; begin ini := TIniFile.Create('C:/delme.ini'); ListView1.Clear; ListView1.Columns.Clear; ColCount := ini.ReadInteger('Header','ColumnsCount',0); if ColCount <> 0 then begin for i := 0 to ColCount - 1 do begin ListView1.Columns.Add; ListView1.Columns[i].Caption := ini.ReadString('Header','Column ' + IntToStr(i),''); end; ICount := ini.ReadInteger('Header','ItemsCount',0); if ICount <> 0 then begin for i := 0 to ICount - 1 do begin ListView1.Items.Add; listView1.Items[i].Caption := ini.ReadString('Column ' + IntToStr(0),'Item ' + IntToStr(i),''); if ColCount > 0 then for j := 1 to ColCount do begin ListView1.Items[i].SubItems.Add(ini.ReadString('Column ' + IntToStr(j),'Item ' + IntToStr(i),'')) end; end; end; end; ini.Free; end; Вроде работает, писал быстро |