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

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

?? importfrm.pas

?? 《51單片機C語言應用程序設計實例精講》書后光盤代碼
?? PAS
字號:
{
=====================================================================
* 軟件名稱:PC與數控機床通信程序
* 單元名稱:從數控機床接收數據
* 單元作者:彭為 (pwzyp@fjsm.net)
* 備    注:用到了線程進行發送
* 開發平臺: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;
    //中斷發送數據線程
  end;
  Comm1.StopComm;
  Close;
end;

procedure TImport.Comm1ReceiveError(Sender: TObject; EventMask: Cardinal);
begin
  LblErr.Caption := '串口接收數據出現錯誤';
  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 //床號正確//開始發送03,并發數據 置start為True
      SendChar := 03;
      Comm1.StopComm;
      Comm1.StartComm;
      Sleep(100);
      Comm1.WriteCommData(@SendChar, 1);

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

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

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

        Lbl5.Caption := '接收到' + intTostr(iRecvLength) + '字節';
      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('存儲文件出現錯誤!');
    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一区二区三区免费野_久草精品视频
成人一级视频在线观看| 亚洲精品免费在线观看| 亚洲小少妇裸体bbw| 欧美在线免费视屏| 亚洲国产精品久久久久婷婷884| 国产精品久久久久影院老司| 成人久久18免费网站麻豆| 韩国精品主播一区二区在线观看 | 黄网站免费久久| 日韩电影在线免费| 国产人伦精品一区二区| 91福利小视频| 国内一区二区在线| 国产高清视频一区| 日欧美一区二区| 国产精品久久久久婷婷二区次| 国产欧美日韩卡一| 亚洲视频精选在线| 日韩欧美国产一区二区三区| 成人免费视频视频| 色综合网站在线| 国产一区二区三区四区五区美女| 亚洲最新在线观看| 国产精品欧美一区喷水| 欧美mv日韩mv国产网站app| 欧洲精品一区二区| 日韩小视频在线观看专区| 欧美系列在线观看| 播五月开心婷婷综合| 麻豆精品国产传媒mv男同| 曰韩精品一区二区| 麻豆91小视频| 91色视频在线| 91美女片黄在线观看| 欧美一级久久久| 国产精品精品国产色婷婷| 青青草97国产精品免费观看| 午夜精品久久久久久久久| 亚洲高清在线视频| 国产精品影视在线| 福利视频网站一区二区三区| 国产精品一区在线观看乱码| 色欧美片视频在线观看| 欧美性色综合网| 国产偷国产偷亚洲高清人白洁| 欧美大胆一级视频| 伊人一区二区三区| 丁香啪啪综合成人亚洲小说 | 蜜桃一区二区三区在线观看| 91麻豆免费观看| 国产亚洲精品7777| 九色综合国产一区二区三区| 麻豆国产一区二区| 欧美伊人久久久久久久久影院| 国产欧美视频一区二区| 日韩av午夜在线观看| 在线观看日韩电影| 亚洲人精品一区| 亚洲综合清纯丝袜自拍| 日韩中文字幕一区二区三区| 99精品国产视频| 欧美性猛交xxxx乱大交退制版| 欧美韩国日本一区| 一区二区三区视频在线看| 成人国产在线观看| 国产欧美日韩不卡| 国产成人精品免费| 久久精品视频一区| 国产成人免费视频网站高清观看视频| 91精品国产福利| 国产精品乱码一区二三区小蝌蚪| 久久99精品久久久久| 欧美男生操女生| 国产欧美日韩视频在线观看| 黑人巨大精品欧美黑白配亚洲| 欧美成人在线直播| 国产尤物一区二区| 国产亚洲精品超碰| 成人精品高清在线| 亚洲欧洲日产国码二区| 久久国内精品自在自线400部| 高清不卡在线观看| 中文字幕一区二区三区av| 99久久99久久综合| 亚洲一区二区三区爽爽爽爽爽| 欧美性xxxxxx少妇| 日本中文一区二区三区| 精品成人私密视频| 一区二区三区影院| 欧美日韩精品一区二区天天拍小说 | 国产一区二区视频在线播放| 国产亚洲精品aa| 91小视频在线免费看| 一区二区欧美视频| 欧美日本在线看| 国产一区二区三区四区在线观看| 中文在线一区二区| 精品视频一区三区九区| 亚洲国产精品传媒在线观看| 99精品热视频| 天天影视网天天综合色在线播放 | 成人激情综合网站| 亚洲午夜在线视频| 久久综合九色综合97_久久久| 午夜精品视频在线观看| 欧美r级在线观看| 99久久99久久精品免费观看| 天天综合网天天综合色| 久久久久久久久久美女| 玖玖九九国产精品| 亚洲桃色在线一区| 日韩一区二区三区免费观看| 不卡一卡二卡三乱码免费网站| 亚洲一区二区av在线| 久久综合成人精品亚洲另类欧美 | 婷婷六月综合亚洲| 久久久国产精品午夜一区ai换脸| 91久久精品一区二区二区| 日本视频在线一区| 一区二区三区四区五区视频在线观看 | 综合激情成人伊人| 欧美成人免费网站| 欧洲精品视频在线观看| 国产成人综合精品三级| 人人精品人人爱| 一区二区中文视频| 欧美va日韩va| 6080国产精品一区二区| 免费av成人在线| 亚洲午夜久久久久| 亚洲同性同志一二三专区| 久久婷婷色综合| 91精品欧美综合在线观看最新| youjizz国产精品| 亚洲一二三级电影| 中文字幕一区二区三区在线观看| 欧美不卡一区二区| 欧美日韩mp4| 欧美色倩网站大全免费| 色成年激情久久综合| 色婷婷狠狠综合| 色哟哟欧美精品| 99久久精品国产导航| 国产69精品久久久久777| 国产在线精品一区二区| 国内精品伊人久久久久影院对白| 免费观看一级欧美片| 天天色天天操综合| 亚洲综合偷拍欧美一区色| 夜夜精品视频一区二区| 伊人夜夜躁av伊人久久| 一区二区三区国产精华| 一区二区三区在线观看欧美| 一区二区在线观看视频在线观看| 亚洲欧洲在线观看av| 亚洲女厕所小便bbb| 一区二区三区高清在线| 一区二区欧美国产| 婷婷激情综合网| 久久精品国产亚洲5555| 国产精品亚洲一区二区三区在线| 国产精品亚洲а∨天堂免在线| 成人av片在线观看| 91久久奴性调教| 日韩一区二区三区视频在线| 久久免费视频色| 亚洲图片另类小说| 亚洲成年人影院| 国产精品夫妻自拍| 一区二区免费在线播放| 日韩中文字幕亚洲一区二区va在线 | 亚洲欧美综合在线精品| 一区二区欧美视频| 日本视频免费一区| 高清久久久久久| 在线视频你懂得一区二区三区| 91精品国产91久久久久久最新毛片 | 一本久道中文字幕精品亚洲嫩| 欧美美女喷水视频| 色综合欧美在线视频区| 在线观看精品一区| 精品久久久久久久人人人人传媒 | 午夜久久久久久| 国模少妇一区二区三区| 9i在线看片成人免费| 777色狠狠一区二区三区| 日本一区二区三区国色天香| 亚洲综合视频在线观看| 国产美女一区二区| 一本大道av一区二区在线播放| 日韩欧美国产综合在线一区二区三区| 国产精品免费人成网站| 日韩精品一级中文字幕精品视频免费观看 | 成人av午夜电影| 91精品国产乱码久久蜜臀| 国产精品免费视频观看| 美女脱光内衣内裤视频久久影院| 97超碰欧美中文字幕| 日韩欧美成人一区| 亚洲最新视频在线观看|