unit8.pas

来自「Delphi网络应用开发的源代码」· PAS 代码 · 共 87 行

PAS
87
字号
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 + =
减小字号Ctrl + -
显示快捷键?