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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? comm.h

?? 超音波測距程式
?? H
字號:
//---------------------------------------------------------------------------
#ifndef CommH
#define CommH
//---------------------------------------------------------------------------
#include <SysUtils.hpp>
#include <Controls.hpp>
#include <Classes.hpp>
#include <Forms.hpp>

#include <syncobjs.hpp>

#define sMsgExtention    "(Error: %d)"
#define sOpenError       "Error accessing specified device (Error: %d)"
#define sInvalidHandle   "Invalid device handle, access denied (Error: %d)"
#define sPortAlreadyOpen "Port already assigned (open) (Error: %d)"
#define sPortNotOpen     "Port not open (Error: %d)"
#define sSetupCommErr    "Error initializing Read/Write Buffers (Error: %d)"
#define sUpdateDCBErr    "Error updating DataControlBlock (Error: %d)"
#define sCommTimeoutsErr "Error updating CommTimeouts (Error: %d)"
#define sEscFuncError    "EscapeCommFunction failure (Error: %d)"
#define sReadError       "Read error (Error: %d)"
#define sWriteError      "Write error (Error: %d)"
#define PurgeRead        PURGE_RXABORT + PURGE_RXCLEAR
#define PurgeWrite       PURGE_TXABORT + PURGE_TXCLEAR
#define PurgeReadWrite   PurgeRead + PurgeWrite

typedef void __fastcall (__closure *TCommEvent)(TObject* Sender,
                                                   DWORD Status);
typedef void __fastcall (__closure *TCommErrorEvent)(TObject* Sender,
                                                   int Errors);
typedef void __fastcall (__closure *TCommRxCharEvent)(TObject* Sender,
                                                   DWORD Count);

typedef void __fastcall (__closure *TCommStatEvent)(TObject* Sender,
                                                    DWORD Status,
                                                    COMSTAT ComStat);

enum TCommEventType {evBreak, evCts, evDsr, evError, evRing,
                        evRlsd, evRxChar, evRxFlag, evTxEmpty };
typedef Set<TCommEventType,evBreak , evTxEmpty>  TCommEventTypes;

enum  TBaudRate {br110, br300, br600, br1200, br2400, br4800, br9600, br14400,
    br19200, br38400, br56000, br57600, br115200, br128000, br256000};
enum  TParity {paNone, paOdd, paEven, paMark, paSpace};
enum  TStopBits { sb10, sb15, sb20};
enum  TDataBits {da4, da5, da6, da7, da8};
enum  TFlowControl {fcNone, fcCTS, fcDTR, fcSoftware, fcDefault};

enum  TCommOption {coParityCheck, coDsrSensitivity, coIgnoreXOff,
    coErrorChar, coNullStrip};
typedef Set<TCommOption,coParityCheck , coNullStrip>  TCommOptions;

class TCommEventThread : public TThread
{
    private :
        HANDLE FCommHandle ;
        DWORD FEventMask ;
        DWORD FSuspendTime ;
        TCommEvent FOnSignal;
    protected :
        virtual void __fastcall Execute(void);
        void __fastcall DoOnSignal(void);

    public :
        __fastcall TCommEventThread::TCommEventThread(HANDLE Handle,
                                                    TCommEventTypes MonitorEvents,
                                                    DWORD SuspendTime);
        __property TCommEvent OnSignal= { read=FOnSignal, write=FOnSignal } ;
} ;

class TThreadComm;

class TCommEventChars : public TPersistent
{
  private :
    TThreadComm *FOwner ;
    char FXOnChar;
    char FXOffChar;
    char FErrorChar;
    char FEofChar;
    char FEvtChar;
    void __fastcall SetEventChar(int Index, char Value);
  public :
        __fastcall TCommEventChars::TCommEventChars(TThreadComm *Owner);
    virtual void __fastcall Assign(TPersistent *Source);
  __published :
    __property char XOnChar={index=1,read=FXOnChar,write=SetEventChar,default=17};
    __property char XOffChar={index=2,read=FXOffChar,write=SetEventChar,default=19};
    __property char ErrorChar={index=3,read=FErrorChar,write=SetEventChar,default=0};
    __property char EofChar={index=4,read=FEofChar,write=SetEventChar,default=0};
    __property char EvtChar={index=5,read=FEvtChar,write=SetEventChar,default=0};
} ;




