Einzelnen Beitrag anzeigen

capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#1

Stringgrid in HTML umwandeln - Spaltenbreite definieren?

  Alt 27. Nov 2006, 10:06
Hallo, mit dem Beispiel hier kann ich ein Stringgrid in HTML umwandeln:

Delphi-Quellcode:
procedure SGridToHtml(SG: TStringgrid; Dest: TMemo; BorderSize: Integer);
var
  i, p: integer;
  SStyle1, SStyle2, Text: string;
begin
  Dest.Clear;
  Dest.Lines.Add('<html>');
  Dest.Lines.Add('<body>');
  Dest.Lines.Add(' <table border="' + IntToStr(BorderSize) + '" width="' +
    IntToStr(SG.Width) + '" height="' + IntToStr(SG.Width) + '">');

  for i := 0 to SG.RowCount - 1 do
  begin
    Dest.Lines.Add(' <tr>');
    for p := 0 to SG.ColCount - 1 do
    begin
      SStyle1 := '';
      SStyle2 := '';
      if fsbold in SG.Font.Style then
      begin
        SStyle1 := SStyle1 + '[b]';
        SStyle2 := SStyle2 + '[/b]';
      end;
      if fsitalic in SG.Font.Style then
      begin
        SStyle1 := SStyle1 + '[i]';
        SStyle2 := SStyle2 + '[/i]';
      end;
      if fsunderline in SG.Font.Style then
      begin
        SStyle1 := SStyle1 + '<u>';
        SStyle2 := SStyle2 + '</u>';
      end;
      Text := sg.Cells[p, i];
      if Text = 'then Text := ' ';
      Dest.Lines.Add(' <td width="' + IntToStr(sg.ColWidths[p]) +
        '" height="' + IntToStr(sg.RowHeights[p]) +
        '"><font color="#' + IntToHex(sg.Font.Color, 6) +
        '" face="' + SG.Font.Name + '">' + SStyle1 +
        Text + SStyle2 + '</font></td>');
    end;
    Dest.Lines.Add(' </tr>');
  end;
  Dest.Lines.Add(' </table>');
  Dest.Lines.Add('</body>');;
  Dest.Lines.Add('</html>');
end;

// Example, Beispiel
procedure TFormCSVInport.Button6Click(Sender: TObject);
begin
  SGridToHtml(StringGrid1, Memo1, 1);
  Memo1.Lines.SaveToFile('c:\test.html');
end;
Ich habe 5 Spalten in meinem Stringgrid.
Kann ich beim umwandeln jeder einzelnen Spalte einen feste Breite zuweisen?

grüsse vom capo
Hotte
  Mit Zitat antworten Zitat