?? hardwareinitialize_f_usbitem.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 + -