Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Перевести TStringGrid в HTML

Delphi , Компоненты и Классы , TStringGrid и TDrawGrid

Перевести TStringGrid в HTML

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ The SGridToHtml() function converts a Stringgrid to a HTML Code. 
  Parameters: SG: TStringGrid to convert 
              Dest: TMemo to show the HTML Code 
              BorderSize: Size of border (0 = show no border) 
{ 
  Mit der Funktion SGridToHtml() konnen StringGrids in HTML Code umgewandelt werden. 
  SG bezieht sich auf das TStringGrid, welches codiert werden soll. 
  in Dest (vom Typ TMemo) wird der HTML Code erzeugt. 
  BorderSize bestimmt, wie dick der Tabellenrahmen sein soll. 0 = kein Rahmen 
}

 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;

Перевод контента на русский язык:

Код конвертирует TStringGrid в HTML-код таблицы и сохраняет его в файле. Процедура SGridToHtml принимает три параметра: TStringGrid для конвертации, TMemo для записи HTML-кода и размер границы.

Код проходит по каждому ячейке в grid, применяя стили, если это необходимо (жирный, курсив, подчеркивание), и пишет соответствующий HTML-код. Полученная HTML-таблица затем сохраняется в файле с помощью метода SaveToFile компонента TMemo.

Обратите внимание, что этот код предполагает, что цвет шрифта представлен в виде RGB-значения в формате hexadecimal (например, #RRGGBB). Если ваш приложение использует другой формат, вам может потребоваться модификация кода соответствующим образом.

В статье описывается функция SGridToHtml для преобразования TStringGrid в HTML-код с параметрами SG - строковый грид для конвертации, Dest - memo для отображения полученного HTML-кода и BorderSize - размер рамки таблицы.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: TStringGrid и TDrawGrid ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-29 03:20:33/0.003087043762207/0