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

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

?? main.cpp

?? BCB 串口通信
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
//---------------------------------------------------------------------------
#include "allhead.h"
#pragma hdrstop

#include "main.h"
#include "sysfunc.h"
#include "verinfo.h"
#include "globalvar.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "SPComm"
#pragma resource "*.dfm"
Tfrmmain *frmmain;
//---------------------------------------------------------------------------
__fastcall Tfrmmain::Tfrmmain(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall Tfrmmain::WMSYSCommand(TWMSysCommand &Message)
{
    if (Message.CmdType != idAbout)
        TForm::DefaultHandler(&Message);
    else
        verinfoForm->ShowModal();
}
//---------------------------------------------------------------------------

// 普通hint的顯示(放在狀態條的第一個panel中).
void __fastcall Tfrmmain::showHint(TObject* Owner)
{
    //if (IsPortOpen)
    {
        mainStBar->Panels->Items[1]->Text = strPortStatus;
        mainStBar->Panels->Items[2]->Text = strRxTx;
    }

    mainStBar->Panels->Items[0]->Text = " " + Application->Hint;
}
//---------------------------------------------------------------------------

void Tfrmmain::enumComPorts(TStrings *Ports)
{
    HKEY hKey;
    int ErrCode, Index;
    AnsiString ValueName, Data;
    DWORD ValueLen, DataLen, ValueType;
    TStringList *TmpPorts;

    ErrCode = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "HARDWARE\\DEVICEMAP\\SERIALCOMM",
        0, KEY_READ, &hKey);
	
    if(ErrCode != ERROR_SUCCESS)
    {
        Application->MessageBoxA("Can't open the Key", SHintTitle, MB_OK);
        exit(0);  // raise EComPort.Create(CError_RegError, ErrCode);
    }
	
    TmpPorts = new TStringList;
    try
    {
        Index = 0;
        do
        {
            ValueLen = 256;
            DataLen = 256;
            ValueName.SetLength(ValueLen);
            Data.SetLength(DataLen);
            ErrCode = RegEnumValue(hKey, Index,
                ValueName.c_str(), &ValueLen,
                NULL,  &ValueType,
                Data.c_str(),  &DataLen);
            if (ErrCode == ERROR_SUCCESS) 
            {
                Data.SetLength(DataLen);
                TmpPorts->Add(Data);
                Index ++;
            }
            else  if (ErrCode != ERROR_NO_MORE_ITEMS)
            {
                Application->MessageBoxA("Can't read the Key", SHintTitle, MB_OK);
                exit(0); //raise EComPort.Create(CError_RegError, ErrCode);
            }
	
        }
        while (ErrCode !=ERROR_SUCCESS) ;

        TmpPorts->Sort();
        Ports->Assign(TmpPorts);

        RegCloseKey(hKey);
        delete TmpPorts;

    }
    catch(...)
    {
        RegCloseKey(hKey);
        delete TmpPorts;
    };	

}
//---------------------------------------------------------------------------


void __fastcall Tfrmmain::FormCreate(TObject *Sender)
{
    Application->HintColor = (TColor)RGB(240,240,200);
    Application->HintPause = 500;
    Application->OnHint = showHint;
    HMENU myMenu =  GetSystemMenu(Handle, False);
    AppendMenu(myMenu, MF_SEPARATOR, 0, "");
    AppendMenu(myMenu, MF_STRING, idAbout, "關于");

    loadBmp(sbtnclose->Glyph, SResExit);
    loadBmp(sbtnhelp->Glyph, SResAbout);
    loadBmp(sbtnPort->Glyph, SResLedOn);
    loadBmp(sbtnShowD->Glyph, SResCurve);
    loadBmp(sbtnSetP->Glyph, SResM2O);
    loadBmp(sbtnStick->Glyph, SResStick1);

    // 串口設置

    enumComPorts(CmbPort->Items);

    FRXNum =0;
    FTXNum =0;
    CmbPort->ItemIndex = 0;
    Comm1->CommName = CmbPort->Text;
    CmbBRate->ItemIndex = 6;
    Comm1->BaudRate = StrToInt(CmbBRate->Text);
    CmbPBit->ItemIndex = 0;
    Comm1->Parity = None;
    CmbDBit->ItemIndex = 3;
    Comm1->ByteSize = TByteSize(8);
    CmbSBit->ItemIndex = 0;
    Comm1->StopBits = TStopBits(1);

    // 其它參數設置
    IsOnTop = false;
    IsPortOpen = false;

    NBYTE = 4;
    nbt =0;
    MaxPoints = 1000;
    ScrollPoints = 5;
    nsp =0;
    ncr =0;

    tmpVal =new char[NBYTE];
}
//---------------------------------------------------------------------------


void __fastcall Tfrmmain::FormCloseQuery(TObject *Sender, bool &CanClose)
{
    Word wd_mr;

    CanClose = true;
    if (IsPortOpen)
    {
        wd_mr = Application->MessageBox(TEXT(SIsPortOpen),
                         TEXT(SHintTitle), MB_ICONQUESTION + MB_YESNO);
        switch (wd_mr)
        {
            case ID_YES:
                break;
            default:
                CanClose = false;
        }
    }

}
//---------------------------------------------------------------------------

