⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transtxt.cpp

📁 BP神经网络程序
💻 CPP
字号:
// TransTxt1.cpp : implementation file
//

#include "stdafx.h"
#include "bpnlayerexe.h"
#include "TransTxt.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// TransTxt dialog
TransTxt::TransTxt(CWnd* pParent /*=NULL*/)
	: CDialog(TransTxt::IDD, pParent)
{
	//{{AFX_DATA_INIT(SettingDlg)

	m_iInputNum = 0;
	m_iDataNum=0;
	//}}AFX_DATA_INIT
}



void TransTxt::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(TransTxt)

	DDX_Text(pDX, IDC_EDIT2, m_iDataNum);
	DDX_Text(pDX, IDC_EDIT3, m_iInputNum);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(TransTxt, CDialog)
	//{{AFX_MSG_MAP(TransTxt)
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// TransTxt message handlers

void TransTxt::OnButton1() 
{
	CFileDialog FileDlg(TRUE);
	FileDlg.m_ofn.lpstrTitle="打开转换文本数据";
	FileDlg.m_ofn.lpstrFilter="Text file(*.txt)\0*.txt\0Access database(*.mdb)\0*.mdb\0All files(*.*)\0*.*\0\0";
	FileDlg.DoModal();
	CFile *pFile;
	pFile=new CFile(FileDlg.GetPathName(),CFile::modeRead);
	int iLength;
	iLength=pFile->GetLength();
	char *buf;
	char tempBuf[20]={0};
	buf=new char[iLength+1];
	buf[iLength]=0;
	pFile->Read(buf,iLength);
	UpdateData();
	int iBigin=0,iEnd=0,iDataNum=-1;
	double dTemp;
//////////////////////////////////////////////////////////////////////////
	CDaoDatabase DbSave;
	CDaoRecordset RsSave(&DbSave);
	CDaoTableDef TdSave(&DbSave);
	CFileDialog FileDlg2(FALSE);
	FileDlg2.m_ofn.lpstrTitle="保存数据库";
	FileDlg2.m_ofn.lpstrFilter="Access database(*.mdb)\0*.mdb\0Text file(*.txt)\0*.txt\0All files(*.*)\0*.*\0\0";
	FileDlg2.m_ofn.lpstrDefExt="mdb";
	CFileFind FileFind;
	if (IDOK==FileDlg2.DoModal())
	{
		if (!FileFind.FindFile(FileDlg2.GetPathName()))
		{
			DbSave.Create(FileDlg2.GetPathName());
		}
		else
		{
			DeleteFile(FileDlg2.GetPathName());
			DbSave.Create(FileDlg2.GetPathName());
		}
	}
	else
	{
		return;
	}
	CString str_sql="create table data(Input0 double)";
	DbSave.Execute(str_sql);
	TdSave.Open("data");
	for (int i=1;i<m_iInputNum;i++)
	{
		str_sql.Format("Input%d",i);
		TdSave.CreateField(str_sql,dbDouble,1);
	}
	for (int i=0;i<(m_iDataNum-m_iInputNum);i++)
	{
		str_sql.Format("Output%d",i);
		TdSave.CreateField(str_sql,dbDouble,1);
	}
	RsSave.Open(&TdSave);
//////////////////////////////////////////////////////////////////////////
	int iLine=0,iRow=0;
	CString strTemp;
	RsSave.AddNew();
	for(int i=0;i<iLength;i++)
	{
		if ((((buf[i]<'0')||(buf[i]>'9'))&&(buf[i]!=0x2e))
			&&(((buf[i+1]>='0')&&(buf[i+1]<='9'))||(buf[i+1]==0x2e)))
		{
			iBigin=i+1;
		}
		if ((((buf[i]>='0')&&(buf[i]<='9'))||(buf[i]==0x2e))
			&&(((buf[i+1]<'0')||(buf[i+1]>'9'))&&(buf[i+1]!=0x2e)))
		{
			iEnd=i;
			for (int j=iBigin;j<iEnd+1;j++)
			{
				tempBuf[j-iBigin]=buf[j];
			}
			tempBuf[iEnd-iBigin+1]=0;
			iDataNum+=1;
			if (iDataNum/m_iDataNum!=iLine)
			{
				RsSave.Update();
				RsSave.AddNew();
				iLine+=1;
			}
			iRow=iDataNum%m_iDataNum;
			if (iRow<m_iInputNum)
			{
				strTemp.Format("Input%d",iRow);
			}
			else
			{
				strTemp.Format("Output%d",iRow-m_iInputNum);
			}
			dTemp=atof(tempBuf);
			RsSave.SetFieldValue(strTemp,dTemp);
			//MessageBox(tempBuf);
		}	
	}
	RsSave.Update();
	EndDialog(0);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -