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

📄 systeminfout.pas

📁 delphi的XMPRPC通讯例子
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit SystemInfoUt;

interface
uses
Windows,SysUtils,Controls,Classes,Dialogs,ConstValueUt,Math,ComCtrls;
//--------------------------------枚举---------------------------------//
type
 TSIU_ENUM_ChlidFormShow = (SIU_ENUM_cld_Show,SIU_ENUM_cld_NotShow);
type
  TCMSCommand = (cmdToken,cmdTokenResponse,cmdQuit,cmdQuitResponse,cmdShutDown,cmdShutDownResponse,
                 cmdMessage,cmdMessageResponse,cmdStream,cmdStreamResponse,cmdGetBalance,cmdGetBalanceResponse,
                 cmdSetConfig,cmdSetConfigResponse,cmdInfo,cmdInfoResponse,cmdRunMode,cmdRunModeResponse,
                  cmdStatus,cmdStatusResponse);

//---------------------------------------------------------------------//

//--------------------------------结构---------------------------------//
//------------------------------通讯命令-------------------------------//
type
  TCMSTP = Packed Record
  C_IP:string[20];
  Case Command: TCMSCommand of
      cmdToken:
        (
          tSID: string[64]; //令牌号
          tUID: string[32]; //用户UID号
          tMAC: string[20]; //计算机MAC地址

        );

       cmdTokenResponse:
       (
          tResult: integer; //登录返回值
          tMsg:String[100]; //登录返回信息
        );

       cmdQuit:
       (
          qUID: string[32];
       );

       cmdQuitResponse:
       (
          qMsg: string[100];//退出返回信息
          qResult: integer;//退出返回值
       );

       cmdShutDownResponse:
       (
          sMsg: string[100];//关机返回信息
          sResult:integer;  //关机返回值
        );

      cmdMessage:
      (
          mUID: string[32];//用户UID号
          mMsg: string[250];//用户发送信息
       );

      cmdMessageResponse:
      (
          mrMsg: string[250];//服务器发送信息
       );

       cmdStream:
       (
          srMode:integer;  //模式 0-抓取屏幕 1-接收文件
          srUID:string[32]; //用户UID
          srPath:string[255];//保存路径
          srStreamLen: Int64;//流长度
        );

      cmdStreamResponse:
      (
          srpMode:integer;  //模式 0-接收屏幕捕获 1-接收文件
          srpUID:string[32]; //用户UID
          srpPath:string[255];//保存路径
          SrptreamLen: Int64;//流长度
       );

      cmdGetBalance:
      (
          gUID: string[32];//用户UID
       );

       cmdGetBalanceResponse:
       (
         gMsg: string[100];//余额返回信息
         gResult:integer;  //余额返回值
         gCharge:double;   //返回余额
        );

        cmdSetConfigResponse:
        (
          scServerPort: integer;//服务器通讯端口
          scLocalPort: integer; //客户端通讯端口
          scEcardAddr: string[100];//一卡通验证服务器
          scHomeAddr: string[100];//设定主页地址
          scElibAddr: string[100];//设定数字化资源地址
          scFilePath: string[255];//保存文件路径
         );

        cmdInfo:
        (
          iMACAddr: string[20];//MAC地址
          iHostName: string[20];//主机名
         );

        cmdRunMode:
        (
          rmRunMode: integer;//运行模式1-锁定 2-免证 3-解除锁定
        );

        cmdRunModeResponse:
        (
          rRunMode: integer;//运行模式1-锁定 2-免证 3-解除锁定 4-非管理主机
        );


end;

//---------------------------------------------------------------------//
type
 TSIU_RD_SystemServerConfig = record
    UserServerURL:string;
    ChargeServerURL:string;
    TokenServerURL:string;
    UtilServerURL:string;
    ManItem:String;
    DebitItem:string;
    BindIP:string;
    GateItem:string;
    GateAction:string;
    ListenQueue:integer;
    TCPTimeOut:integer;
    BindPort:integer;
    ExePath:string;
    SysTime:string;
  end;

   type
   TSIU_RD_EquInfo = record
          C_ID:String;
          C_IP:string;
          C_MAC:string;
          C_DESC:string;
          C_STATUS:string;//运行模式1-锁定 2-免证 3-解除锁定 -1 锁定未开机 -2 免证未开机  负数为关机
   end;

 type
   TSIU_RD_ClientConfig = record
   C_HostURL:string;
   C_DigitalURL:string;
   C_CTimeOut:integer;
   C_BindPort:integer;
  end;

 type
   TSIU_RD_ChargeRate = record
   C_Group:string;
   C_Percent:double;
   C_StartTime:TDateTime;
   C_StopTTime:TDateTime;
   C_WeekDay:integer;
   C_HourFrom:integer;
   C_MinFrom:integer;
   C_HourTo:integer;
   C_MinTo:integer;
   C_Mode:string;
  end;

 type
   TSIU_RD_ManagerConfig = record
    WaitTime:integer;
    SIDTime:integer;
    CheckTime:integer;
    GuardRate:double;
    OutRate:double;
    SFilePath:string;
    CFilePath:string;
    ClientCheckTime:integer;
    floatRate:double;
  end;

type
    TSIU_RD_SystemPlug = record
    PlugInfo:array of array of string;
    PlugInfoLth:integer;
end;

type
    TSIU_RD_FormName = record
    FormNameInfo:array of array of string;
    FormNameLth:integer;
end;

type
    TSIU_RD_FormPlug = record
    FormPlugInfo:array of array of string;
    FormPlugLth:integer;
end;

