kolmck/Addons/mckHTTP.pas

155 lines
3.4 KiB
ObjectPascal

unit mckHTTP;
interface
uses
Windows, Classes, Messages, Forms, SysUtils,
KOLRAS, mirror, KOL, KOLHTTP;
type
PKOLHttp =^TKOLHttp;
TKOLHttp = class(TKOLObj)
private
fUserName: string;
fUserPass: string;
fHostAddr: string;
fHostPort: string;
fProxyAdr: string;
fProxyPrt: string;
fOnHttpClo: TOnEvent;
public
constructor Create(Owner: TComponent); override;
protected
function AdditionalUnits: string; override;
procedure SetupFirst( SL: TStringList; const AName, AParent, Prefix: String ); override;
procedure SetupLast( SL: TStringList; const AName, AParent, Prefix: String ); override;
procedure AssignEvents( SL: TStringList; const AName: String ); override;
procedure SetUserName(Value: string);
procedure SetUserPass(Value: string);
procedure SetHostAddr(Value: string);
procedure SetHostPort(Value: string);
procedure SetProxyAdr(Value: string);
procedure SetProxyPrt(Value: string);
procedure SetOnHttpClo(Value: TOnEvent);
published
property UserName : string read fUserName write SetUserName;
property Password : string read fUserPass write SetUserPass;
property Url : string read fHostAddr write SetHostAddr;
property Port : string read fHostPort write SetHostPort;
property ProxyAddr: string read fProxyAdr write SetProxyAdr;
property ProxyPort: string read fProxyPrt write SetProxyPrt;
property OnClose : TOnEvent read fOnHttpClo write SetOnHttpClo;
end;
procedure Register;
implementation
{$R *.dcr}
constructor TKOLHttp.create;
begin
inherited create(Owner);
fHostPort := '80';
end;
procedure TKOLHttp.SetUserName;
begin
fUserName := Value;
Change;
end;
procedure TKOLHttp.SetUserPass;
begin
fUserPass := Value;
Change;
end;
procedure TKOLHttp.SetHostAddr;
begin
fHostAddr := Value;
Change;
end;
procedure TKOLHttp.SetHostPort;
begin
fHostPort := Value;
Change;
end;
procedure TKOLHttp.SetProxyAdr;
begin
fProxyAdr := Value;
Change;
end;
procedure TKOLHttp.SetProxyPrt;
begin
fProxyPrt := Value;
Change;
end;
procedure TKOLHttp.SetOnHttpClo;
begin
fOnHttpClo := Value;
Change;
end;
function TKOLHttp.AdditionalUnits;
begin
Result := ', KOLHttp';
end;
procedure TKOLHttp.SetupFirst(SL: TStringList; const AName,
AParent, Prefix: String);
begin
SL.Add( Prefix + AName + ' := NewKOLHttpControl;' );
if fUserName <> '' then
SL.Add( Prefix + AName + '.UserName := ''' + fUserName + ''';');
if fUserPass <> '' then
SL.Add( Prefix + AName + '.Password := ''' + fUserPass + ''';');
if fHostAddr <> '' then
SL.Add( Prefix + AName + '.Url := ''' + fHostAddr + ''';');
if fHostPort <> '80' then
SL.Add( Prefix + AName + '.HostPort := ' + fHostPort + ';');
if fProxyAdr <> '' then
SL.Add( Prefix + AName + '.ProxyAddr := ''' + fProxyAdr + ''';');
if fProxyPrt <> '' then
SL.Add( Prefix + AName + '.ProxyPort := ' + fProxyPrt + ';');
end;
procedure TKOLHttp.SetupLast(SL: TStringList; const AName,
AParent, Prefix: String);
begin
//
end;
procedure TKOLHttp.AssignEvents(SL: TStringList; const AName: String);
begin
inherited;
DoAssignEvents( SL, AName,
[ 'OnClose' ],
[ @OnClose ]);
end;
procedure Register;
begin
RegisterComponents('KOLAddons', [TKOLHttp]);
end;
end.