Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сохранения TListView в виде HTML


Progh ©   (2004-11-30 10:18:00) 

Нашел ф-ию которая сохраняет TListView в HTML :


function ListViewConfHTML(Listview:TListview; output:string; center: Boolean) : Boolean;
var
  i,f: Integer;
  tfile: TextFile;
begin
  try
    ForceDirectories(ExtractFilePath(output));
    AssignFile(tfile,output);
    ReWrite(tfile);
    WriteLn(tfile,'<html>');
    WriteLn(tfile,'<head>');
    WriteLn(tfile,'<title>HTML-Ansicht: '+listview.Name+'</title>');
    WriteLn(tfile,'</head>');
    WriteLn(tfile,'<table border="1" bordercolor="#000000">');
    WriteLn(tfile,'<tr>');
    for i := 0 to listview.Columns.Count - 1 do
    begin
      if center then
        WriteLn(tfile,'<td> <center>'+listview.columns[i].caption+'</center></td>') else
        WriteLn(tfile,'<td> '+listview.columns[i].caption+'</td>');
    end;
    WriteLn(tfile,'</tr>');
    WriteLn(tfile,'<tr>');
    for i := 0 to listview.Items.Count-1 do
    begin
      WriteLn(tfile,'<td>'+listview.items.item[i].caption+'</td>');
      for f := 0 to listview.Columns.Count-2 do
      begin
        if listview.items.item[i].subitems[f]='' then Write(tfile,'<td>-</td>') else
          Write(tfile,'<td>'+listview.items.item[i].subitems[f]+'</td>');
      end;
      Write(tfile,'</tr>');
    end;
    WriteLn(tfile,'</table>');
    WriteLn(tfile,'</html>');
    CloseFile(tfile);
    Result := True;
  except
  Result := False;
  end;
end;

Однако данная ф-ия не сохраняет цвет строк ListView-а, как сделать чтобы в HTML-е у строк был тот же цвет что и в ListView-a?


TUser   (2004-11-30 10:38:00) [1]


> а как мне узнать цвет у строки под номером i?

Запоминать их при присвоении. Создай себе массив цветов и смотри там


Progh   (2004-11-30 10:30:00) [2]


>  [1] TUser ©   (30.11.04 10:21)


А где взять цвет строки? Я цвета так ставлю :

procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
 Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
Sender.Canvas.Brush.Color := Cvet;
Sender.Canvas.Refresh;
end;

При этом у разних строк разные цвета, а как мне узнать цвет у строки под номером i?

И еще там цвет в шестнадцатиричной системе писать вроде надо, а как мне десятичную в шеснадцатиричную перевести?


TUser   (2004-11-30 10:21:00) [3]

Надо написать html таблицу и приписать цвет в тегах td


Наверх

Титульная страница Поиск, карта сайта Написать письмо