clientunit1.pas

来自「Delphi 7组件与分布式应用开发源码,介绍了基础的组件应用实例」· PAS 代码 · 共 104 行

PAS
104
字号
unit ClientUnit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ServerApp_TLB;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    Edit3: TEdit;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    MyVar:IComPlus;  //定义接口变量
    { Private declarations }
  public
    procedure login(loginflag:ShortInt); //功能设置
    { Public declarations }
  end;

var
  Form1: TForm1;
  flag: ShortInt;//功能设置标识

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
   MyVar := CoComPlus.CreateRemote(Edit3.Text);//创建COM+对象
   flag := 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
     login(flag);
     if(flag = 0)then
     begin
       flag := MyVar.Login(Edit1.Text,Edit2.Text);//用户名与口令检查
       if(flag = 0) then
          //提示信息
          MessageBox(0, '登录失败,请重试!', '登录信息', MB_OK	)
       else
       begin
          //提示信息
          MessageBox(0, '登录成功,您已联上COM+服务器!', '登录信息', MB_OK	);
		      Edit3.Text := '';
          Edit1.Text := '';
          Edit2.Text := '';
          Form1.Caption := '查找最大公约数 ';
          login(flag); //登录成功,切换为计算功能界面
       end;
     end
     else
     begin
       if MyVar.Search(StrToInt(Edit1.Text),StrToInt(Edit2.Text)) <> 0 then
       //查找成功
       Edit3.Text := '最大公约数为 ' + IntToStr(MyVar.Search(StrToInt(Edit1.Text),
          StrToInt(Edit2.Text)))
       else
       //查找失败
          Edit3.Text := ' 两数互质,无最大公约数!';
     end;
end;

procedure TForm1.login(loginflag: ShortInt);
begin
//功能界面设置
   if(loginflag = 0) then
   begin
     Label1.Caption := '用户名:';
     Label2.Caption := '口  令:';
     Label3.Caption := '计算机名:';
     Button1.Caption:= '登  陆:';
     Edit2.PasswordChar := '*'; //设置为口令字符显示
   end
   else
   begin
     Label1.Caption := '数值 1:';
     Label2.Caption := '数值 2:';
     Label3.Caption := '结  果:';
     Button1.Caption:= '计  算:';
     Edit2.PasswordChar := #0;//取消口令字符显示
     Edit1.SetFocus;
   end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Application.Terminate;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?