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

📄 setmod.pas

📁 delphi6.0电子寻更源程序,用来计算保安有无查抄
💻 PAS
字号:
unit setmod;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, ComCtrls,gvas,recethr, Buttons ;

type
  TSETMODForm = class(TForm)
    SStatusBar: TStatusBar;
    Panel1: TPanel;
    Panel2: TPanel;
    GroupBox1: TGroupBox;
    buzzRadioB: TRadioButton;
    quietRadioB: TRadioButton;
    Button1: TBitBtn;
    BitBtn1: TBitBtn;
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormPaint(Sender: TObject);
    procedure FormResize(Sender: TObject);
  private
    { Private declarations }
    procedure threaddone(SENDER:TOBJECT);
    procedure echomess(var  x1:tmessage); message WM_MESSAGE1;
  public
    { Public declarations }
  end;

var
  SETMODForm: TSETMODForm;

implementation
uses  menu;
{$R *.DFM}
procedure TSETMODForm.Button1Click(Sender: TObject);
var
  p1:pchar;
  comname,INIFile:string;
  chmodel:boolean;
begin
  //CommSB.panels[0].text:='';
  //CommSB.panels[1].text:='';
  //CommSB.panels[2].text:='';
  if  buzzRadioB.Checked=true then
  chmodel:=true
  else
  chmodel:=false;
  try
    getmem(p1,16);
    comname:='';
    //INIFile:=ExtractFileDir(APPLICATION.EXENAME)+'\HdXGXT.INI';
    inifile:=ExtractFiledir(APPLICATION.EXENAME)+'\'+ExtractFilename(APPLICATION.EXENAME);//+'\hdxgxt.ini';
  if not fileexists(inifile) then
  inifile:=ExtractFileDir(APPLICATION.EXENAME)+'hdxgxt.ini'
  else inifile:=extractfiledir(application.exename)+'\hdxgxt.ini';
  if not fileexists(INIFile) then
    begin
      Application.MessageBox('需要设定串行通讯口','消息',MB_ICONINFORMATION);
      exit;
    end  else
    begin
      getprivateprofilestring('comports','comportsnumber','01',p1,16,pchar(INIFile));
      comname:=p1;
      if strtoint(comname)<0 then
      begin
        Application.MessageBox('串口设置信息丢失,请重新设置串行口','消息',MB_ICONINFORMATION);
        exit;
      end;
      with Tsetpenmod.Create(self.handle,strtoint(comname)+1,SStatusBar,chmodel)  do
      BEGIN
        OnTerminate := ThreadDone;
      END;
      button1.enabled:=FALSE;
      bitbtn1.Enabled:=FALSE;
    end;
  finally
    freemem(p1,16);
  end;
end;
procedure Tsetmodform.threaddone(SENDER:TOBJECT);
BEGIN
  button1.enabled:=true;
  bitBtn1.Enabled:=true;
END;

procedure Tsetmodform.echomess(var  x1:tmessage);
BEGIN
    case ord(x1.WParam) of
    Msg_Comm:
      begin
        case ord(x1.lparam) of
          Msg_Comm_InitSuccess:SStatusBar.Panels[0].TEXT:='串口初始化成功';
          Msg_Comm_InitFale:Application.MessageBox('串口初始化出错','消息',MB_ICONINFORMATION);
          Msg_Comm_DeviceErr:Application.MessageBox('通讯设备不正常,请检查通讯器、连接线和电源','消息',MB_ICONINFORMATION);
          Msg_Comm_comerror:Application.MessageBox('通讯失败!可能是您没有正确地选择串行口,请检查!','消息',MB_ICONINFORMATION);
        end;
      end;
    Msg_Pen:
      begin
        case ord(x1.lparam) of
          Msg_Pen_detecting:SStatusBar.Panels[0].text:='正在联接巡更笔..';
          Msg_Pen_present:SStatusBar.Panels[0].text:='联接到巡更笔';
          Msg_Pen_absent:SStatusBar.Panels[0].text:='联接巡更笔失败!';
          Msg_Pen_setpenmod:SStatusBar.Panels[0].text:='正在设置工作方式...';
          Msg_Pen_setpenmodSucc:SStatusBar.Panels[0].text:='设置工作方式成功!';
          Msg_Pen_setpenmodfale:SStatusBar.Panels[0].text:='设置工作方式失败!';
        end;
      end;
  else ;
  end;

END;

procedure TSETMODForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
SETMODForm :=nil ;
end;

procedure TSETMODForm.BitBtn1Click(Sender: TObject);
begin
close;
end;

procedure TSETMODForm.FormActivate(Sender: TObject);
begin
self.Height:=163;
self.Width:=269;
self.Top:=90;
self.Left:=round((mainform.Width-self.Width)/2);

end;

procedure TSETMODForm.FormPaint(Sender: TObject);
begin
self.Height:=163;
self.Width:=269;
self.Top:=90;
self.Left:=round((mainform.Width-self.Width)/2);

end;

procedure TSETMODForm.FormResize(Sender: TObject);
begin
self.Height:=163;
self.Width:=269;
self.Top:=90;
self.Left:=round((mainform.Width-self.Width)/2);
end;

end.

⌨️ 快捷键说明

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