type
    TSIU_RD_FormCharge = record
    FormChargeInfo:array of array of string;
    FormChargeLth:integer;
end;

type
    TSIU_RD_OPSerInfo = record
    lid:string;
    ltype:string;
    sid:string;
    uid:string;
    group:string;
    item:string;
    status:string;
    name:string;
end;

//---------------------------------------------------------------------//

//----------------------------------类---------------------------------//
type
  TSIU_CL_OPInfo = class
  private

  public
    procedure SIU_CL_OI_CleanInfo;
    { Public declarations }
  end;

type
  TSIU_CL_UserInfo = class
  private

  public
      U_ID:string;
      U_OUTER_ID:string;
      U_ZJ_ID:string;
      U_ZJ_TYPE:string;
      U_CARD_ID:string;
      U_LOGIN_ID:string;
      U_PWD:string;
      U_GROUP:string;
      U_ITEM:string;
      U_STATUS:string;
      U_BARCODE:string;
      U_NAME:string;
      U_SEX:string;
      U_BIRTHDAY:TDatetime;
      U_NATION:string;
      U_EDUCATION:string;
      U_PROTITLE:string;
      U_PROFESSION:string;
      U_COUNTRY:string;
      U_PROVINCE:string;
      U_COUNTY:String;
      U_COMPANY:string;
      U_ADDRESS:string;
      U_POSTCODE:String;
      U_TEL:String;
      U_MOBILE:string;
      U_EMAIL:string;
      U_EN_EMAIL:String;
      U_REG_DATE:TDatetime;
      U_CHK_DATE:TDatetime;
      U_EXP_DATE:TDatetime;
      U_MOD_DATE:TDatetime;
      M_OP_DATE:TDatetime;
      U_PHOTO:string;
      U_External:string;
      U_Balance:double;
      U_InIP:string;
      U_InHostName:string;
      U_OldBalance:double;
    procedure SIU_CL_OI_CleanInfo;
    procedure clone(tpScu:TSIU_CL_UserInfo);
    procedure ofarray (var arraystring:array of string);
    procedure arraytoclone(arraystring:array of string);
    { Public declarations }
  end;

type
  TSIU_SVR_DistInfo=class
    private

  public
    SVR_DictInfo:array of array of string;
    SVR_DictInfoLth:integer;
    procedure SIU_SVR_DistInfo_CleanInfo;
    procedure SIU_SVR_DistInfo_Oder(index:integer);
    { Public declarations }
  end;

  type
  TSIU_SVR_ArrayInfo=class
    private

  public
    function SIU_SVR_GetArray(SerText:string;CurArray:array of string):integer;
    { Public declarations }
  end;

  type
  TSIU_SVR_SWITCHITEM=class
  private
  public
    procedure SIU_SVR_SWITCHBINHEX(SwitthType:integer;var BinText,HexText:string);
    {
     1.BinToHex
     2.HexToBin
    }
    { Public declarations }
  end;
//---------------------------------------------------------------------//


var
  SIU_I:integer;
//--------------------------------枚举---------------------------------//
  SIU_ENUM_ChlidFormShow:TSIU_ENUM_ChlidFormShow;
 
//---------------------------------------------------------------------//

//--------------------------------结构---------------------------------//
  SIU_RD_FormName:TSIU_RD_FormName;
  SIU_RD_FormPlug:TSIU_RD_FormPlug;
  SIU_RD_FormCharge:TSIU_RD_FormCharge;
  SIU_RD_SystemPlug:TSIU_RD_SystemPlug;
  SIU_RD_SystemServerConfig:TSIU_RD_SystemServerConfig;
  SIU_RD_OPSerInfo:TSIU_RD_OPSerInfo;
  SIU_RD_ManagerConfig:TSIU_RD_ManagerConfig;
  SIU_RD_ClientConfig:TSIU_RD_ClientConfig;
  SIU_RD_ChargeRate: TSIU_RD_ChargeRate;
//---------------------------------------------------------------------//

//----------------------------------类---------------------------------//
  SIU_CL_OPInfo:TSIU_CL_OPInfo;
  SIU_CL_UserInfo:TSIU_CL_UserInfo;
  SIU_SVR_DistInfo:array of TSIU_SVR_DistInfo;
  SIU_SVR_ArrayInfo:TSIU_SVR_ArrayInfo;
  SIU_SVR_SWITCHITEM:TSIU_SVR_SWITCHITEM;
//---------------------------------------------------------------------//

implementation

procedure TSIU_SVR_SWITCHITEM.SIU_SVR_SWITCHBINHEX(SwitthType:integer;var BinText,HexText:string);
var
i,j,k:integer;
TmpStr:string;
m:extended;
begin

  if SwitthType=1 then
   begin

     BinText:=BinText;
     HexText:='';
     i:=Length(BinText)+3;
     for j:=1 to ((Length(BinText)+3) div 4) do
     begin

       TmpStr:='';
       if j<=(Length(BinText) div 4) then
       begin

        HexText:=HexText+inttohex(strtoint(BinText[(j-1)*4+1])*8+strtoint(BinText[(j-1)*4+2])*4
        +strtoint(BinText[(j-1)*4+3])*2+strtoint(BinText[(j-1)*4+4]),1);

       end
       else
       begin

        for k:=1 to (Length(BinText)-(j-1)*4) do
         m:=StrtoInt(BinText[(j-1)*4+k])*Power(2,k-1)+m;
         HexText:=HexText+inttohex(strtoint(FloatToStr(m)),1);
       end;

     end;


   end;

  if SwitthType=2 then

⌨️ 快捷键说明

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