📄 peerrecipeform.pas
字号:
unit PeerRecipeForm;
interface
uses
SysUtils, Classes, Forms, IdHTTPWebBrokerBridge, InvokeRegistry, Rio,
SOAPHTTPClient, Controls, StdCtrls, Spin, ExtCtrls;
type
TForm1 = class(TForm)
localport: TSpinEdit;
listen: TCheckBox;
remotehost: TEdit;
Bevel1: TBevel;
Button1: TButton;
localaddr: TEdit;
Button2: TButton;
search: TEdit;
recipe: TMemo;
Button3: TButton;
Button4: TButton;
procedure listenClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
FWebBrokerBridge: TIdHTTPWebBrokerBridge;
function GetLocalURL: String;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses
SockApp, PeerRecipeIntf, PeerRecipeWebMod, PeerRecipeSoapDM,
IPeerRecipeClient, Helpers;
{$R *.dfm}
const
cURL = 'http://%s:%d/soap/IPeerRecipe';
procedure TForm1.listenClick(Sender: TObject);
begin
if listen.Checked then
begin
FWebBrokerBridge.DefaultPort := localport.Value;
FWebBrokerBridge.Active := True;
end else begin
FWebBrokerBridge.Active := False;
FWebBrokerBridge.Bindings.Clear;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FWebBrokerBridge := TIdHTTPWebBrokerBridge.Create(nil);
FWebBrokerBridge.RegisterWebModuleClass(TPeerRecipeWM);
FWebBrokerBridge.DefaultPort := 1024;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
FWebBrokerBridge.Active := False;
FreeAndNil(FWebBrokerBridge);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Peer: IPeerRecipe;
begin
Peer := GetIPeerRecipe(remotehost.Text);
Peer.Connect(GetLocalURL);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
GetIPeerRecipe(remotehost.Text).FindRecipe(1,GetLocalURL,'',search.Text);
end;
function TForm1.GetLocalURL: String;
begin
result := format(cURL, [localaddr.Text,localport.Value]);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
recipe.Lines.LoadFromFile(cRecipes);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
recipe.Lines.SaveToFile(cRecipes);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -