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

📄 remotecfg.~pas

📁 GPRS/CDMA DTU数据中心源代码,基于DataCenterX控件开发.
💻 ~PAS
📖 第 1 页 / 共 4 页
字号:
  frmremotecfg.Memo1.Lines.Add(frmremotecfg.StatusBar1.Panels[3].Text);
  result:=r;
end;

function  ReadData(socket:integer):string;
var a,s:string;
    len,i:integer;
    ACC:word;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_CTRL_READDATA,chr(socket div 256)+chr(socket mod 256)));
  s:=waitcomdata(4000*8);
  if s='' then
  begin
    frmremotecfg.StatusBar1.Panels[3].Text:='[数据读取失败,设备无响应!]';
    frmremotecfg.memo1.Lines.add(frmremotecfg.StatusBar1.Panels[3].Text);
    result:='';
    exit;
  end;

  if ((s[1]<>chr(FRAME_HEAD1)) or (s[2]<>chr(FRAME_HEAD2))) then
  begin
     frmremotecfg.StatusBar1.Panels[3].Text:='[数据读取失败,返回数据包头非法!]';
     frmremotecfg.memo1.Lines.add(frmremotecfg.StatusBar1.Panels[3].Text);
     result:='';
     exit;
  end;

  if s[5]<>chr(CMD_REPLYDATA) then
  begin
     frmremotecfg.StatusBar1.Panels[3].Text:='[数据读取失败,返回数据包命令字非法!]';
     frmremotecfg.memo1.Lines.add(frmremotecfg.StatusBar1.Panels[3].Text);
     result:='';
     exit;
  end;

  len:=ord(s[3])*256+ord(s[4]);

  ACC:=0;
  for I:=3 to LENGTH(S)-2 do
  BEGIN
     ACC:=ACC+ord(S[I]);
  END;

  if acc<>ord(s[length(s)-1])*256+ord(s[length(s)]) then
  begin
     frmremotecfg.StatusBar1.Panels[3].Text:='[数据读取失败,返回数据包校验错!]';
     frmremotecfg.memo1.Lines.add(frmremotecfg.StatusBar1.Panels[3].Text);
     result:='';
     exit;
  end;
  a:=copy(s,6,len-3);
  result:=a;
end;

function  Disconnect(socket:integer):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_CTRL_DISCONNECT,chr(socket div 256)+chr(socket mod 256)));
  result:=waitreply;
end;

function  CloseSocket(socket:integer):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_CTRL_CLOSESOCKET,chr(socket div 256)+chr(socket mod 256)));
  result:=waitreply;
end;
//---------------------------------------------------

function EnterTransMode:integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_ENTERTRANSMODE,''));
  result:=waitreply;
end;

function EnterATMode:integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_ENTERATMODE,''));
  result:=waitreply;
end;

//---------setting funcitons-----------------------------

function Reset:integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_RESET,''));
  result:=waitreply;
end;

function GetStatus:integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_CTRL_GETSTATUS,''));
  result:=wait_status;
end;

function SetStatus(status:integer):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_CTRL_SETSTATUS,chr(status)));
  result:=waitreply;
end;

function SetWorkMode(workmode:integer):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_WORKMODE,chr(workmode)) );
  result:=waitreply;
end;

function SetSocketType(sockettype:integer):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_SOCKETTYPE,chr(sockettype)) );
  result:=waitreply;
end;

function  SetAPN(APN:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_APN,APN) );
  result:=waitreply;
end;

function SetAPNUserName(accstr:string):integer; 
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_APNUSERNAME,accstr));
  result:=waitreply;
end;

function SetAPNPwd(pwdstr:string):integer; 
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_APNPWD,pwdstr));
  result:=waitreply;
end;


function  SetBaudrate(Baudrate:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_BAUDRATE,Baudrate));
  result:=waitreply;
end;

function SetDNSIP(DNSIP:string):integer;//注意此时的dnsip是四字节的数值
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_DNSIP,DNSIP));
  result:=waitreply;
end;

function SetCenter1DN(CenterDN:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_CENTER1DN,CenterDN));
  result:=waitreply;
end;

function SetCenter2DN(CenterDN:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_CENTER2DN,CenterDN));
  result:=waitreply;
end;

function SetCenter3DN(CenterDN:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_CENTER3DN,CenterDN));
  result:=waitreply;
end;

