Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.04.22;
Скачать: CL | DM;

Вниз

ListView1, заполнение колонок из файлов   Найти похожие ветки 

 
gvozdkoff   (2011-12-26 12:52) [0]

всем привет, столкнулся с проблемой.
Задача.
На форме находится ListView, который имеет 2 столбца.
Есть 2 текстовых файла (в одном указывается название продукта , во втором дата).
И вот надо как то сделать так, чтобы в один 1-й столбец загружались записи из 1-го файла, а во 2-й столбец загружались данные из 2-го файла.

В первый столбец загружаю нармально

procedure TForm1.Button7Click(Sender: TObject);
var
i:integer;
DSL,SL: TStringList;
begin
////////////////////
SL := TStringList.Create;
try
  SL.LoadFromFile("link.txt");
  SL.Text := StringReplace(SL.Text, "##"#13#10, "", [rfReplaceAll]);
   i := 0;
       while i < SL.Count do
           begin
                with ListView1.Items.Add do
                     begin
                           Caption := SL[i];

                     end;
                Inc(i);
           end;
       finally
end;
   SL.Free;


Вот это был первый вариант. пробую с Listview1.Items.Item[k].SubItems.LoadFromFile


procedure TForm1.Button8Click(Sender: TObject);
var
i, k , s:integer;
DSL,SL: TStringList;
LI, SLI:string;
   begin
       SL := TStringList.Create;
       DSL := TStringList.Create;
       while i < SL.Count do begin
               with (ListView1.Items.Add()) do begin
                 Caption := LI;
                SubItems.Add(SLI);
                end;
        end;
       try
           SL.LoadFromFile("link.txt");
           DSL.LoadFromFile("data.txt");
           SL.Text := StringReplace(SL.Text, "##"#13#10, "", [rfReplaceAll]);
           DSL.Text := StringReplace(DSL.Text, "##"#13#10, "", [rfReplaceAll]);
           i := 0;
           while i < SL.Count do
           begin
                with (ListView1.Items.Add()) do
                begin
                           caption := SL[i];
                end;
           Inc(i);
           end;

             k := 0;
         while k < DSL.Count do
          begin
              with (ListView1.Items.Add()) do
              begin
                             SLI:= DSL[k];                          Listview1.Items.Item[k].SubItems.LoadFromFile("data.txt");
                end;
          Inc(k);
          end;
       finally
     end;


получается  что дата выставляется 1 раз к первой строке, в вариациях выставляется одна и та же дата для всех записей 1-го столбца.

Подскажите пожалуйста, в чем ошибка


 
KilkennyCat ©   (2011-12-26 13:00) [1]


> Есть 2 текстовых файла (в одном указывается название продукта
> , во втором дата).

формат хранения данных?


 
RWolf ©   (2011-12-26 13:05) [2]

slCap.LoadFromFile("captions.txt");
sl1.LoadFromFile("column1.txt");
sl2.LoadFromFile("column2.txt");
Assert((slCap.Count=sl1.Count) and (slCap.Count=sl2.Count), "Число строк в файлах не совпадает!");
for i:=0 to slCap.Count-1 do begin
 with ListView1.Items.Add() do begin
   Caption := slCap[i];                          
   SubItems.Add(sl1[i]);
   SubItems.Add(sl2[i]);
 end;
end;


 
gvozdkoff   (2011-12-26 14:29) [3]

вот  это дааа !!! спасибо большое, а то я чего то мудрил, да так и не получилось.
Еще раз спасибо за помощь



Страницы: 1 вся ветка

Текущий архив: 2012.04.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.006 c
3-1274783943
Phoenix
2010-05-25 14:39
2012.04.22
Помогите составить запрос...


15-1324138253
Кто б сомневался
2011-12-17 20:10
2012.04.22
Аномальная погода


15-1324033056
И. Павел
2011-12-16 14:57
2012.04.22
Восстановление бекапа для SQL SERVER 2005


2-1324724185
igorium
2011-12-24 14:56
2012.04.22
ShellTreeView - мультивыбор и рефреш


15-1324385736
Zheksonz
2011-12-20 16:55
2012.04.22
Синтаксис языка СИ