| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 | unit wmusers;{$mode objfpc}{$H+}interfaceuses  Classes, SysUtils, HTTPDefs, websession, fpHTTP, fpWeb,   db, dbf, fpwebdata, extjsjson, extjsxml;type  { TFPWebProviderDataModule2 }  TFPWebProviderDataModule2 = class(TFPWebProviderDataModule)    ExtJSJSONDataFormatter1: TExtJSJSONDataFormatter;    ExtJSJSonWebdataInputAdaptor1: TExtJSJSonWebdataInputAdaptor;    ExtJSXMLDataFormatter1: TExtJSXMLDataFormatter;    ExtJSXMLWebdataInputAdaptor1: TExtJSXMLWebdataInputAdaptor;    procedure DataModuleGetContentProducer(Sender: TObject;      var AContentProducer: TCustomHTTPDataContentProducer);    procedure DataModuleGetInputAdaptor(Sender: TObject;      var AInputAdaptor: TCustomWebdataInputAdaptor);  private    { private declarations }  public    { public declarations }  end; var  FPWebProviderDataModule2: TFPWebProviderDataModule2; implementation{$R *.lfm}Type    { TDBFWebDataProvider }    TDBFWebDataProvider = Class(TFPCustomWebDataProvider)      FDBF : TDBF;    Public      Constructor Create(AOwner : TComponent); override;      Function GetDataset : TDataset; override;    end;{ TDBFWebDataProvider }constructor TDBFWebDataProvider.Create(AOwner: TComponent);begin  inherited Create(AOwner);  FDBF:=TDBF.Create(Self);  FDBF.TableName:=ExtractFilePath(ParamStr(0))+'users.dbf';  FDBF.Open;  With FDBF.FieldByname('ID') do    ProviderFlags:=ProviderFlags+[pfInKey];end;function TDBFWebDataProvider.GetDataset: TDataset;begin  Result:=FDBF;end;{ TFPWebProviderDataModule2 }procedure TFPWebProviderDataModule2.DataModuleGetInputAdaptor(Sender: TObject;  var AInputAdaptor: TCustomWebdataInputAdaptor);begin  If Request.QueryFields.values['format']='xml' then    AInputAdaptor:=ExtJSXMLWebdataInputAdaptor1;end;procedure TFPWebProviderDataModule2.DataModuleGetContentProducer(  Sender: TObject; var AContentProducer: TCustomHTTPDataContentProducer);begin  If Request.QueryFields.values['format']='xml' then    AContentProducer:=ExtJSXMLDataFormatter1;end;initialization  RegisterHTTPModule('Provider', TFPWebProviderDataModule2);  WebDataProviderManager.RegisterProvider('AName',TDBFWebDataProvider);end.
 |