htmlstr.pas

来自「外国人写的各种类型的源代码,有兴趣的朋友看看吧!是学习的好东西哟」· PAS 代码 · 共 95 行

PAS
95
字号
unit HtmlStr;

interface

uses
  Classes, DB;

type
  THtmlStrings = class (TStringList)
  public
    procedure AddHeader (Title: string);
    procedure AddFooter;
    procedure OutputTable (Data: TDataSet);
  private
    procedure AddTableContents (Data: TDataSet);
  end;

implementation

uses
  SysUtils;

procedure THtmlStrings.AddHeader (Title: string);
begin
  Clear;
  Add ('<HTML>');
  Add ('<HEAD>');
  Add ('<TITLE>' + Title + '</TITLE>');
  Add ('</HEAD>');
  Add ('<BODY>');
  Add ('<H1><CENTER>' + Title + '</CENTER></H1>');
end;

procedure THtmlStrings.AddFooter;
begin
  Add ('<HR>');
  Add ('Generated by the program ' +
    ExtractFilename (Application.Exename));
  Add ('</BODY>');
  Add ('</HTML>');
end;

procedure THtmlStrings.OutputTable (Data: TDataSet);
var
  I: Integer;
begin
  // start table with borders
  Add('<table border>');
  // new row, with the table headers (tag <th>)
  Add('<tr>');
  for I := 0 to Data.FieldCount - 1 do
    if Data.Fields[I].Visible then
      Add('<th>' + Data.Fields[I].FieldName + '</th>');
  Add('</tr>');
  // new row for each record, with the proper fields
  AddTableContents (Data);
  // done
  Add('</table>');
end;

procedure THtmlStrings.AddTableContents (Data: TDataSet);
var
  Bookmark: TBookmark;
  I: Integer;
begin
  // disable the UI
  Data.DisableControls;
  try
    // store the current position
    Bookmark := Data.GetBookmark;
    try
      // scan the database table
      Data.First;
      while not Data.EOF do
      begin
        Add('<tr>'); // new row, with table data (tag <td>)
        for I := 0 to Data.FieldCount - 1 do
          if Data.Fields[I].Visible then
            Add('<td>' + Data.Fields[I].DisplayText + '</td>');
        Add('</tr>');
        Data.Next;
      end;
    finally
      // go back to the bookmark and destroy it
      Data.GotoBookmark (Bookmark);
      Data.FreeBookmark (Bookmark);
    end;
  finally
    // re-enable the controls
    Data.EnableControls;
  end;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?