Hallo zusammen,
Also erstmal danke für die antworten,
Zitat von
Lucki:
Ich würde übriges mit CSS arbeiten.
Will ich natürlich machen, aber zum ausprobieren finde ich es so besser, weil ich dann alles sehe, die Styls anschließend auszulagern, sollte ja kein Problem darstellen.
Hier mal mein aktueller Code und im Anhang das Ergebnis. Was ich noch nicht so richtig hinbekomme ist...
1. Die Farbe der Schriftart.
3. z.B. eine Leerzeile zwischen der Überschrift und der Tabellenüberschrift.
Delphi-Quellcode:
Procedure TForm1.HTMLErzeugen;
Var
slHTML : TStringList;
i : integer;
begin
QryHTML.Close;
QryHTML.SQL.Text := '
SELECT * FROM MB100';
QryHTML.Open;
slHTML := TStringList.Create;
slHTML.Add('
<html>');
slHTML.Add('
<head>');
slHTML.Add('
<link rel="stylesheet" type="text/css" href="VST.css"');
//werde natürlich hier eine Css-Datei einfügen
slHTML.Add('
<td style="color:#ff0000;">Firma hartmann + uebach Nachrichtentechnik</td>');
slHTML.Add('
</head>');
slHTML.Add('
<body>');
slHTML.Add('
<table border="0" style="border-collapse:separate;"'+
'
width="100%" style="'+
'
border-left:5px solid #ff0000;border-right:5px solid #ff0000;'+
'
border-top:5px solid #ff0000;border-bottom:5px solid #ff0000;>');
slHTML.Add('
<caption style="caption-side:top;">Protokolldatei vom: '+DateTimeToStr(Now)+'
</caption>');
slHTML.Add('
<tr>');
slHTML.Add('
<th align="left">ID</th>');
slHTML.Add('
<th align="left">LfdNr</th>');
slHTML.Add('
<th align="left">Datum</th>');
slHTML.Add('
<th align="left">Uhrzeit</th>');
slHTML.Add('
<th align="left">Ereignis</th>');
slHTML.Add('
<th align="left">Teilnehmer</th>');
slHTML.Add('
<th align="left">Bereich</th>');
slHTML.Add('
<tr>');
//slHTML.Add('<tr class="' + Ereignis + '">'); // Stylesheet wird hier später eingefügt.
for i := 0
to QryHTML.RecordCount
do
begin
slHTML.Add('
<td>');
// align="left">');
slHTML.Add(IntToStr(QryHTML.FieldByName('
ID').AsInteger));
slHTML.Add('
</td>');
slHTML.Add('
<td align="left">');
slHTML.Add(IntToStr(QryHTML.FieldByName('
LfdNr').AsInteger));
slHTML.Add('
</td>');
slHTML.Add('
<td align="left">');
slHTML.Add(DateToStr(QryHTML.FieldByName('
Datum').AsDateTime));
slHTML.Add('
</td>');
slHTML.Add('
<td align="left">');
slHTML.Add(DateToStr(QryHTML.FieldByName('
Uhrzeit').AsDateTime));
slHTML.Add('
</td>');
slHTML.Add('
<td align="left">');
slHTML.Add(QryHTML.FieldByName('
Ereignis').AsString);
slHTML.Add('
</td>');
slHTML.Add('
<td align="left">');
slHTML.Add(QryHTML.FieldByName('
Teilnehmer').AsString);
slHTML.Add('
</td>');
slHTML.Add('
<td align="left">');
slHTML.Add(QryHTML.FieldByName('
Bereich').AsString);
slHTML.Add('
</td>');
slHTML.Add('
</tr>');
QryHTML.Next;
end;
slHTML.Add('
</table>');
slHTML.Add('
</body>');
slHTML.Add('
</html>');
slHTML.SaveToFile('
C:\Test.html');
slHTML.Free;
end;
Vieleicht kann mir ja jemand sagen, woran das legen kann.
Gruß Jens