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

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

?? importfrm.pas

?? 單片機典型系統(tǒng)設計實例精講 第4章 PC機與數(shù)控機床通信系統(tǒng)
?? PAS
字號:
{
=====================================================================
* 軟件名稱:PC與數(shù)控機床通信程序
* 單元名稱:從數(shù)控機床接收數(shù)據(jù)
* 單元作者:彭為 (pwzyp@fjsm.net)
* 備    注:用到了線程進行發(fā)送
* 開發(fā)平臺:PWin2000 SERVER + Delphi 7.0
* 兼容測試:PWin9X/2000/XP + Delphi 6/7
* 采用控件:Raize 3.12 ,SPCOMM
* 修改記錄:V1.0  by pengwei
=====================================================================
}
unit ImportFrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, RzTabs, RzButton, StdCtrls, RzLabel, RzBorder,
  Grids, ValEdit, RzPrgres, ScktComp, SPComm, DB, ADODB;

type
  TImport = class(TForm)
    Panel1: TPanel;
    pgcMain: TRzPageControl;
    TabSheet1: TRzTabSheet;
    TabSheet2: TRzTabSheet;
    Image1: TImage;
    Panel2: TPanel;
    btnFinish: TRzBitBtn;
    btnNext: TRzBitBtn;
    btnPrior: TRzBitBtn;
    RzLabel1: TRzLabel;
    RzLabel2: TRzLabel;
    RzLabel3: TRzLabel;
    Image2: TImage;
    RzBorder1: TRzBorder;
    RzLabel4: TRzLabel;
    RzLabel5: TRzLabel;
    RzLabel6: TRzLabel;
    RzLabel8: TRzLabel;
    TabSheet3: TRzTabSheet;
    Image4: TImage;
    RzLabel12: TRzLabel;
    RzBorder3: TRzBorder;
    RzLabel13: TRzLabel;
    RzLabel14: TRzLabel;
    RzLabel7: TRzLabel;
    edtUser: TEdit;
    edtMemo: TEdit;
    cboChannel: TComboBox;
    cboComm: TComboBox;
    LblCommErr: TRzLabel;
    Lbl1: TRzLabel;
    Lbl2: TRzLabel;
    Lbl3: TRzLabel;
    Lbl4: TRzLabel;
    LblErr: TRzLabel;
    Lbl5: TRzLabel;
    RzBorder2: TRzBorder;
    Comm1: TComm;
    Query: TADOQuery;
    procedure FormCreate(Sender: TObject);
    procedure btnNextClick(Sender: TObject);
    procedure btnPriorClick(Sender: TObject);
    procedure btnFinishClick(Sender: TObject);
    procedure Comm1ReceiveError(Sender: TObject; EventMask: Cardinal);
    procedure Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
      BufferLength: Word);
    procedure FormShow(Sender: TObject);
  private
    bStart: Boolean;
    TickCount: Longword;
    sMemo, sUser, sFileName: string;
    Channel: Integer;
    iRecvLength: Integer;
    RecvText: string;
    procedure SaveRecvText;
    { Private declarations }
  public
    procedure showForm;
    { Public declarations }
  end;

var
  Import: TImport;

implementation

uses Include, Mainfrm, ConfigFrm;

{$R *.dfm}

procedure TImport.FormCreate(Sender: TObject);
begin
  Caption := sImportCaption;
end;

procedure TImport.btnNextClick(Sender: TObject);
var
  sTemp: string;
  BeginChar: Byte;
  BeginChannel: array[1..2] of Byte;