void __fastcall Tfrmmain::FormClose(TObject *Sender, TCloseAction &Action)
{
    // 關閉串口
    if (IsPortOpen)
    {
        Comm1->StopComm();
        IsPortOpen = false;
    }

    delete tmpVal;
}
//---------------------------------------------------------------------------


// 退出主窗口及應用程序
void __fastcall Tfrmmain::mf_exitClick(TObject *Sender)
{
    Close();
}
//---------------------------------------------------------------------------

void __fastcall Tfrmmain::CmbPortChange(TObject *Sender)
{
    Comm1->CommName = CmbPort->Text;            
}
//---------------------------------------------------------------------------

void __fastcall Tfrmmain::CmbBRateKeyPress(TObject *Sender, char &Key)
{
    // 0~9
    if (!(((Key >47) && (Key<58)) || (Key=='\8')))
        Key = '\0';
}
//---------------------------------------------------------------------------

void __fastcall Tfrmmain::CmbBRateChange(TObject *Sender)
{
    int BaudRate;

    if  (CmbBRate->Text =="Custom")
    {
        CmbBRate->Style = csDropDown;
        CmbBRate->SetFocus();
    }
    else
    {
        if  (CmbBRate->ItemIndex >0 )
            CmbBRate->Style = csDropDownList;

        if (TryStrToInt(CmbBRate->Text, BaudRate))
            Comm1->BaudRate = BaudRate;
    }
}
//---------------------------------------------------------------------------

void __fastcall Tfrmmain::CmbPBitChange(TObject *Sender)
{
    //TParity = ( None, Odd, Even, Mark, Space );
    Comm1->Parity = TParity(CmbPBit->ItemIndex);
}
//---------------------------------------------------------------------------

void __fastcall Tfrmmain::CmbDBitChange(TObject *Sender)
{
   //TByteSize = ( _5, _6, _7, _8 );
   Comm1->ByteSize =  TByteSize(CmbDBit->ItemIndex);
}
//---------------------------------------------------------------------------

void __fastcall Tfrmmain::CmbSBitChange(TObject *Sender)
{
    //TStopBits = ( _1, _1_5, _2 );
    Comm1->StopBits = TStopBits(CmbSBit->ItemIndex);
}
//---------------------------------------------------------------------------


//字符串轉換成16進制字符串
AnsiString Tfrmmain::StrToHexStr(const AnsiString &sin)
{
    int i;
    AnsiString sr;
    char* p=sin.c_str();

    //sprintf(sr.c_str(), "%x ", p);
	
    for(i =0; i<sin.Length(); i++)
        sr =sr + IntToHex(p[i],2) +' ';
    return sr;
}
//---------------------------------------------------------------------------

