Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Заполнение ListView

Ответить
Настройки темы
Delphi - Заполнение ListView

Новый участник


Сообщения: 3
Благодарности: 0


Конфигурация

Профиль | Отправить PM | Цитировать


Всем доброго времени суток.
Вчера полдня мучился с автоматическим заполнением ListView на delphi, результат вышел не тот, которого я добивался. Я добился того, что колонки разделяются переносом строки, затем новая строка в ListView начинается, когда заканчиваются колонки. В общем, мне нужно заполнить из файла ListView таким образом: колонки разделяются знаком |, строки - переносом строки. Как это осуществить?
UPD: Так же нужно, чтобы это действие могло выполняться в обратном порядке - т.е. сохранять из ListView в текстовик

Отправлено: 15:18, 11-01-2013

 

В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


swoy45, Что то не совсем понятно. Что значит автоматическим? Что должно получиться?
Но навскиду. В циклах проходитесь по необходимым вам данным. В "внутреннем" цикле формируются строки, через "|"
Код: Выделить весь код
Row = ""
...............................................
Row = Row + "данные" + "|";
По окончании формирования строки удаляете последний символ (им будет "|")

Ну а во внешнем добавляете строки в ListView.

Для конкретики, хотелось бы видеть код, исходные данные, что требуется...

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Отправлено: 15:35, 11-01-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


вот как я описывал процедуру:
Код: Выделить весь код
procedure TForm1.Button2Click(Sender: TObject);
var
  SL: TStringList;
  i: Integer;
begin
  SL := TStringList.Create;
  try
    SL.LoadFromFile(edit1.text);
    i := 0;
    while i < SL.Count do
    begin
      with ListView1.Items.Add do
      begin
        Caption := SL[i];
        SubItems.Add(SL[i + 1]);
        SubItems.Add(SL[i + 2]);
      end;
      Inc(i, 3);
    end;
  finally
    SL.Free;
  end;
end;
вот то, что в файле:
Код: Выделить весь код
0001|надпись1|25.00
0002|надпись2|55.00
0003|надпись3|85.00
0004|надпись4|105.00
0005|надпись5|135.00
0006|надпись6|155.00
вот что получается:



а вот что должно получиться:


Последний раз редактировалось swoy45, 11-01-2013 в 18:04.


Отправлено: 17:50, 11-01-2013 | #3


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


я додумался сделать вот так, теперь все работает как надо
Код: Выделить весь код
procedure TForm1.Button2Click(Sender: TObject);
var
  SL,st: TStringList;
  i: Integer;
begin
  SL := TStringList.Create;St := TStringList.Create; st.Delimiter:='|';
  try
    SL.LoadFromFile(edit1.text);
    i := 0;
    while i < SL.Count do
    begin st.DelimitedText:=SL[i];
      with ListView1.Items.Add do
      begin
        Caption := St[0];
        SubItems.Add(St[1]);
        SubItems.Add(St[2]);
      end;
      Inc(i, 1);
    end;
  finally
    SL.Free;
    st.free;
  end;
end;
остается один вопрос, как все это дело сохранять в текстовик такой же формы?

Отправлено: 18:21, 11-01-2013 | #4


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Ну как как. Построчно обходим элементы и записываем. После записи каждого элемента в строке пишем |. После записи последнего элемента в строке ListView записываем | и пишем в конец файла.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 15:41, 12-01-2013 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Заполнение ListView

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Добавление по кнопке в ListView lewajke@vk Программирование и базы данных 2 13-06-2012 13:50
.NET - [решено] listview и openfiledialog DAmlex Программирование и базы данных 10 11-11-2011 12:47
Delphi - Прокрутка в ListView напарНИК Программирование и базы данных 0 24-01-2011 19:34
[решено] Вставить jpg в listview morgan1991 AutoIt 1 15-06-2010 21:22
Разное - ListView в VB6 Synthetyic_Man Программирование и базы данных 1 11-05-2010 05:52




 
Переход