mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-07-16 02:06:05 +02:00
86 lines
2.1 KiB
ObjectPascal
86 lines
2.1 KiB
ObjectPascal
unit wmusers;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
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.
|
|
|