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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? unit1.cpp

?? 家庭內(nèi)溫度記錄儀器與計(jì)算機(jī)之間的通訊軟件
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "MSCommLib_OCX"
#pragma link "PERFGRAP"
#pragma resource "*.dfm"
TfrmMain *frmMain;
//*************************全局變量定義*********************
AnsiString IniFilePath=GetCurrentDir()+"\\INI.ini";
struct SystemInfo//系統(tǒng)信息
{
   int CommPort;//通訊端口
   int DayNum;//天數(shù)
   int StanTemp;//標(biāo)準(zhǔn)室溫
   int TimeUnit;//顯示時(shí)間單位
   int Memo1;//備用1
   int Memo2;//備用2
   AnsiString  Memo3;//備用3
   bool Memo4;//備用4
}objSysInfo;

//---------------------------------------------------------------------------
__fastcall TfrmMain::TfrmMain(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void  __fastcall TfrmMain::AutoCreateFolder()
{//自動(dòng)建立文件夾
   if (!DirectoryExists(GetCurrentDir()+"\\" +"歷史數(shù)據(jù)\\"))
   {
     if (!CreateDir(GetCurrentDir()+"\\" +"歷史數(shù)據(jù)\\"))
       throw Exception("不能建立歷史數(shù)據(jù)文件夾");
   }
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::ReadIniFile()
{//讀配置信息或建立新配置信息
   AnsiString  strPromt="系統(tǒng)信息";
   TIniFile *FileIni = new TIniFile (IniFilePath);

   AutoCreateFolder();

   if(FileExists(IniFilePath))
   {   objSysInfo.CommPort=FileIni->ReadInteger(strPromt, "串口號(hào)", 2);
       objSysInfo.DayNum=FileIni->ReadInteger(strPromt, "天數(shù)", 1);
       objSysInfo.StanTemp=FileIni->ReadInteger(strPromt, "標(biāo)準(zhǔn)室溫", 18);
       objSysInfo.TimeUnit=FileIni->ReadInteger(strPromt, "顯示時(shí)間單位", 1);
       objSysInfo.Memo1=FileIni->ReadInteger(strPromt, "備用1", 1);
       objSysInfo.Memo2=FileIni->ReadInteger(strPromt, "備用2", 1);
       objSysInfo.Memo3=FileIni->ReadString(strPromt, "備用3", "");
       objSysInfo.Memo4=FileIni->ReadBool(strPromt, "備用4", 1);
   }
   else
   {   Application->MessageBox("配置文件不存在,請(qǐng)重新設(shè)置參數(shù)!",NULL, MB_OK);
       FileIni->WriteInteger(strPromt, "串口號(hào)",1);
       FileIni->WriteInteger(strPromt, "天數(shù)",7);
       FileIni->WriteInteger(strPromt, "標(biāo)準(zhǔn)室溫",18);
       FileIni->WriteInteger(strPromt, "顯示時(shí)間單位",2);
       FileIni->WriteInteger(strPromt, "備用1",1);
       FileIni->WriteInteger(strPromt, "備用2",1);
       FileIni->WriteString(strPromt, "備用3","abc");
       FileIni->WriteBool(strPromt, "備用4",1);
   }
   delete FileIni;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::MenuEnable(bool bCtrl)
{//根據(jù)串口狀態(tài)使能菜單
    mnuControl->Enabled=bCtrl;
    mnuGraph->Enabled=bCtrl;
    mnuData->Enabled=bCtrl;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::OpenComm()
{//打開(kāi)串行端口
   AnsiString strMeg="不能打開(kāi)端口"+String(objSysInfo.CommPort);
   AnsiString strMeg1="溫度記錄儀使用端口"+String(objSysInfo.CommPort);
   try
   {
     MSComm1->CommPort=objSysInfo.CommPort;
     MSComm1->PortOpen=true;
     Application->MessageBox(strMeg1.c_str(),"端口",MB_OK);
     MenuEnable(true);
   }
   catch(...)
   {   Application->MessageBox(strMeg.c_str(),"端口錯(cuò)誤,重新設(shè)置端口",MB_OK);
       MenuEnable(false);
   }
   //改變菜單選項(xiàng)
   switch(objSysInfo.CommPort)
   {
      case 1:
         mnuCOM1->Checked=true;mnuCOM2->Checked=false;
         mnuCOM3->Checked=false;mnuCOM4->Checked=false;
         break;
      case 2:
         mnuCOM1->Checked=false;mnuCOM2->Checked=true;
         mnuCOM3->Checked=false;mnuCOM4->Checked=false;
         break;
      case 3:
         mnuCOM1->Checked=false;mnuCOM2->Checked=false;
         mnuCOM3->Checked=true;mnuCOM4->Checked=false;
         break;
      case 4:
         mnuCOM1->Checked=false;mnuCOM2->Checked=false;
         mnuCOM3->Checked=false;mnuCOM4->Checked=true;
         break;
   }
   TIniFile *FileIni = new TIniFile (IniFilePath);
      FileIni->WriteInteger("系統(tǒng)信息", "串口號(hào)",objSysInfo.CommPort);
   delete FileIni;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::CloseComm()
{
    if(MSComm1->PortOpen) MSComm1->PortOpen=false;
}
void __fastcall TfrmMain::FormCreate(TObject *Sender)
{//初始化
   ReadIniFile();
   OpenComm();
   grdData->Cells[0][0]="時(shí)間";
   grdData->Cells[1][0]="溫度值(℃)";

   OpenFile->InitialDir=GetCurrentDir()+"\\歷史數(shù)據(jù)";
   OpenFile->Filter = "溫度記錄值tev(*.tev)|*.tev";
   OpenFile->Title = "打開(kāi)溫度記錄值文件";

   SaveFile->InitialDir=GetCurrentDir()+"\\歷史數(shù)據(jù)";
   SaveFile->Filter = "溫度記錄值文件tev(*.tev)|*.tev";
   SaveFile->Title = "保存溫度記錄值文件";

   UDDay->Position= objSysInfo.DayNum ;
   UDTemp->Position=objSysInfo.StanTemp ;
   UDYear1->Position=StrToInt(FormatDateTime("yyyy", Now()))-2000;
   UDYear2->Position=UDYear1->Position;
   UDMonth1->Position=StrToInt(FormatDateTime("mm", Now()));
   UDMonth2->Position=UDMonth1->Position;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::mnuExitClick(TObject *Sender)
{
    CloseComm();
    Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::mnuCOM1Click(TObject *Sender)
{  CloseComm();
   objSysInfo.CommPort=1;
   OpenComm();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::mnuCOM2Click(TObject *Sender)
{  CloseComm();
   objSysInfo.CommPort=2;
   OpenComm();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::mnuCOM3Click(TObject *Sender)
{  CloseComm();
   objSysInfo.CommPort=3;
   OpenComm();        
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::mnuCOM4Click(TObject *Sender)
{
   CloseComm();
   objSysInfo.CommPort=4;
   OpenComm();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::SendReport(Byte ReportType)
{//發(fā)送報(bào)文
    int len;

    MSComm1->InBufferCount = 0;

    SendData[0] = 0XEB ;//報(bào)文頭
    SendData[1] = 0X90;
    SendData[2] = ReportType ;//類(lèi)型
    if(ReportType==1 || ReportType==2)
    {
       len=6;
       SendData[3] = objSysInfo.DayNum ;//天數(shù)
    }
    else
    {  SendData[3] = 20;
       SendData[4] = StrToInt(FormatDateTime("yyyy", Now()))-2000;
       SendData[5] = StrToInt(FormatDateTime("mm", Now()));
       SendData[6] = StrToInt(FormatDateTime("dd", Now()));
       SendData[7] = StrToInt(FormatDateTime("hh", Now()));
       SendData[8] = StrToInt(FormatDateTime("nn", Now()));
       len=11;
    }
    SendData[len-2]=0;
    SendData[len-1] = 0XD;//結(jié)束位
    
    for(int i=0;i<len-2;i++)
       SendData[len-2] = SendData[len-2] ^ SendData[i];

    sBuff=VarArrayCreate(OPENARRAY(int,(0,len-1)),varByte);
    for(int i=0;i<len;i++)
        sBuff.PutElement(SendData[i],i);
    MSComm1->Output = sBuff;

    bSendFlag=true;
    DelayTime=0;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::mnuAboutClick(TObject *Sender)
{
   frmAbout->ShowModal();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::ReceiveReport()
{ //接收模塊遙測(cè)數(shù)據(jù)
    int InBufferCount,t;
    Byte  ChkSum=0;

    InBufferCount=MSComm1->InBufferCount;
    StatusBar->Panels->Items[0]->Text =AnsiString(InBufferCount);

    if(InBufferCount >=6 )
    {
       rBuff = VarArrayCreate(OPENARRAY(int,(0,InBufferCount-1)),varByte);
       rBuff = MSComm1->Input;
       for(int i = 0;i<InBufferCount;i++)
          ReceiveData[i]=rBuff.GetElement(i);
       if(ReceiveData[0] == 0XEB && ReceiveData[1] == 0X90)//報(bào)文頭
       {  //計(jì)算校驗(yàn)碼
          for(int i = 0;i<InBufferCount-2;i++)
              ChkSum =ChkSum ^ ReceiveData[i];
          //校驗(yàn)碼結(jié)束位有效
          if(ChkSum==ReceiveData[InBufferCount-2] && ReceiveData[InBufferCount-1] == 0X0D)
          {
            switch(ReceiveData[2])//類(lèi)型
            {   case 1: //遙測(cè)
                     IniOldData() ;
                     ShowMsg("返回歷史數(shù)據(jù)報(bào)文");
                     break;
                case 2://控制
                  if(ReceiveData[3]==1)
                     ShowMsg("歷史數(shù)據(jù)清空?qǐng)?zhí)行完畢");
                  else
                     ShowMsg("歷史數(shù)據(jù)清空?qǐng)?zhí)行錯(cuò)誤");
                  break;
                case 3://校時(shí)
                  if(ReceiveData[3]==1)
                     ShowMsg("校時(shí)命令執(zhí)行完畢");
                  else
                     ShowMsg("記錄儀內(nèi)時(shí)鐘芯片DS12887電池欠電");
                  break;
            }
          }
      }
    }
    else
       ShowMsg("通訊錯(cuò)誤");
   bSendFlag = false; DelayTime=0;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::Timer1Timer(TObject *Sender)
{
   StatusBar->Panels->Items[0]->Text = IntToStr(MSComm1->InBufferCount);
   StatusBar->Panels->Items[1]->Text =FormatDateTime("yyyy-mm-dd hh:nn:ss",Now());
   if(bSendFlag)DelayTime++;

   if(DelayTime>=2)// 接收有效站端數(shù)據(jù)
   {
      ReceiveReport();
   }
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::ShowMsg(AnsiString strMsg)
{
   StatusBar->Panels->Items[2]->Text = FormatDateTime("yyyy-mm -dd hh:nn:ss",Now())+
                                        "   "+strMsg;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::RefreshGraph()
{//曲線區(qū)間內(nèi)刷新
   int p=0;
   AnsiString strTime,strDate,strT,strT1;
   bool b[2]={false,true};

   Series1->Clear();
   Series2->Clear();
   Series3->Clear();
   cmbDate->Text="";
   cmbDate->Items->Clear();

   for(int i=0;i<DayNum;i++)
   {  strDate=AnsiString(TempData[i][1])+"-" + AnsiString(TempData[i][2])+ "-" +
               AnsiString(TempData[i][3]);
      cmbDate->Items->Add(strDate);

      for(int j=4;j<100;j++)
      {  strT= strDate + " " + AnsiString(j/4-1);
         strT1= strTimeUpDown[0]+ " " + tFromHour->Text;
         if(!b[0]&& StrLen(strT1.c_str())==StrLen(strT.c_str())) b[0]=InStr(strT1,strT) ;
         if(b[0] && b[1])
         { strT1= strTimeUpDown[1]+ " " + tToHour->Text;
           if(b[1] && StrLen(strT1.c_str())==StrLen(strT.c_str())) b[1]=!InStr(strT1,strT);
           strTime=AnsiString(j/4-1)+":"+AnsiString((j%4)*15);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产麻豆精品久久一二三| 在线播放视频一区| 极品美女销魂一区二区三区免费| 亚洲精选免费视频| 国产精品色一区二区三区| 日韩欧美专区在线| 欧美三区免费完整视频在线观看| 91视频免费看| 免费成人在线播放| 日韩一区精品字幕| 亚洲一区二区三区在线播放| 中文字幕一区二区在线观看| 国产精品日产欧美久久久久| 国产婷婷一区二区| 久久综合色一综合色88| 精品国产1区二区| 日韩一区二区电影在线| 欧美精品v国产精品v日韩精品 | 久久久久久久久97黄色工厂| 91精品一区二区三区久久久久久| 欧美三级日韩三级国产三级| 色综合天天综合在线视频| 9人人澡人人爽人人精品| 岛国av在线一区| 精品一区二区国语对白| 久久99精品久久久久久动态图| 日韩电影一区二区三区四区| 日本vs亚洲vs韩国一区三区二区| 天天射综合影视| 麻豆高清免费国产一区| 韩国在线一区二区| 国产精品1区2区3区在线观看| 欧美mv和日韩mv国产网站| 91精品国产综合久久久蜜臀图片| 精品国产免费一区二区三区香蕉| 国产精品美女久久久久aⅴ| 亚洲精品ww久久久久久p站| 日韩精品1区2区3区| 国产精品亚洲成人| 欧美午夜不卡视频| 欧美va在线播放| 中文字幕一区二区视频| 性欧美疯狂xxxxbbbb| 国产精品一卡二卡| 欧美午夜免费电影| 久久久久9999亚洲精品| 一个色综合网站| 国产精品中文字幕一区二区三区| 色网综合在线观看| 精品欧美乱码久久久久久1区2区 | 亚洲成a人片在线观看中文| 精品一区二区三区香蕉蜜桃| 色综合久久88色综合天天 | 免费在线观看精品| 国产成人一区在线| 制服视频三区第一页精品| 中文字幕精品综合| 日本不卡一区二区三区高清视频| 成人一区二区视频| 日韩限制级电影在线观看| 亚洲欧美色综合| 国产精品亚洲一区二区三区妖精| 欧美日本一区二区三区四区| 国产精品国产自产拍在线| 精品制服美女丁香| 欧美日韩一区二区三区免费看| 国产午夜精品一区二区| 蜜臀久久99精品久久久久宅男 | 久久久www免费人成精品| 亚洲第一主播视频| 99久久99久久精品免费观看| 精品成人一区二区三区| 亚洲成av人片在线| 91社区在线播放| 国产精品入口麻豆九色| 国内精品国产成人| 日韩一区二区三区电影| 亚洲国产日韩综合久久精品| 99re6这里只有精品视频在线观看| 欧美刺激脚交jootjob| 无码av中文一区二区三区桃花岛| 成人av免费观看| 久久久99精品免费观看不卡| 美女一区二区在线观看| 在线播放91灌醉迷j高跟美女| 亚洲免费观看高清完整| 国产 欧美在线| 久久一二三国产| 精品一区二区免费视频| 日韩午夜激情av| 日本伊人色综合网| 91精品久久久久久久久99蜜臂| 一区二区免费在线| 色av综合在线| 亚洲免费电影在线| 色丁香久综合在线久综合在线观看| 国产精品激情偷乱一区二区∴| 国产精品456| 欧美国产一区视频在线观看| 国产成人精品网址| 国产三级精品三级在线专区| 国产一区二区三区免费播放 | 麻豆极品一区二区三区| 日韩一区二区精品在线观看| 日韩电影免费一区| 日韩免费性生活视频播放| 久热成人在线视频| 精品精品国产高清一毛片一天堂| 极品美女销魂一区二区三区| 久久久国产一区二区三区四区小说 | 欧美在线观看视频一区二区三区| 亚洲人亚洲人成电影网站色| 色综合久久中文字幕| 亚洲欧美一区二区三区孕妇| 91国偷自产一区二区三区成为亚洲经典| 亚洲精品久久7777| 欧美日韩视频一区二区| 日本午夜一区二区| 久久看人人爽人人| 成人av免费在线观看| 亚洲精品高清在线| 欧美精品久久一区二区三区| 久久99热这里只有精品| 国产婷婷色一区二区三区| www.99精品| 午夜视黄欧洲亚洲| 亚洲精品在线免费观看视频| 国产成人三级在线观看| 亚洲美女视频在线| 欧美美女一区二区三区| 精品无码三级在线观看视频 | 国产一二三精品| 欧美国产成人在线| 欧美在线一区二区三区| 热久久一区二区| 国产亚洲欧美日韩日本| 日本韩国欧美国产| 日日欢夜夜爽一区| 国产三级一区二区| 欧洲av一区二区嗯嗯嗯啊| 久久精品国产澳门| 国产精品成人免费精品自在线观看| 在线观看亚洲精品视频| 激情久久久久久久久久久久久久久久| 中文字幕第一页久久| 欧美日韩国产一级| 国产91精品露脸国语对白| 亚洲综合激情网| 欧美精品一区二区三区高清aⅴ| 成人白浆超碰人人人人| 日韩黄色片在线观看| 国产日产欧美一区| 欧美日韩久久久一区| 国产91精品精华液一区二区三区 | 日韩黄色免费网站| 国产精品色在线| 91精品在线观看入口| 99国产精品99久久久久久| 麻豆精品新av中文字幕| 一区二区三区在线观看国产| 久久美女艺术照精彩视频福利播放| 91国产福利在线| 国产99精品国产| 日韩高清一区二区| 亚洲日本va午夜在线电影| 精品国产露脸精彩对白| 在线看国产一区二区| 国产毛片精品一区| 丝袜诱惑制服诱惑色一区在线观看| 欧美国产视频在线| 日韩欧美国产精品一区| 欧美专区日韩专区| 成人黄色电影在线 | 日韩欧美国产三级电影视频| 色诱亚洲精品久久久久久| 国产乱码精品1区2区3区| 日韩电影免费一区| 亚洲国产一区二区三区 | 成人教育av在线| 久久精品理论片| 午夜影院久久久| 亚洲精品成人精品456| 中文字幕国产一区| 久久欧美一区二区| 日韩精品专区在线| 91精品在线免费观看| 在线日韩av片| 色欧美片视频在线观看| av综合在线播放| 国产91清纯白嫩初高中在线观看| 免费黄网站欧美| 青青草国产精品97视觉盛宴 | 欧美午夜精品久久久久久孕妇 | 最新高清无码专区| 日本一区二区三区高清不卡| 久久影视一区二区| 精品国产第一区二区三区观看体验| 这里是久久伊人| 欧美精品久久久久久久多人混战| 欧美日韩和欧美的一区二区|