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

📄 hardwareinitialize_f_usbitem.pas

📁 汽车行驶记录仪的数据初始化组件
💻 PAS
字号:
unit HardWareInitialize_F_USBItem;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, StrUtils, DB, ADODB;

type
  TfrmUSBItem = class(TForm)
    panMain: TPanel;
    GroupBox1: TGroupBox;
    gboxItem: TGroupBox;
    Label1: TLabel;
    edtPassword: TEdit;
    btnOK: TButton;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    GroupBox4: TGroupBox;
    Label2: TLabel;
    edtStandardValue: TEdit;
    Label3: TLabel;
    edtRealValue: TEdit;
    Label4: TLabel;
    edtSensorParam: TEdit;
    cb1: TCheckBox;
    cb2: TCheckBox;
    cb3: TCheckBox;
    btnCancel: TButton;
    Label5: TLabel;
    edtCheckParam: TEdit;
    ADOQuery: TADOQuery;
    procedure btnCancelClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormInit;
    procedure edtStandardValueEnter(Sender: TObject);
    procedure edtStandardValueExit(Sender: TObject);
    procedure edtStandardValueKeyPress(Sender: TObject; var Key: Char);
    procedure edtRealValueEnter(Sender: TObject);
    procedure edtRealValueExit(Sender: TObject);
    procedure edtRealValueKeyPress(Sender: TObject; var Key: Char);
    procedure edtSensorParamExit(Sender: TObject);
    procedure edtSensorParamKeyPress(Sender: TObject; var Key: Char);
    procedure btnOKClick(Sender: TObject);
    procedure edtCheckParamExit(Sender: TObject);
    procedure edtCheckParamKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmUSBItem: TfrmUSBItem;

implementation
uses
  HardWareInitialize_F;
{$R *.dfm}

procedure TfrmUSBItem.btnCancelClick(Sender: TObject);
begin
  Close;
end;

procedure TfrmUSBItem.FormShow(Sender: TObject);
begin
  FormInit;
end;

procedure TfrmUSBItem.FormInit;
begin
  edtStandardValue.Text:='40公里/小时';
  edtRealValue.Text:='40公里/小时';
  edtSensorParam.Text:='8';
  cb1.Checked:=False;
  cb2.Checked:=False;
  cb3.Checked:=False;
  edtPassword.Text:='';
  edtCheckParam.Text:='0';
end;

procedure TfrmUSBItem.edtStandardValueEnter(Sender: TObject);
begin
  if edtStandardValue.Text='公里/小时' then
    edtStandardValue.Text:=''
  else
    edtStandardValue.Text:=LeftStr(edtStandardValue.Text,Length(edtStandardValue.Text)-9);
end;

procedure TfrmUSBItem.edtStandardValueExit(Sender: TObject);
begin
  if Trim(edtStandardValue.Text)='' then
    edtStandardValue.Text:= '40公里/小时'
  else
    edtStandardValue.Text:=edtStandardValue.Text+'公里/小时';
end;

procedure TfrmUSBItem.edtStandardValueKeyPress(Sender: TObject;
  var Key: Char);
begin
  if not ( key in ['0'..'9',#8,#13]) then
    key := #0;
  if key = #13 then
    edtRealValue.Setfocus;
end;

procedure TfrmUSBItem.edtRealValueEnter(Sender: TObject);
begin
  if edtRealValue.Text='公里/小时' then
    edtRealValue.Text:=''
  else
    edtRealValue.Text:=LeftStr(edtRealValue.Text,Length(edtRealValue.Text)-9);
end;

procedure TfrmUSBItem.edtRealValueExit(Sender: TObject);
begin
  if Trim(edtRealValue.Text)='' then
    edtRealValue.Text:= '40公里/小时'
  else
    edtRealValue.Text:=edtRealValue.Text+'公里/小时';
end;

procedure TfrmUSBItem.edtRealValueKeyPress(Sender: TObject; var Key: Char);
begin
  if not ( key in ['0'..'9',#8,#13]) then
    key := #0;
  if key = #13 then
    edtSensorParam.Setfocus;
end;

procedure TfrmUSBItem.edtSensorParamExit(Sender: TObject);
begin
  if Trim(edtSensorParam.Text)='' then
    edtSensorParam.Text:='8';
end;

procedure TfrmUSBItem.edtSensorParamKeyPress(Sender: TObject;
  var Key: Char);
begin
  if not ( key in ['0'..'9',#8,#13]) then
    key := #0;
  if key = #13 then
    edtCheckParam.Setfocus;
end;

procedure TfrmUSBItem.edtCheckParamExit(Sender: TObject);
begin
  if Trim(edtCheckParam.Text)='' then
    edtCheckParam.Text:='0';
end;

procedure TfrmUSBItem.edtCheckParamKeyPress(Sender: TObject;
  var Key: Char);
begin
  if not ( key in ['0'..'9','-',#8,#13]) then
    key := #0;
  if key = #13 then
    cb1.Setfocus;
end;

procedure TfrmUSBItem.btnOKClick(Sender: TObject);
var
  strTmp1,strTmp2: String;
  intHigh,intLow,intTmp: Integer;
  byteTmp1,byteTmp2,byteTmp3: Byte;
  strSql: String;
begin
  strSql:='SELECT hcPassword FROM HardwareCtrlPassword';
  Adoquery.Active:=False;
  Adoquery.SQL.Clear;
  Adoquery.SQL.Add(strSql);
  Adoquery.Open;
  if trim(ADOQuery.FieldByName('hcPassword').AsString)=trim(edtPassword.Text) then
  begin
    byteTmp1:=$FF;
    byteTmp2:=$FF;
    byteTmp3:=$FF;
    strTmp1:=LeftStr(edtStandardValue.Text,Length(edtStandardValue.Text)-9);
    //intHigh:=StrToInt(strTmp1) div 16;
    //intLow:=StrToInt(strTmp1)-intHigh*16;
    //strTmp1:=IntToStr(intHigh)+IntToStr(intLow);
    strTmp2:=LeftStr(edtRealValue.Text,Length(edtRealValue.Text)-9);
    //intHigh:=StrToInt(strTmp2) div 16;
    //intLow:=StrToInt(strTmp2)-intHigh*16;
    //strTmp2:=IntToStr(intHigh)+IntToStr(intLow);
    HardWareInitialize_F.strSpeedCheck:=Chr(StrToInt(strTmp1))+Chr(StrToInt(strTmp2));
    if Trim(LeftStr(edtCheckParam.Text,1))<>'-' then
      intTmp:=StrToInt(edtCheckParam.Text)
    else
      intTmp:=0-StrToInt(RightStr(edtCheckParam.Text,Length(edtCheckParam.Text)-1));
    intTmp:=Round(65535-StrToInt(frmHardWardInit.edtParameter.Text)*StrToInt(edtSensorParam.Text)*0.1)+intTmp;
    intHigh:=intTmp div 256;
    intLow:=intTmp-intHigh*256;
    HardWareInitialize_F.strKmCheck:=Chr(intLow)+ Chr(intHigh);
    if cb1.Checked then
      byteTmp1:=$A5;
    if cb2.Checked then
      byteTmp2:=$A5;
    if cb3.Checked then
      byteTmp3:=$A5;
    HardWareInitialize_F.strMemClearCheck:=Chr(byteTmp1)+Chr(byteTmp2)+Chr(byteTmp3);
    Close;
  end
  else
    Showmessage('口令错误');
end;

end.

⌨️ 快捷键说明

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