//---------------------------------------------------------------------------
class PACKAGE TThreadComm : public TComponent
{
  private:
    HANDLE FHandle;
    DCB    FDCB;
    String FDeviceName;
    TSimpleEvent *FEvent;
    TCriticalSection *FCriticalSection;
    int FReadTimeout;
    int FWriteTimeout;
    WORD FReadBufSize;
    WORD FWriteBufSize;
    DWORD FSuspendTime ;
    TCommEventTypes FMonitorEvents;
    TBaudRate FBaudRate;
    TParity FParity;
    TStopBits FStopBits;
    TDataBits FDataBits;
    bool        FConnected ;
    OVERLAPPED  WRITE_OS ;
    OVERLAPPED  READ_OS ;
    TCommEventThread *FEventThread;
    TCommEventChars *FEventChars;
    TCommOptions FOptions;
    TFlowControl FFlowControl;
    TNotifyEvent FOnBreak;
    TNotifyEvent FOnCts;
    TNotifyEvent FOnDsr;
    TCommErrorEvent FOnError;
    TNotifyEvent FOnRing;
    TNotifyEvent FOnRlsd;
    TCommRxCharEvent FOnRxChar;
    TNotifyEvent FOnRxFlag;
    TNotifyEvent FOnTxEmpty;
    TCommStatEvent FCommStatEvent ;
    void __fastcall SetDeviceName(String Value);
    void __fastcall SetMonitorEvents(TCommEventTypes Value);
    void __fastcall SetReadBufSize(WORD Value);
    void __fastcall SetWriteBufSize(WORD Value);
    void __fastcall SetSuspendTime(DWORD Value);
    void __fastcall SetBaudRate(TBaudRate Value);
    void __fastcall SetParity(TParity Value);
    void __fastcall SetStopBits(TStopBits Value);
    void __fastcall SetDataBits(TDataBits Value);
    void __fastcall SetOptions(TCommOptions Value);
    void __fastcall SetFlowControl(TFlowControl Value);
    bool __fastcall GetModemState(int Index);
    bool __fastcall GetComState(int Index);
    void __fastcall Lock();
    void __fastcall Unlock();
    void __fastcall CheckOpen();
    void __fastcall EscapeComm(int Flag);
    void __fastcall UpdateCommTimeouts();
protected:
    virtual void __fastcall CreateHandle();
    void __fastcall DestroyHandle();
    void __fastcall HandleCommEvent(TObject *Sender,DWORD Status);
    void __fastcall UpdateDataControlBlockLock();
    __property String DeviceName={ read=FDeviceName,write=SetDeviceName};
    __property int ReadTimeout  ={ read=FReadTimeout,write=FReadTimeout,default=1000};
    __property int WriteTimeout ={ read=FWriteTimeout,write=FWriteTimeout,default=1000};
    __property WORD ReadBufSize  ={ read=FReadBufSize,write=SetReadBufSize,default=4096};
    __property WORD WriteBufSize ={ read=FWriteBufSize,write=SetWriteBufSize,default=2048};
    __property DWORD SuspendTime ={ read=FSuspendTime,write=SetSuspendTime,default=5};
    __property TCommEventTypes MonitorEvents ={read=FMonitorEvents,write=SetMonitorEvents};
    __property TBaudRate BaudRate ={read=FBaudRate,write=SetBaudRate,default=br9600};
    __property TParity Parity ={ read=FParity,write=SetParity,default=paNone};
    __property TStopBits StopBits ={ read=FStopBits,write=SetStopBits,default=sb10};
    __property TDataBits DataBits ={ read=FDataBits,write=SetDataBits,default=da8};
    __property TCommEventChars* EventChars ={ read=FEventChars };
    __property TCommOptions Options ={ read=FOptions,write=SetOptions};
    __property TFlowControl FlowControl ={ read=FFlowControl,write=SetFlowControl,default=fcDefault};
    __property TNotifyEvent OnBreak ={ read=FOnBreak,write=FOnBreak};
    __property TNotifyEvent OnCts ={ read=FOnCts, write=FOnCts} ;
    __property TNotifyEvent OnDsr ={ read=FOnDsr, write=FOnDsr};
    __property TNotifyEvent OnRing ={ read=FOnRing,write=FOnRing};
    __property TNotifyEvent OnRlsd ={ read=FOnRlsd,write=FOnRlsd};
    __property TCommErrorEvent OnError={ read=FOnError, write=FOnError};
    __property TCommRxCharEvent OnRxChar={ read=FOnRxChar, write=FOnRxChar};
    __property TNotifyEvent OnRxFlag={ read=FOnRxFlag, write=FOnRxFlag};
    __property TNotifyEvent OnTxEmpty={read=FOnTxEmpty, write=FOnTxEmpty};
    __property TCommStatEvent OnComStatEvent={read=FCommStatEvent,write=FCommStatEvent};
public:
    __fastcall TThreadComm(TComponent* Owner);
    virtual __fastcall ~TThreadComm();
    void __fastcall Open();
    void __fastcall Close();
    bool __fastcall Enabled();
    int __fastcall Write(char Buf[], DWORD Count) ;
    int __fastcall Read(char Buf[] , DWORD Count);
    int __fastcall InQueCount();
    int __fastcall OutQueCount();
    void __fastcall PurgeIn();
    void __fastcall PurgeOut();
//    {Comm escape functions}
    void __fastcall SetDTRState(bool State);
    void __fastcall SetRTSState(bool State);
    void __fastcall SetBREAKState(bool State);
    void __fastcall SetXONState(bool State);
    void __fastcall UpdateDataControlBlock();
    __property bool Connected={ read=FConnected} ;
//    {Comm status flags}
    __property bool CTS={ index=1, read=GetModemState } ;
    __property bool DSR ={ index=2, read=GetModemState} ;
    __property bool RING={ index=3, read=GetModemState } ;
    __property bool RLSD ={ index=4, read=GetModemState} ;

