亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hardwareinitialize_f.~pas

?? 汽車行駛記錄儀的數據初始化組件
?? ~PAS
?? 第 1 頁 / 共 3 頁
字號:
unit HardWareInitialize_F;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, FileCtrl,
  Dialogs, ExtCtrls, StdCtrls, Buttons, ComCtrls, DB, ADODB, pasMyComm, StrUtils, ComObj;

type
  TCheckThread=class(TThread)
  protected
    procedure Execute;override;
  public
    bCheckThread:boolean;
  end;
  TReceiveStatus = (
    rComOpen,       //打開
    rComStop);       //關閉
  TfrmHardWardInit = class(TForm)
    Panel1: TPanel;
    Panel3: TPanel;
    btnClose: TButton;
    GroupBox1: TGroupBox;
    RadioGroup: TRadioGroup;
    GroupBox2: TGroupBox;
    labCar_LicensePlate: TLabel;
    edtCar_LicensePlate: TEdit;
    labCar_LicensePlateColor: TLabel;
    edtCar_LicensePlateColor: TEdit;
    btnOK: TBitBtn;
    GroupBox3: TGroupBox;
    GroupBox4: TGroupBox;
    edtDriverLicence3: TEdit;
    Label5: TLabel;
    Label4: TLabel;
    edtDriverLicence2: TEdit;
    edtDriverLicence1: TEdit;
    Label8: TLabel;
    edtDriverID1: TEdit;
    edtDriverID2: TEdit;
    edtDriverID3: TEdit;
    Label3: TLabel;
    Label2: TLabel;
    Label1: TLabel;
    GroupBox5: TGroupBox;
    Label6: TLabel;
    edtVIN: TEdit;
    Label7: TLabel;
    Label9: TLabel;
    edtTime: TEdit;
    edtParameter: TEdit;
    Label13: TLabel;
    Label15: TLabel;
    edtCarType: TEdit;
    edtLicensePlate: TEdit;
    btnSendData: TBitBtn;
    btnSelectColor: TButton;
    Label17: TLabel;
    edtDriverID4: TEdit;
    Label18: TLabel;
    edtDriverLicence4: TEdit;
    Label19: TLabel;
    edtDriverID5: TEdit;
    Label20: TLabel;
    edtDriverLicence5: TEdit;
    ADOConnection: TADOConnection;
    ADOQuery: TADOQuery;
    btnOpenCom: TBitBtn;
    OpenDialog: TOpenDialog;
    btnCloseComm: TButton;
    Label10: TLabel;
    edtDeviceID: TEdit;
    Label11: TLabel;
    Label12: TLabel;
    edtFirstDown: TEdit;
    edtMaxSpeed: TEdit;
    panCOM1Sign: TPanel;
    panCOM2Sign: TPanel;
    panCOM3Sign: TPanel;
    lbCarLicList: TListBox;
    panCOM4Sign: TPanel;
    panCOM5Sign: TPanel;
    panCOM6Sign: TPanel;
    ProgressBar: TProgressBar;
    btnUSBItem: TButton;
    procedure btnCloseClick(Sender: TObject);
    function getData:Boolean;
    procedure btnOKClick(Sender: TObject);
    procedure btnOpenComClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure RadioGroupClick(Sender: TObject);
    procedure btnSendDataClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure formatData;
    procedure SendToUSB;
    procedure SendData;
    procedure btnCloseCommClick(Sender: TObject);
    procedure btnSelectColorClick(Sender: TObject);
    function DataCheck:Boolean;
    procedure AppMessage(var Msg: TMsg; var Handled: Boolean);
    procedure edtCar_LicensePlateDblClick(Sender: TObject);
    procedure lbCarLicListClick(Sender: TObject);
    procedure btnUSBItemClick(Sender: TObject);
    procedure edtCar_LicensePlateKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
    TestComm:TComm;  //使用TComm類
    CheckThread:TCheckThread;  //讀數據線程
  public
    { Public declarations }
  end;

var
  frmHardWardInit: TfrmHardWardInit;
  strCom: String;
  rReceiveStatus:TReceiveStatus;
  TempString: String;
  arrSendData: Array[0..11] of String;
  arrSendByte: array[0..8] of Byte;
  arrByteData: Array[0..1023] of Byte;
  strGB_CarLic: String;
  strGB_CarType: String;
  strGB_CarColor: String;
  strUsbDrive:String;
  intSendNum :Integer;
  arrCommand: Array[0..11] of String;
  strSpeedCheck: String;
  strKmCheck: String;
  strMemClearCheck: String;
const
  WM_RECEIVE_SUCCESS = WM_USER + 2000;    //發送成功
  WM_RECEIVE_FAILURE = WM_USER + 2001;    //發送超時
  WM_RECEIVE_CheckErr = WM_USER + 2002;    //發送超時
