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

📄 unitclientmanage.~pas

📁 在delphi下基于MapX5.0的GIS程序
💻 ~PAS
字号:
unit UnitClientManage;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, StdCtrls, Buttons;

type
  TFrmClientManage = class(TForm)
    DB: TDBGrid;
    DS1: TDataSource;
    BBtnStop: TBitBtn;
    BBtnRefresh: TBitBtn;
    BBtnClose: TBitBtn;
    procedure BBtnRefreshClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BBtnStopClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmClientManage: TFrmClientManage;

implementation

uses UnitDataModule, UnitCommonModule, UnitLogin;

{$R *.dfm}

procedure TFrmClientManage.BBtnRefreshClick(Sender: TObject);
begin
  DM.ADOQueryRecord.Close;
  DM.ADOQueryRecord.SQL.Clear;
  SQLString := 'SELECT *' + #13;
  SQLString := SQLString + 'FROM Record'+ #13;
  SQLString := SQLString + 'WHERE Connecting = 1' + #13;
  SQLString := SQLString + 'AND Levels <> ''管理员''';
  DM.ADOQueryRecord.SQL.Add(SQLString);
  DM.ADOQueryRecord.Open;
end;

procedure TFrmClientManage.FormCreate(Sender: TObject);
begin
  DB.Columns[0].FieldName := 'UserName';
  DB.Columns[1].FieldName := 'Levels';
  DB.Columns[2].FieldName := 'ComeTime';
  DB.Columns[3].FieldName := 'UserIP';
  DB.Columns[4].FieldName := 'SocketID';
end;

procedure TFrmClientManage.FormShow(Sender: TObject);
begin
  BBtnRefreshClick(Sender);
end;

procedure TFrmClientManage.BBtnStopClick(Sender: TObject);
var
  User, SocketID, ComeTime: String;
  i: Integer;
begin
//发出断开命令
  UserName := DM.ADOQueryRecord.FieldByName('UserName').AsString;
  SocketID := DM.ADOQueryRecord.FieldByName('SocketID').AsString;
  ComeTime := DM.ADOQueryRecord.FieldByName('ComeTime').AsString;
  for i := 0 to Users.Num do
  begin
    if (SocketID = Users.SocketID[i]) and
       (ComeTime = Users.LoginTime[i]) then
    begin
      SendUserNum := i;
      Break;
    end;
  end; 
  FrmLogin.SSocket.Socket.Connections[SendUserNum].SendText('S');
  // 填写客户端退出日志
  FillRecordE(UserName, SocketID, ComeTime);
end;

end.

⌨️ 快捷键说明

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