begin
  case pgcmain.activepageindex of
    0:
      begin
        cboChannel.Clear;
        cboChannel.Items := Config.ChannelList;
        cboChannel.ItemIndex := 0;
        cboComm.ItemIndex := cboComm.Items.IndexOf(Config.CommName);
        edtUser.Clear;
        edtMemo.Clear;
        LblCommErr.Visible := False;
      end;
    1:
      begin
        sUser := edtUser.Text;
        sMemo := edtMemo.Text;
        Channel := cboChannel.ItemIndex + 1;
        Config.CommName := cboComm.Text;
        Comm1.CommName := cboComm.Text;
        Comm1.StopComm;
        try
          Comm1.StartComm;
        except
          LblCommErr.Visible := True;
          Exit;
        end;

        BeginChar := 01;
        sTemp := Format('%.2d', [channel]);
        BeginChannel[1] := Ord(sTemp[1]);
        BeginChannel[2] := Ord(sTemp[2]);

        //        ShowMessage(Format('%x %x %x', [beginchar[1], beginchar[2],
        //          beginchar[3]]));

        Sleep(100);
        Comm1.WriteCommData(@BeginChar, 1);
        Sleep(100);
        Comm1.WriteCommData(@BeginChannel, 2);

        bStart := False;

        Lbl1.Font.Style := [fsBold];
        Lbl2.Font.Style := [fsBold];
        Lbl3.Font.Style := [];
        Lbl4.Font.Style := [];
        Lbl5.Visible := False;
        LblErr.Visible := False;
      end;
  else
    ;
  end;

  pgcMain.ActivePageIndex := pgcMain.ActivePageIndex + 1;
  btnPrior.Enabled := True;
  if pgcMain.ActivePageIndex = pgcMain.PageCount - 1 then
    btnNext.Enabled := False;
end;

procedure TImport.btnPriorClick(Sender: TObject);
begin
  pgcMain.ActivePageIndex := pgcMain.ActivePageIndex - 1;
  btnNext.Enabled := True;
  if pgcMain.ActivePageIndex = 0 then
    btnPrior.Enabled := False;
end;

procedure TImport.showForm;
begin
  if Import = nil then
    Import := TImport.Create(self);
  Import.ShowModal;
end;

procedure TImport.btnFinishClick(Sender: TObject);
begin
  if bStart then
  begin
    if Length(RecvText) <> 0 then
    begin
      if MessageBox(Self.Handle, PChar(sBreak), PChar(sTitleAsk), MB_yesno +
        MB_ICONQUESTION) = idno then
        Exit;
      SaveRecvText;
    end;
    //中斷發(fā)送數(shù)據(jù)線程
  end;
  Comm1.StopComm;
  Close;
end;

procedure TImport.Comm1ReceiveError(Sender: TObject; EventMask: Cardinal);
begin
  LblErr.Caption := '串口接收數(shù)據(jù)出現(xiàn)錯誤';
  LblErr.Visible := True;
end;

procedure TImport.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
  BufferLength: Word);
var
  ReceivedBuf: array of Byte;
  stemp: string;
  BeginChar: array[1..2] of Byte;
  SendChar: Byte;
  i: Integer;
begin
  SetLength(ReceivedBuf, BufferLength);
  try
    Move(Buffer^, pChar(@ReceivedBuf[0])^, BufferLength);
  except
    ShowMsg(sErrReceive1);
    exit;
  end;

  if not bStart then
  begin //尚未開始,檢測床號
    stemp := Format('%.2d', [Channel]);
    BeginChar[1] := Ord(sTemp[1]);
    BeginChar[2] := Ord(sTemp[2]);

    if ((ReceivedBuf[0] = BeginChar[1]) and (ReceivedBuf[1] = BeginChar[2])) then
    begin //床號正確//開始發(fā)送03,并發(fā)數(shù)據(jù) 置start為True
      SendChar := 03;
      Comm1.StopComm;
      Comm1.StartComm;
      Sleep(100);
      Comm1.WriteCommData(@SendChar, 1);

      bstart := True;
      //準備收數(shù)據(jù)
      Lbl3.Font.Style := [fsBold];
      RecvText := '';
      iRecvLength := 0;
      Lbl5.Visible := True;
      Lbl5.Caption := '接收到' + intTostr(iRecvLength) + '字節(jié)';
    end
    else
    begin //床號不正確,顯示錯誤并返回
      LblErr.Caption := '設備號選擇出錯!';
      LblErr.Visible := True;
    end;
  end
  else //正在正在接收,檢測是否是07H(錯誤)
    //設置停止標志終止線程的發(fā)送
    for i := 0 to BufferLength - 1 do
    begin
      if ReceivedBuf[i] = $07 then
      begin
        bStart := false;
        //存儲入文件
        SaveRecvText;

        LblErr.Caption := '數(shù)控機床設備返回錯誤信息,終止發(fā)送!';
        LblErr.Visible := True;
        Exit;
      end
      else if ReceivedBuf[i] = $17 then //完成了
      begin
        bStart := False;
        //存儲入文件
        SaveRecvText;

        Lbl4.Font.Style := [fsbold];
        Lbl5.Caption := '接收到' + intTostr(iRecvLength) + '字節(jié)' + ' 花費時間:'
          +
          IntToStr(GetTickCount - TickCount) + '毫秒';
        btnFinish.Caption := '完成';
        Exit;
      end
      else //否則是正常的數(shù)據(jù)
      begin
        //存儲入RecvText
        RecvText := RecvText + Chr(ReceivedBuf[i]);
        Inc(iRecvLength);

        Lbl5.Caption := '接收到' + intTostr(iRecvLength) + '字節(jié)';
      end;
    end;