implementation
uses
  HardWareInitialize_IMP, HardWareInitialize_F_USBItem;
{$R *.dfm}

procedure TCheckThread.Execute;
var
  TempByte:Byte;
  i: Integer;
begin
  i:=0;
  while bCheckThread do
  begin
    if rReceiveStatus=rComOpen then         //超時
    begin
      if frmHardWardInit.TestComm.WaitForBytes(1,5000)=FALSE then
      begin
        bCheckThread:=False;
        PostMessage(frmHardWardInit.Handle,WM_RECEIVE_FAILURE,0,0);
        Continue;
      end;
    end;
    {if not frmHardWardInit.TestComm.GetCheckResult then
    begin
      bCheckThread:=False;
      PostMessage(frmHardWardInit.Handle,WM_RECEIVE_CheckErr,0,0);
      Continue;
    end; }
  //如果輸入隊列中有數據,讀入并在隊列中顯示出來
    if (frmHardWardInit.TestComm<>Nil) and (frmHardWardInit.TestComm.BytesInInQue>=1) then
    begin
      frmHardWardInit.TestComm.ReadData(@TempByte,1);
      TempString:=TempString+Format('%.2x', [TempByte]);
    end;
    if (TempString=arrCommand[i]) and (intSendNum<=11) then     //單片機返回正確幀,發送下一段數據
    begin
      sleep(1000);
      TempString:='';
      intSendNum:=intSendNum+1;
      rReceiveStatus:=rComStop;        //接收成功,停止接收
      frmHardWardInit.TestComm.ClearComm;
      i:=i+1;
      frmHardWardInit.ProgressBar.Position:=10+frmHardWardInit.ProgressBar.Position;
    end;
    //if (TempString=arrCommand[Length(arrCommand)-1]) and (intSendNum=11) then
   // if TempString=arrCommand[9] then
      if intSendNum=12 then
      begin
        //intSendNum:=
        bCheckThread:=False;
        PostMessage(frmHardWardInit.Handle,WM_RECEIVE_SUCCESS,0,0);
      end;
    if TempString='557AFB00D4' then   //單片機返回錯誤幀,重發當前幀
    begin
      TempString:='';
      //TempString:=arrCommand[i];
      //intSendNum:=intSendNum-1;
      //i:=i-1;
      rReceiveStatus:=rComStop;      //接收出錯,停止接收
    end;
    if rReceiveStatus=rComStop then       //接收完成,發送
      frmHardWardInit.SendData;
  end;
end;

procedure TfrmHardWardInit.btnCloseClick(Sender: TObject);
begin
  Close;
end;

function TfrmHardWardInit.getData:Boolean;
var
  strSql: String;
  //i: Integer;
  //j: Integer;
  intHigh: Integer;
  intLow: Integer;
