📄 serverunit1.pas
字号:
unit ServerUnit1;
{$WARN SYMBOL_PLATFORM OFF}
interface
uses
ActiveX, Mtsobj, Mtx, ComObj, ServerApp_TLB, StdVcl;
type
TComPlus = class(TMtsAutoObject, IComPlus)
protected
function Search(x, y: Integer): Integer; safecall;
function Login(const sName, sPassword: WideString): Shortint; safecall;
{ Protected declarations }
end;
implementation
uses ComServ;
function TComPlus.Search(x, y: Integer): Integer;
var
smallnumber:integer;
largenumber:integer;
i:integer;
DivisorFlag:Boolean;
begin
DivisorFlag := false; //查找成功标志置为False
if x >= y then //比较大小
begin
largenumber := x;
smallnumber := y;
end
else
begin
largenumber := y;
smallnumber := x;
end;
//因为最大公约数只可能在较小数减1和2之间,因此在这其中查找
for i := smallnumber - 1 downto 2 do
begin
//判断是否为公约数
if ( (largenumber mod i) = 0 ) and ( (smallnumber mod i) = 0 ) then
begin
DivisorFlag := True; //查找成功标志置为True
Result := i; //得到结果
break; //跳出循环
end;
end;
if DivisorFlag = false then
Result := 0; //找不到则返回0
end;
function TComPlus.Login(const sName, sPassword: WideString): Shortint;
begin
//登陆检查函数
if ((sName = 'delphi' ) and (sPassword = 'com+')) then
Result := 1
else
result := 0;
end;
initialization
TAutoObjectFactory.Create(ComServer, TComPlus, Class_ComPlus,
ciMultiInstance, tmApartment);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -