Thema: Delphi Listview - Html-Datei

Einzelnen Beitrag anzeigen

horst

Registriert seit: 1. Jul 2003
347 Beiträge
 
Delphi 2007 Professional
 
#1

Listview - Html-Datei

  Alt 12. Okt 2003, 18:45
mit dem sourcecode unten generiere ich aus einem listview eine html datei.
ich würde gerne zwei unterschiedliche zeilenfarben für die tabelle verwenden.
auch würde ich gerne individuelle TD-Width verwenden (momentan sind alle <TD width=100>)
wer hat mag mir dabei helfen?


http://www.fusshoeller.com/screens/tabelle.jpg


Delphi-Quellcode:
function ListViewtoHTML(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>Termine</title>');
    WriteLn(tfile,'<STYLE type=text/css>');
    WriteLn(tfile,'<!--');
    WriteLn(tfile,'.tabelle {');
    WriteLn(tfile,'font-family: Verdana, Arial, Helvetica, sans-serif;');
    WriteLn(tfile,'font-size: 12px;');
    WriteLn(tfile,'font-style: normal;');
    WriteLn(tfile,'line-height: normal;');
    WriteLn(tfile,'font-weight: normal;');
    WriteLn(tfile,'font-variant: normal;');
    WriteLn(tfile,'}');
    WriteLn(tfile,'--> ');
    WriteLn(tfile,'</STYLE>');
    WriteLn(tfile,'</head>');
    WriteLn(tfile,'<BODY text=#000000 vLink=#333333 aLink=#333333 link=#333333 bgColor=#e1e1e1>');
    WriteLn(tfile,'<TABLE class=tabelle cellPadding=4 width="100%" border=0>');
    WriteLn(tfile,' <tr bgcolor="lightgrey"> ');
    for i := 0 to listview.Columns.Count - 1 do
    begin
      if center then
        WriteLn(tfile,'<TD width=100>[b]<left>'+listview.columns[i].caption+'[/b]</td>') else
        WriteLn(tfile,'<td>[b]'+listview.columns[i].caption+'[/b]</td>');
        end;
     WriteLn(tfile,'</tr>');
    WriteLn(tfile,' <tr bgcolor="#ffffff">');
    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;
  Mit Zitat antworten Zitat