fpc/packages/fcl-web/examples/webdata/demo3/wmusers.pp
michael 86a5871ba4 * Lazarus is no longer needed for the examples
git-svn-id: trunk@17740 -
2011-06-13 12:57:32 +00:00

69 lines
1.8 KiB
ObjectPascal

unit wmusers;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, HTTPDefs, websession, fpHTTP, fpWeb,
dbf, db, fpwebdata, extjsjson, extjsxml;
type
{ TFPWebProviderDataModule1 }
TFPWebProviderDataModule1 = class(TFPWebProviderDataModule)
Datasource1: TDatasource;
Dbf1: TDbf;
ExtJSJSONDataFormatter1: TExtJSJSONDataFormatter;
ExtJSJSonWebdataInputAdaptor1: TExtJSJSonWebdataInputAdaptor;
ExtJSXMLDataFormatter1: TExtJSXMLDataFormatter;
ExtJSXMLWebdataInputAdaptor1: TExtJSXMLWebdataInputAdaptor;
AName: TFPWebDataProvider;
procedure DataModuleCreate(Sender: TObject);
procedure DataModuleGetContentProducer(Sender: TObject;
var AContentProducer: TCustomHTTPDataContentProducer);
procedure DataModuleGetInputAdaptor(Sender: TObject;
var AInputAdaptor: TCustomWebdataInputAdaptor);
private
{ private declarations }
public
{ public declarations }
end;
var
FPWebProviderDataModule1: TFPWebProviderDataModule1;
implementation
{$R *.lfm}
{ TFPWebProviderDataModule1 }
procedure TFPWebProviderDataModule1.DataModuleGetInputAdaptor(Sender: TObject;
var AInputAdaptor: TCustomWebdataInputAdaptor);
begin
If Request.QueryFields.values['format']='xml' then
AInputAdaptor:=ExtJSXMLWebdataInputAdaptor1;
end;
procedure TFPWebProviderDataModule1.DataModuleGetContentProducer(
Sender: TObject; var AContentProducer: TCustomHTTPDataContentProducer);
begin
If Request.QueryFields.values['format']='xml' then
AContentProducer:=ExtJSXMLDataFormatter1;
end;
procedure TFPWebProviderDataModule1.DataModuleCreate(Sender: TObject);
begin
DBF1.TableName:=ExtractFilePath(ParamStr(0))+'users.dbf';
DBF1.Open;
With DBF1.FieldByname('ID') do
ProviderFlags:=ProviderFlags+[pfInKey];
end;
initialization
RegisterHTTPModule('Provider', TFPWebProviderDataModule1);
end.