function SetCenter1IP(CenterIP:string):integer;//注意此时的centerip是四字节的数值
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_CENTER1IP,CenterIP));
  result:=waitreply;
end;

function SetCenter2IP(CenterIP:string):integer;//注意此时的centerip是四字节的数值
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_CENTER2IP,CenterIP));
  result:=waitreply;
end;

function SetCenter3IP(CenterIP:string):integer;//注意此时的centerip是四字节的数值
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_CENTER3IP,CenterIP));
  result:=waitreply;
end;

function SetLocalPort(Port:string):integer;//注意此时的port是2字节的数值
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_LOCALPORT,port));
  result:=waitreply;
end;

function SetCenterPort(Port:string):integer;//注意此时的port是2字节的数值
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_CENTERPORT,port));
  result:=waitreply;
end;


function SetBeatTime(beattime:string):integer;//注意此时的beattime是2字节的数值
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_BEATTIME,beattime));
  result:=waitreply;
end;

function SetKeyTime(keytime:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_KEYTIME,keytime));
  result:=waitreply;
end;


function SetDtuId(Id:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_DTUID,Id));
  result:=waitreply;
end;

function SetDtuPhno(Phno:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_DTUPHNO,Phno));
  result:=waitreply;
end;

function SetLoginPwd(Pwd:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_LOGINPWD,Pwd));
  result:=waitreply;
end;


function SetDefaultCfg:integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_SETDEFAULT,''));
  result:=waitreply;
end;

function SetKeyChr(KeyChr:string):integer;
begin
//  G_KEYCHR:=ord(keychr[1]);
  G_KEYCHR:=keychr;
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_KEYCHR,KeyChr));
  result:=waitreply;
end;

//-------super params
function SetATMonTime(atmontime:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_ATMONTIME,atmontime));
  result:=waitreply;
end;

function SetATLossMaxCount(count:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_ATLOSSMAXCOUNT,count));
  result:=waitreply;
end;

function SetATMaxWait(wtime:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_ATMAXWAIT,wtime));
  result:=waitreply;
end;

function SetGSMLossMaxCount(count:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_GSMLOSSMAXCOUNT,count));
  result:=waitreply;
end;

function SetGPRSMonTime(montime:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_GPRSMONTIME,montime));
  result:=waitreply;
end;

function SetGPRSLossMaxCount(count:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_GPRSLOSSMAXCOUNT,count));
  result:=waitreply;
end;

function SetGPRSMaxWait(wtime:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_GPRSMAXWAIT,wtime));
  result:=waitreply;
end;

function SetCenterLossMaxCount(count:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_CENTERLOSSMAXCOUNT,count));
  result:=waitreply;
end;

function SetBeatMaxWait(wtime:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_BEATMAXWAIT,wtime));
  result:=waitreply;
end;

function SetLoginMaxWait(wtime:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_LOGINMAXWAIT,wtime));
  result:=waitreply;
end;

function SetLoginFailMaxCount(count:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_LOGINFAILMAXCOUNT,count));
  result:=waitreply;
end;

function SetTCPWinSize(size:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_TCPWINSIZE,size));
  result:=waitreply;
end;

function SetTCPOVT_ResendBeginTime(btime:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_TCPOVT_RESENDBEGINTIME,btime));
  result:=waitreply;
end;

function SetTCPOVT_ResendCount(count:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_TCPOVT_RESENDCOUNT,count));
  result:=waitreply;
end;

function SetDNSMaxWait(wtime:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_DNSMAXWAIT,wtime));
  result:=waitreply;
end;

function SetDNSFailMaxCount(count:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_DNSFAILMAXCOUNT,count));
  result:=waitreply;
end;

{
function SetModuleLoseTime(losetime:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_MODULELOSETIME,losetime));
  result:=waitreply;
end;
function SetGSMLoseTime(losetime:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_GSMLOSETIME,losetime));
  result:=waitreply;
end;
function SetGPRSLoseTime(losetime:string):integer;
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_GPRSLOSETIME,losetime));
  result:=waitreply;
end;
}



function GetParamValue(cmds:string):string;  //输出为字符串
begin
  frmremotecfg.xmodem1.SendString(BuildDataPacket(CMD_GETPARAM,cmds));
  result:=waitcomdata(4000*8);
end;
//--------------------------------------------------------------