//16進制字符串轉換成字符串
AnsiString Tfrmmain::HexStrToStr(const AnsiString &sin)
{
    /*int i;
    AnsiString st, sr;
    unsigned int d;
    char* p=sin.c_str();
    stringstream ss;

    ss  <<hex <<sin.c_str();

    i =0;
    sr  ="";
    sin.LowerCase();
    while (i<sin.Length())
    {
        while ((i<sin.Length()) &&

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲另类中文字| 26uuu国产日韩综合| 不卡一区二区中文字幕| 激情国产一区二区| 免费在线观看成人| 日韩av一区二区三区| 日韩精品免费专区| 日本成人中文字幕| 国产在线视频一区二区三区| 卡一卡二国产精品| 国产一区二区伦理| www.日韩大片| 成人一区二区三区在线观看| 亚洲国产精品久久久男人的天堂| 一片黄亚洲嫩模| 美国毛片一区二区三区| 国产乱色国产精品免费视频| 国产一区二区免费视频| 99久久精品国产麻豆演员表| 日本韩国欧美国产| 精品国产sm最大网站免费看| 亚洲人成伊人成综合网小说| 日韩黄色免费电影| 一本大道久久a久久精二百| 精品国精品国产尤物美女| 国产精品女同一区二区三区| 亚洲欧美色图小说| 国产成人av一区二区三区在线 | 综合色天天鬼久久鬼色| 自拍偷拍国产精品| 激情小说亚洲一区| 精品日本一线二线三线不卡| 日本网站在线观看一区二区三区| 精品视频在线看| 日本不卡123| 国产午夜精品理论片a级大结局| 久久精品99久久久| 日韩欧美国产1| 国产一区二区免费在线| 亚洲精品国产视频| 久久精品在这里| 在线不卡欧美精品一区二区三区| 韩日欧美一区二区三区| 一区2区3区在线看| 粉嫩欧美一区二区三区高清影视| 色婷婷激情综合| 亚洲日本在线天堂| 欧美日韩免费电影| 偷拍与自拍一区| 日韩免费高清av| 狠狠v欧美v日韩v亚洲ⅴ| www国产成人| 91麻豆国产精品久久| 一区二区三区中文字幕精品精品| 99久久精品免费看国产| 亚洲日本中文字幕区| 91精品综合久久久久久| 国产在线视频一区二区| 最近日韩中文字幕| 欧美日韩国产在线播放网站| 国产一区二区导航在线播放| 成人免费一区二区三区视频| 欧美亚洲一区三区| 国产成人午夜高潮毛片| 一区二区国产盗摄色噜噜| 日韩午夜激情电影| 色狠狠色狠狠综合| 国产精品一区二区黑丝| 香港成人在线视频| 欧美国产成人精品| 欧美r级在线观看| 在线免费观看成人短视频| 国产乱人伦偷精品视频免下载| 精品久久久久久综合日本欧美| 国产成人日日夜夜| 蜜臀久久久99精品久久久久久| 欧美国产精品一区二区三区| 日韩免费观看高清完整版在线观看| 97se亚洲国产综合自在线不卡| 国产一区二区导航在线播放| 免费观看91视频大全| 免费欧美日韩国产三级电影| 香蕉av福利精品导航| 亚洲国产你懂的| 一区二区三区四区五区视频在线观看| 久久精品一区二区三区四区| 精品国产1区二区| 久久综合给合久久狠狠狠97色69| 6080日韩午夜伦伦午夜伦| 欧美精选午夜久久久乱码6080| 欧美亚洲一区三区| 777色狠狠一区二区三区| 777亚洲妇女| 精品国产91亚洲一区二区三区婷婷 | 久久久天堂av| 中文字幕亚洲综合久久菠萝蜜| 久久理论电影网| 成人欧美一区二区三区在线播放| 中文字幕中文字幕一区二区| 一区二区三区在线观看欧美| 一区二区三区中文字幕在线观看| 亚洲人成精品久久久久久| 亚洲影院久久精品| 国内精品不卡在线| 成人av在线播放网站| 欧美伊人久久久久久久久影院| 欧美一区二区视频观看视频| 欧美xxx久久| 亚洲人妖av一区二区| 久久av资源站| 欧美人成免费网站| 中文字幕欧美日韩一区| 婷婷成人综合网| aaa亚洲精品一二三区| 精品国精品国产尤物美女| 日韩伦理av电影| 国产成人免费高清| 欧美一区二区三区四区五区| 国产精品毛片久久久久久久| 免费视频一区二区| 精品视频在线免费看| 国产精品久久久久久久久免费樱桃 | 国产精品毛片高清在线完整版| 免费观看91视频大全| 韩国女主播一区二区三区| 在线观看日韩国产| 亚洲免费在线视频一区 二区| 九色|91porny| 日韩欧美高清dvd碟片| 日本不卡一二三| 3d动漫精品啪啪1区2区免费| 亚洲一区视频在线观看视频| av在线播放成人| 亚洲欧美一区二区在线观看| 丰满放荡岳乱妇91ww| 国产精品国产成人国产三级| 91无套直看片红桃| 国产精品久久影院| 一本大道综合伊人精品热热| 中文字幕一区二区三区视频| 成人av免费在线| 亚洲靠逼com| 日韩免费看的电影| 成人午夜av影视| 亚洲成人午夜影院| 精品国精品自拍自在线| 99精品国产视频| 亚洲高清免费在线| 久久久三级国产网站| 色综合久久久久久久| 美女性感视频久久| 国产精品久久久久久久久免费桃花| 欧美在线视频日韩| 美女视频免费一区| 一区二区在线观看免费| 欧美裸体bbwbbwbbw| 成人动漫一区二区在线| 午夜av电影一区| 一区二区三区在线影院| 91精品欧美福利在线观看| 成人毛片老司机大片| 国产精品一区二区在线播放| 中文文精品字幕一区二区| 亚洲成人av免费| 欧美一区二区三区四区视频| 一本一道久久a久久精品综合蜜臀| 亚洲国产欧美一区二区三区丁香婷| 日韩精品一区二区三区视频播放 | 欧美少妇性性性| 成人免费视频caoporn| 久久不见久久见中文字幕免费| 一区二区三区成人| 亚洲美女屁股眼交| 国产精品乱码久久久久久| 久久久天堂av| 久久色成人在线| 久久久久久久国产精品影院| 欧美性高清videossexo| 99久久99久久久精品齐齐| 国产成人精品亚洲午夜麻豆| 秋霞午夜鲁丝一区二区老狼| 日本不卡1234视频| 麻豆精品国产传媒mv男同| 蜜臀a∨国产成人精品| 蜜臀久久99精品久久久久久9| 日日夜夜精品视频免费| 精品一区二区在线看| 国产乱子伦视频一区二区三区| 国产精品伊人色| 91美女在线观看| 日韩三级精品电影久久久 | 国产精品18久久久久久久久 | 亚洲码国产岛国毛片在线| 亚洲黄色片在线观看| 久久精品国产久精国产| 国产精品一区不卡| 一本久道中文字幕精品亚洲嫩| 欧美精选在线播放| 欧美国产日韩在线观看| 性感美女极品91精品|