begin
  strGB_CarLic:='';
  strGB_CarType:='';
  strGB_CarColor:='';
  strSql:='SELECT Driver_ID,Driver_Licence,Car_VIN,Car_CharacterParameter,Car_DeviceID,Car_FirstDownload,Car_Type,Car_SpeedUpperLimit,Car_LicensePlate,Car_LicensePlateColor from View_Info_Car_Driver where Car_LicensePlate='''+edtCar_LicensePlate.Text+''' and Car_LicensePlateColor='''+edtCar_LicensePlateColor.Text+''' order by DriverDefault';
  Adoquery.Close;
  Adoquery.SQL.Clear;
  Adoquery.SQL.Add(strSql);
  Adoquery.Open;
  if Adoquery.RecordCount=0 then
  begin
    ShowMessage('沒有找到符合條件的數據');
    Result:=False;
    Exit;
  end
  else
  begin
    edtVIN.Text:=Adoquery.FieldByName('Car_VIN').Value;
    edtTime.Text:=DateTimeToStr(Now);
    edtParameter.Text:=Adoquery.FieldByName('Car_CharacterParameter').Value;
    edtCarType.Text:=Adoquery.FieldByName('Car_Type').Value;
    edtLicensePlate.Text:=Adoquery.FieldByName('Car_LicensePlate').Value;
    edtDeviceID.Text:=Adoquery.FieldByName('Car_DeviceID').Value;
    edtFirstDown.Text:=Adoquery.FieldByName('Car_FirstDownload').Value;
    edtMaxSpeed.Text:=Adoquery.FieldByName('Car_SpeedUpperLimit').Value;
    if not Adoquery.Eof then
    begin
      edtDriverID1.Text:=Adoquery.FieldByName('Driver_ID').Value;
      edtDriverLicence1.Text:=Adoquery.FieldByName('Driver_Licence').Value;
      Adoquery.Next;
    end;
    if not Adoquery.Eof then
    begin
      edtDriverID2.Text:=Adoquery.FieldByName('Driver_ID').Value;
      edtDriverLicence2.Text:=Adoquery.FieldByName('Driver_Licence').Value;
      Adoquery.Next;
    end;
    if not Adoquery.Eof then
    begin
      edtDriverID3.Text:=Adoquery.FieldByName('Driver_ID').Value;
      edtDriverLicence3.Text:=Adoquery.FieldByName('Driver_Licence').Value;
      Adoquery.Next;
    end;
    if not Adoquery.Eof then
    begin
      edtDriverID4.Text:=Adoquery.FieldByName('Driver_ID').Value;
      edtDriverLicence4.Text:=Adoquery.FieldByName('Driver_Licence').Value;
      Adoquery.Next;
    end;
    if not Adoquery.Eof then
    begin
      edtDriverID5.Text:=Adoquery.FieldByName('Driver_ID').Value;
      edtDriverLicence5.Text:=Adoquery.FieldByName('Driver_Licence').Value;
      Adoquery.Next;
    end;
    {strSql:='SELECT GBCode FROM Code_GB WHERE GBCharacter='''+LeftStr(edtLicensePlate.Text,2)+'''';
    Adoquery.Close;
    Adoquery.SQL.Clear;
    Adoquery.SQL.Add(strSql);
    Adoquery.Open;
    if NOT Adoquery.Eof then
      strGB_CarLic:='蘇'
      //strGB_CarLic:=Chr(StrToInt('$'+Copy(Adoquery.FieldByName('GBCode').Value,1,2)))+Chr(StrToInt('$'+Copy(Adoquery.FieldByName('GBCode').Value,3,2)))
    else
    begin
      ShowMessage('該省份字庫中沒有找到,無法下載');
      Result:=False;
      Exit;
    end; }
    strGB_CarLic:=LeftStr(edtLicensePlate.Text,2);
    {
    j:=1;
    for i:=1 to (Length(edtCarType.Text) div 2) do
    begin
      strSql:='SELECT GBCode FROM Code_GB WHERE GBCharacter='''+Copy(edtCarType.Text,j,2)+'''';
      Adoquery.Close;
      Adoquery.SQL.Clear;
      Adoquery.SQL.Add(strSql);
      Adoquery.Open;
      if NOT Adoquery.Eof then
        strGB_CarType:=strGB_CarType+Chr(StrToInt('$'+Copy(Adoquery.FieldByName('GBCode').Value,1,2)))+Chr(StrToInt('$'+Copy(Adoquery.FieldByName('GBCode').Value,3,2)))
      else
      begin
        ShowMessage('該車輛類型字庫中沒有找到,無法下載');
        Result:=False;
        Exit;
      end;
      j:=j+2;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品1区2区在线观看| 一区二区三区国产精品| 亚洲欧洲精品成人久久奇米网| 一区二区在线观看不卡| 久久国产视频网| 日本韩国欧美在线| 国产亚洲一区二区三区在线观看| 亚洲与欧洲av电影| 国产99精品国产| 欧美一卡在线观看| 亚洲综合色噜噜狠狠| 成人午夜av影视| 久久影音资源网| 日韩精品成人一区二区在线| 91蝌蚪porny九色| 国产色产综合色产在线视频| 日韩高清一级片| 欧美亚洲综合在线| 亚洲免费观看视频| 成人免费视频免费观看| 久久综合色综合88| 激情综合色丁香一区二区| 欧美日本精品一区二区三区| 有坂深雪av一区二区精品| 国产盗摄精品一区二区三区在线| 日韩小视频在线观看专区| 亚洲一线二线三线久久久| 99久久精品情趣| 自拍偷拍欧美激情| av激情亚洲男人天堂| 国产精品久久久久一区二区三区共| 激情综合网激情| 久久久久久电影| 国产伦精品一区二区三区免费| 日韩欧美一级片| 美女一区二区视频| 精品久久国产97色综合| 国产一区福利在线| 久久久久久久国产精品影院| 国产69精品久久99不卡| 国产精品色婷婷| 99re66热这里只有精品3直播| 中文字幕亚洲精品在线观看| 一本大道av一区二区在线播放| 亚洲欧美激情小说另类| 色噜噜狠狠色综合中国| 亚洲香蕉伊在人在线观| 91精品福利在线一区二区三区| 美腿丝袜亚洲色图| 久久奇米777| 成人不卡免费av| 一区二区三区中文字幕电影| 欧美午夜一区二区三区免费大片| 五月天国产精品| 精品国产三级a在线观看| 国产精品一区在线观看你懂的| 国产精品乱子久久久久| 91视频在线看| 爽好久久久欧美精品| 精品美女在线播放| 不卡在线视频中文字幕| 亚洲五码中文字幕| 欧美精品一区二| 99re在线视频这里只有精品| 日一区二区三区| 国产午夜精品久久| 色综合 综合色| 精品午夜一区二区三区在线观看 | 老汉av免费一区二区三区 | 国产亚洲自拍一区| 99久久精品费精品国产一区二区| 亚洲va国产天堂va久久en| 精品国产一区二区三区不卡| 91免费看视频| 裸体健美xxxx欧美裸体表演| 国产精品成人在线观看| 欧美一区二区三区在线观看| 成人看片黄a免费看在线| 亚洲国产精品久久久久秋霞影院| 精品三级av在线| 91精品福利视频| 国产乱子轮精品视频| 亚洲第一搞黄网站| 国产精品剧情在线亚洲| 欧美一级生活片| 欧美综合亚洲图片综合区| 国产一区二区三区四区五区美女 | 欧美成人精品1314www| 成人午夜在线免费| 久久精品国产久精国产| 亚洲愉拍自拍另类高清精品| 国产精品久久久久婷婷二区次| 91精品国产综合久久久蜜臀图片| 99精品视频一区| 国产精品小仙女| 蜜臀精品一区二区三区在线观看 | 久久综合久久99| 欧美三级韩国三级日本一级| 成人在线一区二区三区| 精品一区二区在线播放| 丝袜诱惑制服诱惑色一区在线观看| 国产精品久久久久久久久免费桃花| 亚洲精品一区二区精华| 欧美精选午夜久久久乱码6080| 色一区在线观看| www.综合网.com| 懂色av一区二区三区免费看| 国产一区二区三区最好精华液| 麻豆精品在线看| 日韩av一区二区三区| 午夜一区二区三区视频| 亚洲精选免费视频| 亚洲精品一二三四区| 亚洲少妇屁股交4| 亚洲图片另类小说| 亚洲同性gay激情无套| 亚洲天堂免费在线观看视频| 亚洲欧洲在线观看av| 中文字幕一区二区在线观看| 国产精品久久久久久久久图文区| 国产精品久久久久久久蜜臀| 中文字幕视频一区| 综合久久一区二区三区| 亚洲欧美激情视频在线观看一区二区三区 | 国产美女娇喘av呻吟久久| 美国十次了思思久久精品导航| 青青草国产成人99久久| 免费高清不卡av| 国产精品亚洲午夜一区二区三区| 国产一区二区三区在线看麻豆| 国产精品一二三| 99久久精品免费看国产 | 成人自拍视频在线| 99久久精品国产一区二区三区| 91视频在线观看| 欧美日韩高清在线| 欧美成人女星排名| 国产午夜亚洲精品午夜鲁丝片 | 国产午夜精品久久久久久久| 国产精品视频第一区| 亚洲一区在线电影| 蜜桃视频一区二区| 粉嫩嫩av羞羞动漫久久久| 91一区二区在线观看| 欧美猛男gaygay网站| 精品久久久久久无| 国产精品成人在线观看| 亚洲高清视频在线| 国产一区日韩二区欧美三区| 97aⅴ精品视频一二三区| 欧美精品三级在线观看| 2023国产一二三区日本精品2022| 国产精品久久久久精k8| 午夜精品国产更新| 国产成人8x视频一区二区| 在线看一区二区| wwww国产精品欧美| 亚洲成人午夜影院| 国产精品1区2区| 欧美美女黄视频| 亚洲国产高清不卡| 亚洲午夜久久久久久久久电影院| 国产一区免费电影| 欧美精品乱人伦久久久久久| 国产欧美日韩另类视频免费观看| 亚洲高清免费视频| 成人精品国产一区二区4080| 在线不卡免费欧美| 1区2区3区精品视频| 国模无码大尺度一区二区三区| 在线欧美日韩精品| 日本一区二区高清| 日本不卡免费在线视频| 91成人免费在线视频| 国产欧美一区二区三区沐欲| 日本午夜精品视频在线观看| 99国产精品久久久久久久久久久 | 国产网站一区二区三区| 爽爽淫人综合网网站| 在线这里只有精品| 国产精品国产三级国产a| 久久精品理论片| 欧美老女人在线| 亚洲在线观看免费视频| eeuss国产一区二区三区| 久久这里只有精品视频网| 亚洲va国产天堂va久久en| 91国偷自产一区二区使用方法| 国产视频911| 国产精品白丝jk黑袜喷水| 日韩欧美色综合| 日本中文字幕不卡| 欧美日本在线播放| 亚洲一级二级在线| 在线观看免费视频综合| 亚洲男人的天堂av| 97超碰欧美中文字幕| 亚洲欧洲无码一区二区三区| 成人一区在线看| 国产精品大尺度|