inout_dm.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:2k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit inout_dm;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, HTTPApp, WebModu, HTTPProd,
  5.   WebAdapt, WebComp, CompProd, PagItems, SiteProd, MidItems, WebForm;
  6. type
  7.   Tinout = class(TWebPageModule)
  8.     AdapterPageProducer: TAdapterPageProducer;
  9.     Adapter1: TAdapter;
  10.     Text: TAdapterField;
  11.     AddPlus: TAdapterAction;
  12.     AdapterForm1: TAdapterForm;
  13.     AdapterFieldGroup1: TAdapterFieldGroup;
  14.     AdapterCommandGroup1: TAdapterCommandGroup;
  15.     CmdAddPlus: TAdapterActionButton;
  16.     FldText: TAdapterDisplayField;
  17.     Post: TAdapterAction;
  18.     CmdPost: TAdapterActionButton;
  19.     Auto: TAdapterBooleanField;
  20.     FldAuto: TAdapterDisplayField;
  21.     procedure AddPlusExecute(Sender: TObject; Params: TStrings);
  22.     procedure TextGetValue(Sender: TObject; var Value: Variant);
  23.     procedure PostExecute(Sender: TObject; Params: TStrings);
  24.     procedure Adapter1BeforeExecuteAction(Sender, Action: TObject;
  25.       Params: TStrings; var Handled: Boolean);
  26.     procedure AutoGetValue(Sender: TObject; var Value: Boolean);
  27.   private
  28.     fAuto: Boolean;
  29.     fText: String;
  30.   public
  31.     { Public declarations }
  32.   end;
  33.   function inout: Tinout;
  34. implementation
  35. {$R *.dfm}  {*.html}
  36. uses WebReq, WebCntxt, WebFact, Variants, AdaptReq;
  37. function inout: Tinout;
  38. begin
  39.   Result := Tinout(WebContext.FindModuleClass(Tinout));
  40. end;
  41. procedure Tinout.AddPlusExecute(Sender: TObject; Params: TStrings);
  42. begin
  43.   fText := fText + '+';
  44. end;
  45. procedure Tinout.TextGetValue(Sender: TObject; var Value: Variant);
  46. begin
  47.   Value := fText;
  48. end;
  49. procedure Tinout.PostExecute(Sender: TObject; Params: TStrings);
  50. begin
  51.   if fAuto then
  52.     AddPlusExecute (Self, nil);
  53. end;
  54. procedure Tinout.Adapter1BeforeExecuteAction(Sender, Action: TObject;
  55.   Params: TStrings; var Handled: Boolean);
  56. begin
  57.   if Assigned (Text.ActionValue) then
  58.     fText := Text.ActionValue.Values [0];
  59.   fAuto := Assigned (Auto.ActionValue);
  60. end;
  61. procedure Tinout.AutoGetValue(Sender: TObject; var Value: Boolean);
  62. begin
  63.   Value := fAuto;
  64. end;
  65. initialization
  66.   if WebRequestHandler <> nil then
  67.     WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(Tinout, TWebPageInfo.Create([wpPublished {, wpLoginRequired}], '.html'), crOnDemand, caCache));
  68. end.