📄 unit8.pas
字号:
unit Unit8;
interface
uses
Windows,Messages,SysUtils, Classes, HTTPApp, WebModu, HTTPProd, WebAdapt, WebComp,
MidItems, WebForm, CompProd, PagItems, SiteProd,SiteComp;
type
TMyAdapter = class(TWebPageModule)
AdapterPageProducer: TAdapterPageProducer;
Adapter1: TAdapter;
svUserInfo: TStringsValuesList;
AdapterForm1: TAdapterForm;
AdapterGrid1: TAdapterGrid;
InfoName: TAdapterField;
InfoValue: TAdapterField;
AdaptNameField: TValuesListNameField;
AdaptValueField: TValuesListValueField;
ColInfoName: TAdapterDisplayColumn;
ColInfoValue: TAdapterDisplayColumn;
procedure Adapter1IterateRecords(Sender: TObject;
Action: TIteratorMethod; var Eof: Boolean);
procedure InfoValueGetValue(Sender: TObject; var Value: Variant);
procedure InfoNameGetValue(Sender: TObject; var Value: Variant);
private
{ Private declarations }
public
{ Public declarations }
end;
function MyAdapter: TMyAdapter;
implementation
{$R *.dfm} {*.html}
uses WebReq, WebCntxt, WebFact, Variants;
function MyAdapter: TMyAdapter;
begin
Result := TMyAdapter(WebContext.FindModuleClass(TMyAdapter));
end;
procedure TMyAdapter.Adapter1IterateRecords(Sender: TObject;
Action: TIteratorMethod; var Eof: Boolean);
var
Intf:IIteratorSupport;
P:Pointer;
begin
begin
Intf:=svUserInfo as IIteratorSupport;
case Action of
itStart:
Intf.StartIterator(P);
itNext :
EOF:=not Intf.NextIteration(P);
itEnd :
begin
Intf.EndIterator(P);
EOF:=True;
end;
end;
end;
end;
procedure TMyAdapter.InfoValueGetValue(Sender: TObject;
var Value: Variant);
begin
Value:=AdaptValueField.Value;
end;
procedure TMyAdapter.InfoNameGetValue(Sender: TObject; var Value: Variant);
begin
Value:=AdaptNameField.Value;
end;
initialization
if WebRequestHandler <> nil then
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(TMyAdapter, TWebPageInfo.Create([wpPublished {, wpLoginRequired}], '.html'), crOnDemand, caCache)
);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -