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

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

?? unit1.pas

?? 采用JAVA語言實現的出租車計價器的程序
?? PAS
字號:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  OleCtrls, MSCommLib_TLB, ExtCtrls, StdCtrls, ComCtrls, Db, ADODB;

type
  TMainForm = class(TForm)
    MSComm: TMSComm;
    tmrSend: TTimer;
    cmbbxComNum: TComboBox;
    cmbbxBaud: TComboBox;
    cmbbxDataNum: TComboBox;
    cmbbxStopBit: TComboBox;
    cmbbxCheckBit: TComboBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    btnSerial: TButton;
    chckbxTimer: TCheckBox;
    btnSend: TButton;
    edtTime: TEdit;
    Label6: TLabel;
    shpSerial: TShape;
    Label7: TLabel;
    Button1: TButton;
    Label48: TLabel;
    Label49: TLabel;
    Label50: TLabel;
    ListView1: TListView;
    Label13: TLabel;
    ADOQuery1: TADOQuery;
    ADOConnection1: TADOConnection;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    procedure FormCreate(Sender: TObject);
    procedure btnSerialClick(Sender: TObject);
    procedure chckbxTimerClick(Sender: TObject);
    procedure MSCommComm(Sender: TObject);
    procedure btnSendClick(Sender: TObject);
    procedure tmrSendTimer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
  private
    { Private declarations }
    HexShow:Boolean;
    HexSend:Boolean;
    SendNumber:integer;
    HaveShow:integer;
    e2:string;
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;

implementation

uses Unit2, Unit3, Unit4, Unit5;

{$R *.DFM}
function hex(c:char):Integer ;
var
      x:integer;
begin
     if c=' ' then
        x:=0
     else if (Ord(c)>=ord('0')) and (Ord(c)<=ord('9')) then
        x:=Ord(c)-Ord('0')
     else if (Ord(c)>=ord('a')) and (Ord(c)<=ord('f')) then
        x:=Ord(c)-Ord('a')+10
     else if (Ord(c)>=ord('A')) and (Ord(c)<=ord('F')) then
        x:=Ord(c)-Ord('A')+10
     else
        //輸入錯誤
        x:=-1;        
      Result:=x;
end;

//該函數接收1個至2個字符
//轉換成功.輸出對應16進制數的值
//轉換失敗.輸出-1。
function HexToInt(S:String): Integer;
var
    tmpInt1,tmpInt2:Integer ;
begin
   if Length(S)=1 then
   begin
      Result:=hex(S[1]);
   end
   else if Length(S)=2 then
   begin
      tmpInt1:=hex(S[1]);
      tmpInt2:=hex(S[2]);
      if (tmpInt1=-1) or (tmpInt2=-1) then
          Result:=-1
      else
          Result:= tmpInt1*16+tmpInt2;
      end
    else
        //輸入錯誤,轉換失敗
        Result:=-1;
end;
//該函數接收4個字符
//轉換成功.輸出對應10進制數的值
//轉換失敗.輸出-1。
function HexStrToInt(S:String): Integer;
var
    tmpInt1,tmpInt2,tmpInt3,tmpInt4:Integer ;
begin
      tmpInt1:=hex(S[1]);
      tmpInt2:=hex(S[2]);
      tmpInt3:=hex(S[3]);
      tmpInt4:=hex(S[4]);
      if (tmpInt1=-1) or (tmpInt2=-1) or (tmpInt3=-1) or (tmpInt4=-1)then
          Result:=-1
      else
          Result:= tmpInt1*16*16*16+tmpInt2*16*16+tmpInt3*16+tmpInt4;
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
    cmbbxComNum.ItemIndex:=1;
    shpSerial.Brush.Color:=clWhite;
    MSComm.InputMode:=1;
    HexShow:=True;
    HexSend:=True;
    SendNumber:=1;
    HaveShow:=0;