procedure AddParamItem(CmdID:String;ParamName:String;paramval:string;describe:string);
var listitem:tlistitem;
begin
    listitem:=frmremotecfg.ListView1.Items.Add;
    listitem.Caption:=cmdid;
    listitem.SubItems.Add(paramname);    
    listitem.SubItems.Add(paramval);
    listitem.SubItems.Add(describe);    
end;

procedure showedit(maxlen:integer;mask:string);
begin
  frmremotecfg.gedit.MaxLength:=maxlen;
  geditmask:=mask;
  frmremotecfg.gedit.Visible:=true;  frmremotecfg.gcombobox.Visible:=false;
end;
procedure showcombo;
begin
  frmremotecfg.gedit.Visible:=false;  frmremotecfg.gcombobox.Visible:=true;
end;

procedure   SetActiveItem(ItemIndex:integer);
var listitem:tlistitem;
    cmd:byte;
begin
  if frmremotecfg.ListView1.Items[itemindex]=nil then exit;
  listitem:=frmremotecfg.listview1.items[itemindex];
  frmremotecfg.GLabel.caption:=listitem.subitems[0];
  //------prepare values-----------
  with frmremotecfg do
  begin
    gcombobox.Items.clear;
    gcombobox.text:=listitem.SubItems[1];
    GEdit.text:=listitem.SubItems[1];

    cmd:=strtohex(listitem.Caption);

    case cmd of

            CMD_WORKMODE:
            begin
              showcombo;
              gcombobox.Items.Add('透明传输模式');
              gcombobox.Items.Add('用户控制模式');
              gcombobox.Items.Add('工业MODEM模式');
            end;

            CMD_SOCKETTYPE:
            begin
              showcombo;
              gcombobox.Items.Add('TCP');
              gcombobox.Items.Add('UDP');
            end;


            CMD_APN,CMD_APNUSERNAME,CMD_APNPWD:  showedit(16,'');

            CMD_BAUDRATE:
            begin
              showcombo;
              gcombobox.Items.Add('38400');
              gcombobox.Items.Add('19200');
              gcombobox.Items.Add('9600');
              gcombobox.Items.Add('4800');
              gcombobox.Items.Add('2400');
              gcombobox.Items.Add('1200');
            end;

            CMD_DNSIP: showedit(15,'0123456789.');

            CMD_CENTER1DN,CMD_CENTER2DN,CMD_CENTER3DN: showedit(32,'');
            CMD_CENTER1IP,CMD_CENTER2IP,CMD_CENTER3IP: showedit(15,'0123456789.');

//            CMD_LOCALPORT,CMD_CENTERPORT,CMD_BEATTIME,CMD_MODULELOSETIME,CMD_GSMLOSETIME,CMD_GPRSLOSETIME,CMD_KEYTIME:    showedit(5,'0123456789');
            CMD_LOCALPORT,CMD_CENTERPORT,CMD_BEATTIME,CMD_KEYTIME:    showedit(5,'0123456789');

            CMD_ATMONTIME,CMD_ATMAXWAIT,CMD_GPRSMONTIME,CMD_GPRSMAXWAIT,CMD_BEATMAXWAIT,CMD_LOGINMAXWAIT,CMD_TCPOVT_RESENDBEGINTIME,CMD_DNSMAXWAIT:showedit(4,'0123456789');
            CMD_ATLOSSMAXCOUNT,CMD_GSMLOSSMAXCOUNT,CMD_GPRSLOSSMAXCOUNT,CMD_CENTERLOSSMAXCOUNT,CMD_LOGINFAILMAXCOUNT,CMD_TCPWINSIZE,CMD_TCPOVT_RESENDCOUNT,CMD_DNSFAILMAXCOUNT:showedit(2,'0123456789');

            CMD_DTUID:showedit(8,'');
            CMD_DTUPHNO:showedit(16,'0123456789');
            CMD_LOGINPWD:showedit(6,'');
            CMD_KEYCHR:
            begin
                showedit(3,'0123456789ABCDEF');
            end;
    end;
  end;

end;

procedure TfrmRemoteCfg.FormCreate(Sender: TObject);
begin
  G_SuperFlag:=false;
  G_KEYCHR:=chr($FF)+chr($FF);
  G_TMData:='';
  LineGet:=TLineGet.create;
  LineGet.Init;
  xmodem1:=tdtucom.Create;
  xmodem1.dataocx:=frmMain.DataCenterX1;
end;

procedure TfrmRemoteCfg.Timer1Timer(Sender: TObject);
var tip,s:string;
    i:integer;

⌨️ 快捷键说明

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