    __property bool CtsHold ={ index=1, read=GetComState };
    __property bool DsrHold ={ index=2, read=GetComState };
    __property bool RlsdHold ={ index=3, read=GetComState };
    __property bool XOffHold ={ index=4, read=GetComState };
    __property bool XOffSent ={ index=5, read=GetComState };

    __property HANDLE Handle ={ read=FHandle };
__published:
};

class PACKAGE TComm : public TThreadComm
{
  public:
    __fastcall virtual TComm(TComponent* Owner);
    virtual __fastcall ~TComm();
  __published:
    __property DeviceName;
    __property ReadTimeout;
    __property WriteTimeout;
    __property ReadBufSize;
    __property WriteBufSize;
    __property SuspendTime ;
    __property MonitorEvents;
    __property BaudRate;
    __property Parity;
    __property StopBits;
    __property DataBits;
    __property EventChars;
    __property Options;
    __property FlowControl;
    __property OnBreak;
    __property OnCts;
    __property OnDsr;
    __property OnRing;
    __property OnRlsd;
    __property OnError;
    __property OnRxChar;
    __property OnRxFlag;
    __property OnTxEmpty;
    __property OnComStatEvent;
};

//---------------------------------------------------------------------------
#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久99精品久久| 午夜激情久久久| 91麻豆精品国产91久久久久| 成人v精品蜜桃久久一区| 美女视频第一区二区三区免费观看网站| 中文字幕+乱码+中文字幕一区| 2023国产精品视频| 精品国精品国产尤物美女| 在线观看亚洲成人| 97se亚洲国产综合自在线| 不卡的电影网站| 日韩久久精品一区| 国产日韩精品一区二区三区在线| 久久久一区二区三区捆绑**| 国产婷婷色一区二区三区四区| 亚洲国产视频a| 日韩精品一二区| 色老汉一区二区三区| 91浏览器在线视频| 7799精品视频| 一区二区三区精品视频| 午夜久久电影网| 在线视频欧美区| 中文字幕在线观看一区| 中文字幕在线免费不卡| 国产白丝精品91爽爽久久| 91日韩精品一区| 国产精品久久毛片a| 亚洲成人资源在线| 国产在线一区二区综合免费视频| 激情小说欧美图片| 欧美大胆人体bbbb| 免费的国产精品| 成人av电影免费观看| 国产日本欧洲亚洲| 国产91丝袜在线18| 国产亲近乱来精品视频 | 韩国一区二区在线观看| 91 com成人网| 免费在线观看视频一区| 欧美肥大bbwbbw高潮| 精品区一区二区| 自拍偷拍国产精品| 韩国精品久久久| 精品国产污网站| 大桥未久av一区二区三区中文| 在线观看网站黄不卡| 亚洲美女电影在线| 国产98色在线|日韩| 欧美韩国日本综合| 成人午夜免费av| 亚洲欧美在线视频| 在线影视一区二区三区| 一区二区欧美国产| 欧美理论片在线| 麻豆久久久久久| 国产欧美日韩在线观看| 91原创在线视频| 午夜久久久久久电影| 日韩一区二区三区电影| 一区二区三区在线免费| 欧美日韩不卡一区二区| 亚洲欧美综合另类在线卡通| 一本色道久久综合狠狠躁的推荐| 久久久久国产精品麻豆ai换脸| 成熟亚洲日本毛茸茸凸凹| 亚洲精品中文字幕乱码三区| 国产精品1区2区3区在线观看| 国产精品色婷婷| 国产99一区视频免费| 亚洲精品视频一区二区| 91精品久久久久久久99蜜桃| 国产精品69久久久久水密桃| 一个色综合av| 精品人在线二区三区| 99久久婷婷国产综合精品电影| 亚洲妇女屁股眼交7| 久久亚区不卡日本| 欧美在线观看你懂的| 激情深爱一区二区| 亚洲一区中文在线| 在线精品亚洲一区二区不卡| 日韩成人av影视| 日韩午夜激情免费电影| 成人免费视频免费观看| 日本aⅴ亚洲精品中文乱码| 国产欧美日韩久久| 911精品产国品一二三产区| 成人sese在线| 国产一区二区三区国产| 久久久久久久久免费| 在线观看不卡一区| 成人一道本在线| 久国产精品韩国三级视频| 国产午夜精品美女毛片视频| 欧美日韩国产综合久久| 成人免费视频视频| 国产精一品亚洲二区在线视频| 亚洲一区二区四区蜜桃| 亚洲欧洲色图综合| 久久久久久99精品| 精品久久久久久最新网址| 欧美日韩高清在线| 欧美在线看片a免费观看| av成人老司机| 无码av免费一区二区三区试看| **欧美大码日韩| 日韩av一二三| 亚洲高清视频中文字幕| 亚洲猫色日本管| 亚洲素人一区二区| 国产精品麻豆网站| 国产日韩精品一区二区三区在线| 日韩精品一区二区在线| 日韩一级成人av| 国产欧美精品一区二区色综合| 欧美一区二区三区在线视频| 亚洲成人动漫av| 中文字幕日本不卡| 国产女人aaa级久久久级| 久久亚洲影视婷婷| 国产日韩欧美精品一区| 成人激情免费电影网址| 国产成人av在线影院| 国产一区二区在线观看免费| www.成人网.com| 91精品国产91综合久久蜜臀| 国产欧美久久久精品影院| 亚洲一区二区三区视频在线| 激情综合网激情| 欧美自拍丝袜亚洲| 久久精品日产第一区二区三区高清版 | **性色生活片久久毛片| 日本中文一区二区三区| 国产不卡免费视频| 欧美日韩大陆在线| 亚洲欧洲制服丝袜| 国产在线精品一区二区夜色| 色综合天天综合网天天狠天天| 成人黄色片在线观看| 日韩一区二区视频| 成人激情开心网| 精品剧情在线观看| 亚洲成av人在线观看| 成人美女在线观看| 精品美女被调教视频大全网站| 亚洲欧美日韩成人高清在线一区| 韩国女主播一区二区三区| 欧美精品久久久久久久多人混战| 亚洲人成小说网站色在线 | 久久久久久免费| 欧美bbbbb| 欧美久久久久中文字幕| 亚洲免费观看在线观看| 成人黄色大片在线观看| 久久亚洲精华国产精华液| 蜜乳av一区二区| 91精品欧美综合在线观看最新| 亚洲男同性视频| 99国产精品久久久| 中文字幕免费观看一区| 国产一区二区影院| 欧美精品一区二区三区高清aⅴ | 成人av网站在线| 久久婷婷国产综合精品青草| 青青草国产成人av片免费| 欧美亚洲愉拍一区二区| 欧美成人a视频| 日本成人在线不卡视频| 在线播放91灌醉迷j高跟美女| 亚洲激情校园春色| 日本韩国欧美在线| 亚洲精品国产第一综合99久久 | 久久99国产精品成人| 精品美女一区二区| 国内成人免费视频| 久久在线观看免费| 国产伦精品一区二区三区免费 | 正在播放一区二区| 日本免费在线视频不卡一不卡二| 91精品国产综合久久久久久| 美日韩一级片在线观看| 久久综合久久综合久久综合| 国产一区二区三区综合| 日本一区二区三区视频视频| 99热精品国产| 亚洲在线观看免费视频| 欧美日韩的一区二区| 美女一区二区在线观看| 久久亚区不卡日本| 91丨porny丨蝌蚪视频| 亚洲国产毛片aaaaa无费看| 8v天堂国产在线一区二区| 国产精品综合视频| 亚洲欧美影音先锋| 777亚洲妇女| 99在线视频精品| 亚洲123区在线观看| 日韩一级在线观看| 丁香婷婷综合五月|