end;
procedure TMainForm.btnSerialClick(Sender: TObject);
var
    ComSetting:String;
    
begin
    if not MSComm.PortOpen then
    begin
        //打開串口
        MSComm.CommPort :=cmbbxComNum.ItemIndex +1;
        //默認值為 '4800,N,8,1'
        ComSetting:=cmbbxBaud.Text;
        ComSetting:=ComSetting+','+cmbbxCheckBit.Text;
        ComSetting:=ComSetting+','+cmbbxDataNum.Text;
        ComSetting:=ComSetting+','+cmbbxStopBit.Text;
        MSComm.Settings:=ComSetting;
        MSComm.PortOpen:=True;

        //變換各個組件的狀態
        shpSerial.Brush.Color:=clRed; //指示燈變紅
        btnSerial.Caption :='關閉串口';
    end
    else  begin
        //關閉串口
        //變換各個組件的狀態
        MSComm.PortOpen:=False;
        shpSerial.Brush.Color:=clWhite;//指示燈變白
        btnSerial.Caption :='打開串口';

    end;
end;

procedure TMainForm.chckbxTimerClick(Sender: TObject);
begin
    if chckbxTimer.Checked then
    begin
        tmrSend.Interval:=StrToInt(edtTime.Text);
        tmrSend.Enabled:=True;
        btnSend.Enabled:=False;
    end
    else begin
        tmrSend.Enabled:=False;
        btnSend.Enabled:=True;
    end;
end;

procedure TMainForm.MSCommComm(Sender: TObject);
var
    i,InputLen:Integer;
    tmpInt:Integer;
    tmpvar:Variant;
    InputString:String;
    tmpstr:String;
    listitem:TListItem;
    strSQL,e1,e3,e4,e5,e6,e7,e8,e9:string;
