?? setcomm.cpp
字號(hào):
// setcomm.cpp : implementation file
//
#include "stdafx.h"
#include "TLhzpro.h"
#include "Function.h"
#include "setcomm.h"
#include "myguser.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// Csetcomm dialog
Csetcomm::Csetcomm(CWnd* pParent /*=NULL*/)
: CDialog(Csetcomm::IDD, pParent)
{
//{{AFX_DATA_INIT(Csetcomm)
m_comm="COM1";
m_baut="9600";
m_bytesize="8";
m_parity = _T("E");
m_stopbits = _T("1");
//}}AFX_DATA_INIT
}
void Csetcomm::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Csetcomm)
DDX_CBString(pDX, IDC_COMBO1, m_comm);
DDX_CBString(pDX, IDC_COMBO2, m_baut);
DDX_CBString(pDX, IDC_COMBO4, m_bytesize);
DDX_CBString(pDX, IDC_COMBO3, m_parity);
DDX_CBString(pDX, IDC_COMBO5, m_stopbits);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(Csetcomm, CDialog)
//{{AFX_MSG_MAP(Csetcomm)
ON_BN_CLICKED(IDC_SELECTFILE, OnSelectfile)
ON_BN_CLICKED(IDC_DOWNLOAD, OnDownload)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Csetcomm message handlers
void Csetcomm::OnSelectfile()
{
// TODO: Add your control notification handler code here
CFileDialog dlg(TRUE,"txt","*.txt");
if(dlg.DoModal()==IDOK)
{
m_filename=dlg.GetPathName();
SetDlgItemText(IDC_FILENAME,m_filename);
}
}
void Csetcomm::OnDownload()
{
// TODO: Add your control notification handler code here
CString mSTR;
CString mOpenFilename,mOpenFilenameLog;
CFile file;
FILE *rfp;
rfp=NULL;
CString mstr1="";;
int m_sCount=0;
double t1;
char mchBuf1[18];
char mchBuf2[6];
float sj,nE1,nE2;
GetDlgItemText(IDC_FILENAME,mOpenFilename);
if (mOpenFilename=="") {
MessageBox("請(qǐng)選擇文件!",NULL,NULL);
return;
}
CString mStr;
SetDlgItemText(IDC_MESSAGE,"正在下載,請(qǐng)等待...");
try
{
if(rfp!=NULL)
fclose(rfp);
rfp=fopen(mOpenFilename,"r+t");
if (rfp==NULL)
return ;
bool mStart=false;
getcomm();
long mline;
char outbuf[256];
char errbuf[256];
char errcode[10];
memset(outbuf,0,256);
memset(errbuf,0,256);
int checknum=0;//用于檢驗(yàn)是否成或計(jì)數(shù)
while(TRUE)
{checknum++;
if(fscanf(rfp,"%s %s\n",&errbuf,
&outbuf)!=EOF)
{
CFunction FUN;
// CString outStr= FUN.Gethzdz(errbuf,outbuf);//old
CString outStr= FUN.Gethzdz(outbuf);
CString outError=FUN.GetZmdz(errbuf);
// RecordSysErrlog(mSTR);
memset(outbuf,0,256);
memcpy(outbuf,outStr,outStr.GetLength());
memset(errcode,0,10);
memcpy(errcode,outError,outError.GetLength());
int result;
// result=FUN.Encode(errbuf);//old
result=FUN.Encode(errcode,outbuf);
if (result==1)
{ CString mm;
mm.Format("%d成功,",checknum);
mSTR=mm+mSTR;
}
else
{CString mm;
mm.Format("%d失敗,",checknum);
mSTR=mm+mSTR;
}
}
else
{
break;
}
}
}
catch(...)
{
#ifdef _DEBUG
afxDump << "File " << "Record File" << " cannot be opened\n";
return;
#endif
}
if(rfp!=NULL)
fclose(rfp);
SetDlgItemText(IDC_MESSAGE,"下載完畢!");
RecordSysErrlog(mSTR);
EndComm(gPLC1ComHandleProc);
}
void Csetcomm::getcomm()
{
UpdateData(true);
CComboBox *my;
m_mcss_comm.comm=m_comm;
m_mcss_comm.baut=atoi(m_baut);
m_mcss_comm.ByteSize=atol(m_bytesize);
my=(CComboBox*)GetDlgItem(IDC_COMBO3);
m_mcss_comm.Parity=my->GetCurSel();
my=(CComboBox*)GetDlgItem(IDC_COMBO5);
m_mcss_comm.StopBits=my->GetCurSel();
gPLC1ComHandleProc= InitComPort(m_mcss_comm);
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -