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 + -
显示快捷键?