Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2014, 21:56   #1
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию Загрузка в ListView

Всем привет)
У меня такой вопрос.

Как Из Ini считать параметр и значение и загрузить их в 1 и 2 столбик ListView

Заранее спасибо

Последний раз редактировалось nefakt; 25.09.2014 в 22:44.
nefakt вне форума Ответить с цитированием
Старый 25.09.2014, 22:30   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Выкинь из вопроса всё лишнее, оставь только это:
Цитата:
Всем привет)
У меня такой вопрос:
как сделать на Delphi
далее - описание задачи.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 26.09.2014, 02:15   #3
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от nefakt Посмотреть сообщение
Всем привет)
У меня такой вопрос.

Как Из Ini считать параметр и значение и загрузить их в 1 и 2 столбик ListView

Заранее спасибо
У ListView нет столбиков.
P.S. На всякий случай скажу что у ListView и строчек тоже нет.
northener вне форума Ответить с цитированием
Старый 26.09.2014, 08:03   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Код:
procedure TForm1.FormActivate(Sender: TObject);
const
  SectionName = 'Options';
var
  Keys: TStringList;
  Inifile: TMemIniFile;
  I: Integer;
begin
  ListView1.ViewStyle := vsReport;
  ListView1.Columns.Add.Caption := 'Key';
  ListView1.Columns.Add.Caption := 'Value';
  Inifile := TMemIniFile.Create('1.ini');
  Keys := TStringList.Create;
  Inifile.ReadSection(SectionName, Keys);
  for I := 0 to Keys.Count - 1 do
    with ListView1.Items.Add do
    begin
      Caption := Keys[I];
      SubItems.Add(Inifile.ReadString(SectionName, Keys[I], ''));
    end;
  FreeAndNil(Keys);
  FreeAndNil(Inifile);
end;
На форме только листвью, и установлен обработчик OnActivate у формы, больше не надо ничего. Но Вы сами можете настроить колонки и т.п., тогда надо убрать из кода обращение к Columns
Ини-файл вида
Код:
[Options]
  MainFormOnTaskbar = True
  ApplicationForm = Form1

Последний раз редактировалось phomm; 26.09.2014 в 08:08.
phomm вне форума Ответить с цитированием
Старый 26.09.2014, 08:25   #5
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Вообще, хотелось бы увидеть исходный Ini-файл, чтобы конкретно представлять, для чего это нужно.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 26.09.2014, 11:06   #6
nefakt
Форумчанин
 
Регистрация: 25.10.2012
Сообщений: 161
По умолчанию

INI такого вида
Код:
[Game]
  тут название = тут путь
  тут название = тут путь
И нужно что бы название в первую колонку загружались а пути во вторую.
nefakt вне форума Ответить с цитированием
Старый 26.09.2014, 11:14   #7
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Загружаем секцию в stringlist, читаем циклом строки, заносим в listview. В каком именно месте затык?
indexx вне форума Ответить с цитированием
Старый 26.09.2014, 11:27   #8
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
И нужно что бы название в первую колонку загружались а пути во вторую.
Ну, допустим. Только зачем всё это?
Код:
function LoadListItems(Items: TListItems; const FileName: string): Boolean;
var
  Ini: TMemIniFile;
  Temp: TStrings;
  Index: Integer;
begin
  Result:= True;
  try
    Ini:= TMemIniFile.Create(FileName);
    Temp:= TStringList.Create();
    Items.BeginUpdate();
    try
      Items.Clear(); // если нужно
      Ini.ReadSectionValues('Game', Temp);
    
      for Index:= 0 to Temp.Count - 1 do
        with Items.Add() do
          begin
            Caption:= Temp.Names[Index];
            SubItems.Add(Temp.Values[Caption]);
          end; // with
    finally
      Items.EndUpdate();
      Temp.Free();
      Ini.Free();
    end;
  except
    Result:= False;
  end;
end;
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 26.09.2014 в 11:37.
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка в ListView nefakt Общие вопросы Delphi 9 25.11.2012 15:17
Загрузка иконок в Listview tsar_ Общие вопросы Delphi 0 19.12.2011 15:20
Загрузка содержимого txt в ListView foxes Общие вопросы Delphi 6 27.04.2011 00:07
загрузка из файла ini в ListView DenisVoronov Компоненты Delphi 9 08.11.2010 20:16