begin
    if MSComm.CommEvent=ComEvReceive then
    begin
        InputLen:=MSComm.InBufferCount;

        //接收二進制數據,轉換為十六進制顯示
        if HexShow then
        begin
          tmpvar:=MSComm.Input;
          InputString:='';
          for i:= 0 to InputLen-1 do
          begin
            tmpInt:=tmpvar[i];
            InputString:=InputString+''+LowerCase(IntToHex(tmpInt,2));
          end;
       end
        //直接接收字符
        else begin
            InputString:=MSComm.Input;

        end;
        if (Copy(InputString,5,4)='4545') then
        begin
            SendNumber:=1;
        end;
        if SendNumber=2 then
        begin
        e2:='遼'+UpperCase(Copy(InputString,6,1)+Copy(InputString,8,1)
        +Copy(InputString,10,1)+Copy(InputString,12,1)
        +Copy(InputString,14,1)+Copy(InputString,16,1)
        +Copy(InputString,18,1));
        Label50.Caption := e2;
        end;
        if SendNumber=3 then
        begin       
           //Label9.Caption:= '金額 :  '+FloatToStr(StrToInt(Copy(InputString,5,6))/10)+'元  ';
           //Label10.Caption:= '行駛里程:'+ FloatToStr(StrToInt(Copy(InputString,11,6))/10)+'公里          ';
           //Label12.Caption:= '載客行駛里程:'+FloatToStr(StrToInt(Copy(InputString,17,6))/10)+'公里       ';
           //Label17.Caption:= '侯時:'+ IntToStr(StrToInt(Copy(InputString,23,4)))+'小時'+
                             //IntToStr(StrToInt(Copy(InputString,27,2)))+'分   ';
        end;
        if SendNumber=4 then
        begin
           if HaveShow=0  then
           begin
           //Label52.Caption:= '金額 :  '+FloatToStr(StrToInt(Copy(InputString,5,8))/10)+'元   ';
           //Label53.Caption:='行駛里程:'+ FloatToStr(StrToInt(Copy(InputString,13,8))/10)+'公里           ';
           //Label54.Caption:='載客行駛里程:'+FloatToStr(StrToInt(Copy(InputString,21,8))/10)+'公里       ';
           //Label55.Caption:= '侯時:'+IntToStr(StrToInt(Copy(InputString,29,4)))+'小時'+
                        //IntToStr(StrToInt(Copy(InputString,33,2)))+'分   ';
           HaveShow:=1;
           end;
        end;
        if SendNumber=5 then
        begin
           listitem:=ListView1.Items.Add;
           e1:= IntToStr(HexStrToInt(Copy(InputString,39,4)));
           listitem.Caption:= e1;
           //e3:= '20'+Copy(InputString,37,2)+'.'
                              //+ IntToStr(StrToInt(Copy(InputString,5,2)))
                              //+ '.'+ IntToStr(StrToInt(Copy(InputString,7,2)));
           e3:= '20'+Copy(InputString,37,2)+Copy(InputString,5,2)+Copy(InputString,7,2);
           listitem.SubItems.Add(e3);
           e4:= IntToStr(StrToInt(Copy(InputString,9,2)))+':'+
               IntToStr(StrToInt(Copy(InputString,11,2)));
           listitem.SubItems.Add(e4);
           e5:= IntToStr(StrToInt(Copy(InputString,33,2)))+':'+
                                  IntToStr(StrToInt(Copy(InputString,35,2)));
           listitem.SubItems.Add(e5);
           e6:= IntToStr(StrToInt(Copy(InputString,21,2)))+':'+
                                  IntToStr(StrToInt(Copy(InputString,23,2)));
           listitem.SubItems.Add(e6);
           e7:= FloatToStr(StrToInt(Copy(InputString,13,4))/100);
           listitem.SubItems.Add(e7);
           e8:= FloatToStr(StrToInt(Copy(InputString,17,4))/10);
           listitem.SubItems.Add(e8);
           e9:= FloatToStr(StrToInt(Copy(InputString,27,6))/100);
           listitem.SubItems.Add(e9);
           strSQL:='insert into yyjl values('''+e1+''','''+e2+''', '''+e3+''','''+e4+''','''+e5+''','''+e6+''','''+e7+''','''+e8+''','''+e9+''')';
           with TADOQuery.Create(nil) do
           begin
           try
           Close;
           Connection:=MainForm.ADOConnection1;
           SQL.Clear;
           SQL.Add(strSQL);
           ExecSQL;
           finally
           Free;
           end;
           end;
        end;
    end
end;
procedure TMainForm.btnSendClick(Sender: TObject);
var
    Len:Integer;
    i,count,tmpInt:Integer;
    tmpVar:Variant;
    tmpStr,Output:String;
    
begin
    if not MSComm.PortOpen then
    begin
        showmessage('沒有打開串口!');
        Exit;
    end
    else begin
        //發送二進制數,需要使用Variant變量矩陣,矩陣大小自動調節
        if HexSend then
        begin
        if SendNumber=1 then
            begin
               Output:='f1';
               MSComm.RThreshold:=10;
            end
        else  if SendNumber=4 then
            begin
               Output:='f2';
               MSComm.RThreshold:=23;
            end
        else  if SendNumber=2 then
            begin
               Output:='f5';
               MSComm.RThreshold:=21;
            end
        else  if SendNumber=3 then
            begin
               Output:='f6';
               MSComm.RThreshold:=21;
            end
        else  SendNumber:=4;
            Len:=Length(Output);
            if Len>0 then
            begin
               i:=1;
               count:=1;
               //創建一個Variant數組
               tmpVar:=VarArrayCreate([1,1],varByte);
               while(i<Len) do
               begin
                  //每3個字符串中截取2個字符,轉換為16進制
                  tmpStr:=Copy(Output,i,2);
                  tmpStr:=LowerCase(tmpStr);
                  tmpInt:=HexToInt(tmpStr);
                  if tmpInt=-1 then
                  begin
                      showmessage('發送的數據格式有問題!');
                      exit;
                  end
                  else begin
                      tmpVar[Count]:=tmpInt;
                      Inc(count);
                     //增大Variant數組
                      VarArrayRedim(tmpVar,count);
                  end;
                  i:=i+3;
               end;
               MSComm.Output :=tmpVar;
               SendNumber:=SendNumber+1;
            end;
        end
    end;
end;

procedure TMainForm.tmrSendTimer(Sender: TObject);
begin
      if MSComm.PortOpen then
        btnSendClick(sender);
end;

procedure TMainForm.Button1Click(Sender: TObject);
begin
         Close;
end;

procedure TMainForm.Button2Click(Sender: TObject);
begin
        Form2.show;
end;

procedure TMainForm.Button3Click(Sender: TObject);
begin
       Form3.show;
end;

procedure TMainForm.Button4Click(Sender: TObject);
begin
        Form4.show;
end;

procedure TMainForm.Button5Click(Sender: TObject);
begin
        Form5.show;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美变态tickle挠乳网站| 久久综合九色综合97_久久久| 亚洲电影欧美电影有声小说| 日本一区二区电影| www国产亚洲精品久久麻豆| 7777精品伊人久久久大香线蕉的 | 一区二区三区精品在线| 国产精品视频yy9299一区| 国产欧美视频一区二区| 国产亚洲精品资源在线26u| 久久这里只有精品首页| 欧美精品一区二区在线播放| 精品国产伦理网| 久久人人爽人人爽| 国产网站一区二区三区| 国产精品伦一区| 日韩伦理电影网| 亚洲综合色网站| 丝袜诱惑制服诱惑色一区在线观看| 亚洲特级片在线| av在线播放一区二区三区| 1区2区3区国产精品| 亚洲天堂网中文字| 亚洲国产一区二区三区青草影视| 最新高清无码专区| 一区二区久久久| 蜜臀av性久久久久蜜臀av麻豆| 蜜臀99久久精品久久久久久软件| 国内精品久久久久影院薰衣草| 大尺度一区二区| 欧美综合天天夜夜久久| 91精品国产综合久久福利| 久久久久久久久久久电影| 成人免费视频在线观看| 久久精品国产久精国产爱| 成人美女视频在线看| 欧美日韩亚洲综合一区二区三区| 精品美女一区二区| 亚洲少妇中出一区| 久久99久久久久| 激情丁香综合五月| 国内精品久久久久影院薰衣草| 欧美亚洲图片小说| 日本道免费精品一区二区三区| 欧美日韩午夜在线视频| 精品国产一区二区精华| 亚洲黄色小说网站| 国产中文字幕一区| 欧美日韩不卡一区二区| 国产精品美女久久久久久久| 日韩在线一区二区三区| 国产.精品.日韩.另类.中文.在线.播放 | 色哦色哦哦色天天综合| 91精品国产综合久久精品app| 国产精品美女久久久久av爽李琼| 五月天亚洲婷婷| 91美女蜜桃在线| 久久综合丝袜日本网| 久久网站最新地址| 岛国一区二区在线观看| 亚洲影视在线播放| 在线精品视频一区二区三四| 91精品国产综合久久精品性色 | 精品国产3级a| 午夜精品在线视频一区| 成人app网站| 国产亚洲精品bt天堂精选| 精品制服美女久久| 8x8x8国产精品| 亚洲一区二区在线免费看| 99精品视频在线观看| 久久久精品人体av艺术| 黑人精品欧美一区二区蜜桃 | 激情综合色综合久久| 国产女人18毛片水真多成人如厕 | 亚洲午夜国产一区99re久久| 国产超碰在线一区| 精品视频在线视频| 亚洲一区二区四区蜜桃| 色欧美88888久久久久久影院| 一区在线观看免费| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 丝袜亚洲精品中文字幕一区| 91视频.com| 亚洲人成亚洲人成在线观看图片| 高清国产一区二区| 国产精品网站在线观看| 成人av在线电影| 成人在线综合网站| 亚洲精品伦理在线| 国产91在线观看丝袜| 国产欧美一二三区| 懂色av一区二区三区蜜臀| 国产精品久久免费看| 91在线观看免费视频| 一区二区在线电影| 欧美乱妇15p| 国产乱色国产精品免费视频| 亚洲国产精品激情在线观看| 99久久精品免费看| 亚洲成a人片综合在线| 欧美v国产在线一区二区三区| 久久精品99国产精品日本| 国产欧美日本一区视频| 91麻豆国产福利精品| 天天操天天综合网| 国产视频一区不卡| 91美女在线看| 免费精品视频在线| 中文字幕在线视频一区| 欧美日韩国产小视频在线观看| 久久精品国产精品青草| 自拍偷拍亚洲激情| 欧美一区二区三区四区久久| 国产福利一区二区三区视频| 一区二区三区毛片| 中文字幕亚洲精品在线观看| 欧美日韩在线播放三区| 国产精品香蕉一区二区三区| 一卡二卡三卡日韩欧美| 精品国产凹凸成av人网站| 中文av一区特黄| 91小视频在线| 精品国产乱码久久久久久免费| 国产大片一区二区| 日韩av不卡一区二区| 中文字幕精品—区二区四季| 欧美精品精品一区| 97久久精品人人爽人人爽蜜臀| 蜜臀av性久久久久av蜜臀妖精 | 秋霞午夜av一区二区三区| 国产精品乱码妇女bbbb| 欧美一区午夜视频在线观看| 波多野结衣中文一区| 麻豆精品新av中文字幕| 亚洲一区二区三区四区五区中文| 国产亚洲精品资源在线26u| 欧美日韩国产首页| 色综合网色综合| 国产很黄免费观看久久| 理论电影国产精品| 亚洲成人高清在线| 亚洲美女视频在线| 国产精品二三区| 久久久久久久久免费| 日韩一区二区三区视频在线| 欧美日韩一级视频| 在线观看不卡一区| 一本久道中文字幕精品亚洲嫩| 国产福利91精品| 国产美女一区二区| 国产伦精品一区二区三区视频青涩 | 日韩精品中文字幕一区二区三区| 欧美午夜理伦三级在线观看| 日本精品一区二区三区高清| 91在线视频观看| 色拍拍在线精品视频8848| 91色在线porny| 色94色欧美sute亚洲线路一久 | www.欧美日韩国产在线| 久久夜色精品国产欧美乱极品| 成人av网站大全| 成人性生交大片免费| 成人免费看片app下载| 国产福利一区二区三区| 99国产欧美久久久精品| 色综合网站在线| 欧美卡1卡2卡| 精品少妇一区二区三区免费观看| 日韩免费在线观看| 久久综合狠狠综合久久激情| 久久久精品免费免费| 国产精品福利在线播放| 亚洲综合色噜噜狠狠| 日韩精品一二区| 国产福利一区二区三区| 91丨九色丨蝌蚪丨老版| 欧美日韩久久久久久| 精品国产伦一区二区三区观看方式 | 欧美极品美女视频| 国产精品国产三级国产普通话99 | 精品亚洲国内自在自线福利| 亚洲欧美色综合| 天天av天天翘天天综合网| 男人的j进女人的j一区| 豆国产96在线|亚洲| 欧美视频中文字幕| 日韩精品一区二区三区老鸭窝 | 一本久久a久久精品亚洲| 欧美肥胖老妇做爰| 国产日韩欧美综合在线| 亚洲乱码精品一二三四区日韩在线| 亚洲第一主播视频| 国产在线精品一区二区三区不卡| 91亚洲国产成人精品一区二区三| 91精品久久久久久蜜臀| 久久久精品黄色| 午夜激情综合网| 99视频在线观看一区三区| 91精品国产丝袜白色高跟鞋|