⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 udm.pas

📁 一个使用UDP开发的消息广播服务与客户端程序
💻 PAS
字号:
unit Udm;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, DBTables ,TypeInc;

type
  TDMServer = class(TDataModule)
    ADOConnection1: TADOConnection;
    ADOQuery: TADOQuery;
  private
    { Private declarations }
  public
    function CM_GetDbInfo(var D_Info:TM_DBINFO):integer;
    function CM_ShowMsg(Msg:TM_ServLogin):integer;
    function CM_GetSrvList(var Lst:TM_SrvLst):integer;
    function CHK_Password(serv:TM_ServLogin):Integer;
    { Public declarations }
  end;

var
  DMServer: TDMServer;

implementation

{$R *.dfm}
function TDMServer.CM_ShowMsg(Msg:TM_ServLogin):integer;
var
    rc:integer;
    Lst:TM_SrvLst;
begin
    //检查用户名,密码
  if CHK_Password(Msg)=0 then
  begin
    result:=0;
    exit;
  end else
  case Msg.Msg of
    GetSrvList: rc:=CM_GetSrvList(Lst);     //取得服务器列表
  else
    //
  end;
  result:=1;
end;
function TDMServer.CHK_Password(serv:TM_ServLogin):Integer;
begin
  result:=1;
end;

function TDMServer.CM_GetSrvList(var Lst:TM_SrvLst):integer;
begin
    result:=0;
  try
    with ADOQuery do
    begin
        Close;
        SQL.Clear;
        SQL.Add('select ID_Info,Name,onLine,Reg from serverinfo;');
        Open;
        lst.ID_Info:=Fields.Fields[0].AsInteger;
        lst.Name:=Fields.Fields[1].AsString;
        lst.onLine:=Fields.Fields[2].AsString;
        lst.Reg:=Fields.Fields[3].AsString;
    end;
  except
        result:=1;
  end;
end;
function TDMServer.CM_GetDbInfo(var D_Info:TM_DBINFO):integer;
{
    检查服务器数据信息
}
begin
  try
    with ADOQuery do
    begin
        Close;
        SQL.Clear;
        SQL.Add('select count(*) from serverinfo;');
        Open;
        D_Info.Server:=Fields.Fields[0].AsInteger;

        Close;
        SQL.Clear;
        SQL.Add('select count(*) from serverinfo where reg=1;');
        Open;
        D_Info.RegSrv:=Fields.Fields[0].AsInteger;

        Close;
        SQL.Clear;
        SQL.Add('select count(*) from serverinfo where online=1;');
        Open;
        D_Info.Online:=Fields.Fields[0].AsInteger;

        Close;
        SQL.Clear;
        SQL.Add('select count(*) from serverinfo where online=1 and reg=1;');
        Open;
        D_Info.RegOline:=Fields.Fields[0].AsInteger;
    end;
        result:=0;
  except
        result:=1;
  end;
end;
end.

⌨️ 快捷键说明

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