end;

procedure TImport.SaveRecvText;
var
  BookMarker: Pointer;
  sList: TStrings;
begin
  try
    sList := TStringList.Create;
    try
      sList.Add(RecvText);
      sList.SaveToFile(sFilename);
      with Query do
      begin
        Close;
        SQL.Clear;
        SQL.Add('Insert into Data(Author,Filename,Timestr,Filesize,channel,smemo)values('''
          + sUser + ''',''' + sFileName + ''',''' + DateTimeTostr(now) +
          ''','''
          + IntToStr(Trunc(iRecvLength / 1024) + 1) + 'KB'',' + IntToStr(Channel)
          +
          ',''' +
          sMemo +
          ''')');
        ExecSQL;
        Close;
      end;
      with Main do
      begin
        BookMarker := Table.GetBookmark;
        Table.Close;
        Table.Open;
        Table.GotoBookmark(bookmarker);
      end;
    finally
      sList.Free;
    end;
  except
    ShowMsg('存儲文件出現(xiàn)錯誤!');
    Exit;
  end;
  ;
end;

procedure TImport.FormShow(Sender: TObject);
begin

  pgcMain.ActivePageIndex := 0;
  pgcMain.ActivePageIndex := 0;
  btnPrior.Enabled := False;
  btnNext.Enabled := True;
  btnFinish.Caption := '取消';
  bstart := False;

  RecvText := '';
  sFileName := Main.getNewfilename;

end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线精品一区二区| 中文在线免费一区三区高中清不卡 | 国产盗摄精品一区二区三区在线 | 久久精品人人做人人爽97| 亚洲六月丁香色婷婷综合久久| 五月天丁香久久| 99视频精品免费视频| 国产香蕉久久精品综合网| 午夜精品久久久久久久99水蜜桃| 播五月开心婷婷综合| 久久午夜电影网| 免费在线观看日韩欧美| 欧美视频一区二区三区在线观看| 国产精品二区一区二区aⅴ污介绍| 精品一区二区在线看| 欧美在线观看视频一区二区三区| 国产视频一区在线观看| 精品一区二区三区香蕉蜜桃| 91精品蜜臀在线一区尤物| 亚洲四区在线观看| 成人在线综合网| 国产视频一区二区在线观看| 国内成人精品2018免费看| 日韩一区二区三区电影在线观看| 亚洲综合免费观看高清完整版| av一区二区三区在线| 中文字幕巨乱亚洲| 国产成人综合网| 久久久精品国产免费观看同学| 麻豆91免费观看| 日韩欧美电影一二三| 日本美女一区二区三区视频| 欧美日韩高清在线播放| 亚洲成年人网站在线观看| 欧美日韩免费高清一区色橹橹| 亚洲精品菠萝久久久久久久| 日本福利一区二区| 亚洲国产精品影院| 欧美精品18+| 蜜桃视频一区二区三区| 精品国产污网站| 国内精品视频666| 久久久久九九视频| 99久久婷婷国产| 亚洲主播在线观看| 欧美一卡二卡在线观看| 精品一区二区三区日韩| 久久精品一区蜜桃臀影院| 成人动漫一区二区三区| 国产精品成人一区二区三区夜夜夜 | 久久99久久精品欧美| www国产亚洲精品久久麻豆| 国产精品一区二区黑丝 | 欧美一区二区福利视频| 国产精品一区二区久久不卡 | 99精品欧美一区| 亚洲成av人在线观看| 日韩欧美美女一区二区三区| 高清国产一区二区| 亚洲综合丁香婷婷六月香| 欧美精选一区二区| 国产成人在线看| 亚洲人成在线观看一区二区| 91精品国产全国免费观看| 国产精品99久久久| 一区二区高清在线| 337p日本欧洲亚洲大胆色噜噜| 粉嫩av一区二区三区在线播放| 亚洲影院久久精品| 国产日韩综合av| 欧美性xxxxxxxx| 国产福利一区二区| 午夜欧美2019年伦理| 欧美激情在线看| 欧美色倩网站大全免费| 国产精品一区二区久激情瑜伽| 亚洲精品免费看| 久久久综合九色合综国产精品| 91啪亚洲精品| 国产精品一区二区三区99| 亚洲大片精品永久免费| 国产精品色哟哟| 日韩女优制服丝袜电影| 色综合久久久久综合| 国产一区二区不卡在线| 午夜影院久久久| 亚洲人成网站精品片在线观看| 欧美精品一区二区不卡| 欧美一区永久视频免费观看| 91亚洲男人天堂| 丁香婷婷综合激情五月色| 毛片av一区二区三区| 亚洲一区在线电影| 亚洲欧美日韩电影| 国产精品色哟哟网站| 久久精品视频在线免费观看 | 欧美人妇做爰xxxⅹ性高电影| 成人av在线播放网址| 国内精品免费**视频| 婷婷国产v国产偷v亚洲高清| 亚洲综合色区另类av| 亚洲欧美综合在线精品| 国产日韩欧美综合在线| 精品国产污网站| 日韩欧美aaaaaa| 欧美一区二视频| 欧美日本国产一区| 4438成人网| 777奇米成人网| 日韩一区二区中文字幕| 欧美一区二区三区在线| 制服丝袜在线91| 欧美一级欧美一级在线播放| 欧美一区二区三区播放老司机 | 色婷婷综合激情| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 欧美日韩免费电影| 欧美男生操女生| 91精品国产91久久综合桃花| 欧美一区国产二区| 精品国免费一区二区三区| 精品捆绑美女sm三区| 久久丝袜美腿综合| 欧美激情一区在线| 亚洲欧美日韩中文播放 | 欧美综合天天夜夜久久| 欧美无砖专区一中文字| 91成人在线观看喷潮| 欧美视频一区二区三区四区| 制服丝袜激情欧洲亚洲| 欧美v国产在线一区二区三区| 久久日一线二线三线suv| 中文字幕不卡在线观看| 亚洲色图一区二区三区| 亚洲一二三四区不卡| 蜜桃在线一区二区三区| 国产91丝袜在线观看| 99视频精品在线| 欧美久久一二三四区| 欧美一级国产精品| 国产婷婷色一区二区三区在线| 1024成人网色www| 午夜激情久久久| 国产一区二区美女| 91国偷自产一区二区开放时间| 欧美日韩免费观看一区二区三区 | 91精品国产综合久久精品性色| 日韩丝袜美女视频| 国产精品久久国产精麻豆99网站 | 91麻豆精品国产自产在线观看一区| 日韩一区二区免费在线电影| 中文字幕va一区二区三区| 午夜精品一区二区三区三上悠亚| 国产最新精品免费| 91国偷自产一区二区开放时间| 欧美大片一区二区| 亚洲人成7777| 国产精品一二三四| 6080日韩午夜伦伦午夜伦| 久久先锋影音av鲁色资源网| 亚洲欧美日韩国产综合| 久草这里只有精品视频| 91福利视频久久久久| 国产三级精品视频| 人妖欧美一区二区| 在线免费观看日本一区| 久久久国产精品午夜一区ai换脸| 亚洲一卡二卡三卡四卡| 成人午夜在线免费| 欧美xxxxx裸体时装秀| 亚洲图片欧美一区| k8久久久一区二区三区 | 9色porny自拍视频一区二区| 欧美日韩成人在线| 亚洲综合999| 99精品桃花视频在线观看| 久久久.com| 久久爱www久久做| 91精品欧美久久久久久动漫| 亚洲精品欧美综合四区| 成人h动漫精品一区二| 久久影视一区二区| 久久草av在线| 日韩一级二级三级| 秋霞午夜av一区二区三区| 欧美亚洲一区二区在线观看| 综合电影一区二区三区 | 中文字幕一区二区三区在线播放| 美国十次综合导航| 精品国产免费人成在线观看| 亚洲高清视频的网址| 91久久精品日日躁夜夜躁欧美| 国产精品美女www爽爽爽| 国产一区二区三区电影在线观看| 欧美一级黄色录像| 青青草精品视频| 日韩免费高清电影| 精品一区二区三区在线播放视频| 欧美zozo另类异族| 国产精品资源网|