fpc/packages/fcl-web/examples/restbridge/delphiclient/frmmain.pas
michael e726faca7c * Delphi rest client for REST bridge
git-svn-id: trunk@41437 -
2019-02-24 16:01:26 +00:00

67 lines
1.4 KiB
ObjectPascal

unit frmmain;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, IPPeerClient, REST.Client,
REST.Authenticator.Basic, Data.Bind.Components, Data.Bind.ObjectScope,
Vcl.StdCtrls, Vcl.Grids, Vcl.DBGrids, Vcl.ExtCtrls, Vcl.DBCtrls,
Datasnap.DBClient, System.Net.URLClient, System.Net.HttpClient,
System.Net.HttpClientComponent, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdHTTP;
type
TForm1 = class(TForm)
DSRest: TDataSource;
CDSRest: TClientDataSet;
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
EURL: TEdit;
BFetch: TButton;
Label1: TLabel;
Label2: TLabel;
EUserName: TEdit;
LEPassword: TLabel;
EPassword: TEdit;
RestClient: TIdHTTP;
procedure BFetchClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BFetchClick(Sender: TObject);
Var
URL : String;
Response : TMemoryStream;
begin
URL:=EURL.Text;
if Pos('?',URL)=0 then
URL:=URL+'?'
else
URL:=URL+'&';
URL:=URL+'fmt=cds';
Response:=TMemoryStream.Create;
With RestClient.Request do
begin
UserName:=EUserName.Text;
Password:=EPassword.Text;
end;
RestClient.Get(URL,Response);
Response.Position:=0;
CDSRest.LoadFromStream(Response);
end;
end.