From a0f6fd68a56068a20e7186e2dd2d7daccfbce4aa Mon Sep 17 00:00:00 2001 From: Pavel Perminov Date: Wed, 26 Sep 2012 19:02:53 +0000 Subject: Chess4Net_MI 2010.0 release (106 rev. truncated adjusted copy) git-svn-id: http://svn.miranda-ng.org/main/trunk@1666 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Chess4Net/ConnectionUnit.pas | 107 +++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 plugins/Chess4Net/ConnectionUnit.pas (limited to 'plugins/Chess4Net/ConnectionUnit.pas') diff --git a/plugins/Chess4Net/ConnectionUnit.pas b/plugins/Chess4Net/ConnectionUnit.pas new file mode 100644 index 0000000000..482094afe4 --- /dev/null +++ b/plugins/Chess4Net/ConnectionUnit.pas @@ -0,0 +1,107 @@ +unit ConnectionUnit; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, StdCtrls, ExtCtrls, Mask; + +type + TConnectionForm = class(TForm) + NickLabel: TLabel; + NickEdit: TEdit; + ConnectionRadioGroup: TRadioGroup; + ServerRadioButton: TRadioButton; + ClientRadioButton: TRadioButton; + OKButton: TButton; + CancelButton: TButton; + IPEdit: TEdit; + IPLabel: TLabel; + PortLabel: TLabel; + PortEdit: TMaskEdit; + procedure FormShow(Sender: TObject); + procedure ServerRadioButtonClick(Sender: TObject); + procedure ClientRadioButtonClick(Sender: TObject); + procedure NickEditExit(Sender: TObject); + procedure FormKeyPress(Sender: TObject; var Key: Char); + procedure IPEditChange(Sender: TObject); + procedure PortEditExit(Sender: TObject); + public + function GetPort: word; + constructor Create(Owner: TComponent); reintroduce; + end; + +implementation + +{$R *.dfm} + +uses + GlobalsLocalUnit; + +procedure TConnectionForm.ServerRadioButtonClick(Sender: TObject); +begin + IPEdit.Enabled := FALSE; + OKButton.Enabled := TRUE; +end; + +procedure TConnectionForm.FormShow(Sender: TObject); +var + frmOwner: TForm; +begin + frmOwner := (Owner as TForm); + Left:= frmOwner.Left + (frmOwner.Width - Width) div 2; + Top:= frmOwner.Top + (frmOwner.Height - Height) div 2; +end; + +procedure TConnectionForm.ClientRadioButtonClick(Sender: TObject); +begin + IPEdit.Enabled:= TRUE; + if IPEdit.Text <> '' then OKButton.Enabled:= TRUE + else OKButton.Enabled:= FALSE; +end; + +procedure TConnectionForm.PortEditExit(Sender: TObject); +begin + PortEdit.Text := IntToStr(GetPort); +end; + +procedure TConnectionForm.NickEditExit(Sender: TObject); +begin + if NickEdit.Text = '' then NickEdit.Text:= 'NN'; +end; + +procedure TConnectionForm.FormKeyPress(Sender: TObject; var Key: Char); +begin + if Key = #13 then ModalResult:= mrOk; +end; + +procedure TConnectionForm.IPEditChange(Sender: TObject); +begin + if IPEdit.Text <> '' then OKButton.Enabled:= TRUE + else OKButton.Enabled:= FALSE; +end; + +constructor TConnectionForm.Create(Owner: TComponent); +begin + FormStyle := (Owner as TForm).FormStyle; + inherited; + PortEdit.Text := IntToStr(DEFAULT_PORT); +end; + +function TConnectionForm.GetPort: word; +var + port: integer; +begin + try + port := StrToInt(Trim(PortEdit.Text)); + if (port > 0) and (port <= $FFFF) then + Result := port + else + Result := DEFAULT_PORT + except + on EConvertError do + Result := DEFAULT_PORT; + end; +end; + +end. -- cgit v1.2.3