?? wzjcommon.cpp
字號:
#include "StdAfx.h"
#include "WzjCommon.h"
//通過文件對象打開文本文件供讀取文本用
BOOL OpenTextFile(CStdioFile* &pfileOpen, LPCTSTR lpszDefExt, LPCTSTR lpszFilter)
{
BOOL bIsOpen = FALSE;
//彈出打開文件對話框
CFileDialog fileDlg(TRUE,lpszDefExt,NULL,OFN_HIDEREADONLY,lpszFilter,NULL);
if (IDCANCEL == fileDlg.DoModal() )
{
return bIsOpen;
}
//打開文件
pfileOpen = new CStdioFile();
if (FALSE == pfileOpen->Open(fileDlg.GetPathName(),CFile::modeRead|CFile::typeText))
{
AfxMessageBox(_T("不能打開文件!"));
return bIsOpen;
}
bIsOpen = TRUE;
return bIsOpen;
}
//通過文件對象打開文本文件供讀取文本用
BOOL OpenTextFile(CStdioFile &fileOpen, LPCTSTR lpszDefExt, LPCTSTR lpszFilter)
{
BOOL bIsOpen = FALSE;
//彈出打開文件對話框
CFileDialog fileDlg(TRUE,lpszDefExt, NULL,OFN_HIDEREADONLY,lpszFilter, NULL);
if (IDCANCEL == fileDlg.DoModal() )
{
return bIsOpen;
}
//打開文件
if (FALSE == fileOpen.Open(fileDlg.GetPathName(),CFile::modeRead|CFile::typeText))
{
AfxMessageBox(_T("不能打開文件!"));
return bIsOpen;
}
bIsOpen = TRUE;
return bIsOpen;
}
//讀取文本文件中全部文本
BOOL OpenTextFile(CString &szReadContents, LPCTSTR lpszDefExt, LPCTSTR lpszFilter)
{
BOOL bIsRead = FALSE;
//利用上面的OpenTextFile函數(shù)打開文本文件
CStdioFile file;
if (FALSE == OpenTextFile(file, lpszDefExt, lpszFilter))
{
bIsRead = FALSE;
return bIsRead;
}
//讀取文本內(nèi)容,存放到引用參數(shù)中,供返回
CString szTemp;
while ( file.ReadString(szTemp))
{
szReadContents += szTemp;
szReadContents += _T("\r\n");
}
//文件關(guān)閉
file.Close();
bIsRead = TRUE;
return bIsRead;
}
BOOL OpenTextFile(CStdioFile &fileOpen, CString& szPathName, LPCTSTR lpszDefExt, LPCTSTR lpszFilter)//打開文本文件
{
BOOL bIsOpen = FALSE;
szPathName = "";
//彈出打開文件對話框
CFileDialog fileDlg(TRUE,lpszDefExt, NULL,OFN_HIDEREADONLY,lpszFilter, NULL);
if (IDCANCEL == fileDlg.DoModal() )
{
return bIsOpen;
}
szPathName = fileDlg.GetPathName();
//打開文件
if (FALSE == fileOpen.Open(szPathName, CFile::modeRead|CFile::typeText))
{
AfxMessageBox(_T("不能打開文件!"));
return bIsOpen;
}
bIsOpen = TRUE;
return bIsOpen;
}
BOOL OpenTextFile(CString &szReadContents, CString& szPathName, LPCTSTR lpszDefExt, LPCTSTR lpszFilter)//打開文本文件并讀取到字符串中
{
BOOL bIsRead = FALSE;
//利用上面的OpenTextFile函數(shù)打開文本文件
CStdioFile file;
if (FALSE == OpenTextFile(file, szPathName, lpszDefExt, lpszFilter))
{
bIsRead = FALSE;
return bIsRead;
}
//讀取文本內(nèi)容,存放到引用參數(shù)中,供返回
CString szTemp;
while ( file.ReadString(szTemp))
{
szReadContents += szTemp;
szReadContents += _T("\r\n");
}
//文件關(guān)閉
file.Close();
bIsRead = TRUE;
return bIsRead;
}
//關(guān)閉文件指針打開的文本文件
BOOL CloseTextFile(CStdioFile* &pfileClose)
{
BOOL bIsClose = FALSE;
//關(guān)閉文件
pfileClose->Close();
//釋放文件指針
if (pfileClose)
{
delete pfileClose;
pfileClose = NULL;
}
return bIsClose;
}
//通過文件對象保存初始字符串到文件中,還可以繼續(xù)保存字符串
BOOL SaveTextFile(CStdioFile &fileSave,CString szWriteContents, LPCTSTR lpszDefExt, LPCTSTR lpszFilter)
{
BOOL bIsSave = FALSE;
//彈出保存文件對話框
CFileDialog fileDlg(FALSE,lpszDefExt,0,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
lpszFilter);
if (IDCANCEL == fileDlg.DoModal())
{
return bIsSave;
}
//創(chuàng)建或打開保存文件
if (FALSE == fileSave.Open(fileDlg.GetPathName(), CFile::modeCreate| CFile::modeWrite | CFile::typeText))
{
AfxMessageBox(_T("保存文件失敗"));
return bIsSave;
}
//寫入傳該函數(shù)第二個參數(shù)傳入的字符串,若沒有就存入空
fileSave.WriteString(szWriteContents);
bIsSave = TRUE;
return bIsSave;
}
//通過文件指針保存初始字符串到文件中,還可繼續(xù)保存字符串
BOOL SaveTextFile(CStdioFile* pfileSave,CString szWriteContents )
{
BOOL bIsSave = FALSE;
//彈出保存對話框
CFileDialog fileDlg(FALSE, _T("txt"),0,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, _T("文本文件(*.txt)|*.txt"));
if (IDCANCEL == fileDlg.DoModal())
{
return bIsSave;
}
//創(chuàng)建或打開保存文件
if (FALSE == pfileSave->Open(fileDlg.GetPathName(), CFile::modeCreate| CFile::modeWrite | CFile::typeText))
{
AfxMessageBox(_T("保存文件失敗"));
return bIsSave;
}
//寫入傳該函數(shù)第二個參數(shù)傳入的字符串,若沒有就存入空
pfileSave->WriteString(szWriteContents);
bIsSave = TRUE;
return bIsSave;
}
//把字符串寫入文本文件中
BOOL SaveTextFile(CString szWriteContents, LPCTSTR lpszDefExt, LPCTSTR lpszFilter)
{
BOOL bIsSave = FALSE;
//通過本文件中SaveTextFile()寫入要保存的字符串到文件中
CStdioFile fileSave;
if (FALSE == SaveTextFile(fileSave,szWriteContents,lpszDefExt,lpszFilter))
{
return bIsSave;
}
//關(guān)閉文件
fileSave.Close();
bIsSave = TRUE;
return bIsSave;
}
BOOL SaveTextFile(CStdioFile &fileSave, CString& szPathName, CString szWriteContents /*= _T("")*/,
LPCTSTR lpszDefExt, LPCTSTR lpszFilter /*= _T("文本文件(*.txt)|*.txt")*/ )//保存文本文件
{
BOOL bIsSave = FALSE;
//彈出保存文件對話框
CFileDialog fileDlg(FALSE,lpszDefExt,0,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
lpszFilter);
if (IDCANCEL == fileDlg.DoModal())
{
return bIsSave;
}
szPathName = fileDlg.GetPathName();
//創(chuàng)建或打開保存文件
if (FALSE == fileSave.Open(szPathName, CFile::modeCreate| CFile::modeWrite | CFile::typeText))
{
AfxMessageBox(_T("保存文件失敗"));
return bIsSave;
}
//寫入傳該函數(shù)第二個參數(shù)傳入的字符串,若沒有就存入空
fileSave.WriteString(szWriteContents);
bIsSave = TRUE;
return bIsSave;
}
BOOL SaveTextFile(CString szWriteContents, CString& szPathName, LPCTSTR lpszDefExt/* = _T("txt")*/,
LPCTSTR lpszFilter /* =_T("文本文件(*.txt)|*.txt")*/ )//保存字符串到txt文本文件中
{
BOOL bIsSave = FALSE;
//通過本文件中SaveTextFile()寫入要保存的字符串到文件中
CStdioFile fileSave;
if (FALSE == SaveTextFile(fileSave, szPathName, szWriteContents,lpszDefExt,lpszFilter))
{
return bIsSave;
}
//關(guān)閉文件
fileSave.Close();
bIsSave = TRUE;
return bIsSave;
}
//創(chuàng)建二維整形指針
BOOL New2Array(int** &pnArray,WORD wRow,WORD wColumn)
{
BOOL bIsNew = FALSE;
pnArray = new int* [wRow];
for (int i = 0; i < wRow; i++)
{
pnArray[i] = new int[wColumn];
}
bIsNew = TRUE;
return bIsNew;
}
//創(chuàng)建二維float指針
BOOL New2Array(float** &pfArray,WORD wRow,WORD wColumn)
{
BOOL bIsNew = FALSE;
pfArray = new float* [wRow];
for (int i = 0; i < wRow; i++)
{
pfArray[i] = new float[wColumn];
}
bIsNew = TRUE;
return bIsNew;
}
//創(chuàng)建二維double指針
BOOL New2Array(double** &pdArray,WORD wRow,WORD wColumn)
{
BOOL bIsNew = FALSE;
pdArray = new double* [wRow];
for (int i = 0; i < wRow; i++)
{
pdArray[i] = new double[wColumn];
}
bIsNew = TRUE;
return bIsNew;
}
//創(chuàng)建二維CString指針
BOOL New2Array(CString** &pszArray,WORD wRow,WORD wColumn)
{
BOOL bIsNew = FALSE;
pszArray = new CString *[wRow];
for (int i = 0; i < wRow; i++)
{
pszArray[i] = new CString[wColumn];
}
bIsNew = TRUE;
return bIsNew;
}
//創(chuàng)建三維int指針
BOOL New3Array(int*** &pnArray,WORD wSta,WORD wObser,WORD wItem)
{
BOOL bIsNew = FALSE;
pnArray = new int** [wSta]; //station
for (int i = 0; i < wSta; i++)
{
pnArray[i] = new int* [wObser]; //observation
if (!pnArray[i])
{
AfxMessageBox(_T("分配內(nèi)存失敗1"));
bIsNew = FALSE;
return bIsNew;
}
for (int j = 0; j < wObser; j++)
{
pnArray[i][j] = new int [wItem];
if (!pnArray[i][j])
{
AfxMessageBox(_T("分配內(nèi)存失敗!"));
bIsNew = FALSE;
return bIsNew;
}
}
}
bIsNew = TRUE;
return bIsNew;
}
//創(chuàng)建三維float指針
BOOL New3Array(float*** &pfArray,WORD wSta,WORD wObser,WORD wItem)
{
BOOL bIsNew = FALSE;
pfArray = new float** [wSta]; //station
for (int i = 0; i < wSta; i++)
{
pfArray[i] = new float* [wObser]; //observation
if (!pfArray[i])
{
AfxMessageBox(_T("分配內(nèi)存失敗!"));
bIsNew = FALSE;
return bIsNew;
}
for (int j = 0; j < wObser; j++)
{
pfArray[i][j] = new float [wItem];
if (!pfArray[i][j])
{
AfxMessageBox(_T("分配內(nèi)存失敗!"));
bIsNew = FALSE;
return bIsNew;
}
}
}
bIsNew = TRUE;
return bIsNew;
}
//創(chuàng)建三維double指針
BOOL New3Array(double*** &pdArray,WORD wSta,WORD wObser,WORD wItem)
{
BOOL bIsNew = FALSE;
pdArray = new double** [wSta]; //station
for (int i = 0; i < wSta; i++)
{
pdArray[i] = new double* [wObser]; //observation
if (!pdArray[i])
{
AfxMessageBox(_T("分配內(nèi)存失敗!"));
bIsNew = FALSE;
return bIsNew;
}
for (int j = 0; j < wObser; j++)
{
pdArray[i][j] = new double [wItem];
if (!pdArray[i][j])
{
AfxMessageBox(_T("分配內(nèi)存失敗!"));
bIsNew = FALSE;
return bIsNew;
}
}
}
bIsNew = TRUE;
return bIsNew;
}
//創(chuàng)建三維CString指針
BOOL New3Array(CString*** &pszArray, WORD wSta, WORD wObser, WORD wItem)
{
BOOL bIsNew = FALSE;
pszArray = new CString** [wSta]; //station
for (int i = 0; i < wSta; i++)
{
pszArray[i] = new CString* [wObser]; //observation
if (!pszArray[i])
{
AfxMessageBox(_T("分配內(nèi)存失敗!"));
bIsNew = FALSE;
return bIsNew;
}
for (int j = 0; j < wObser; j++)
{
pszArray[i][j] = new CString [wItem];
if (!pszArray[i][j])
{
AfxMessageBox(_T("分配內(nèi)存失敗!"));
bIsNew = FALSE;
return bIsNew;
}
}
}
bIsNew = TRUE;
return bIsNew;
}
//釋放二維int指針
BOOL Delete2Array(int** &pnArray,WORD wRow)
{
BOOL bIsDelete = FALSE;
for (int i = 0; i < wRow; i++)
{
if (pnArray[i])
{
delete []pnArray[i];
pnArray[i] = NULL;
}
}
if (pnArray)
{
delete []pnArray;
pnArray = NULL;
}
bIsDelete = TRUE;
return bIsDelete;
}
//釋放二維float指針
BOOL Delete2Array(float** &pfArray,WORD wRow)
{
BOOL bIsDelete = FALSE;
for (int i = 0; i < wRow; i++)
{
if (pfArray[i])
{
delete []pfArray[i];
pfArray[i] = NULL;
}
}
if (pfArray)
{
delete []pfArray;
pfArray = NULL;
}
bIsDelete = TRUE;
return bIsDelete;
}
//釋放二維double指針
BOOL Delete2Array(double** &pdArray,WORD wRow)
{
BOOL bIsDelete = FALSE;
if (!pdArray)
{
return TRUE;
}
for (int i = 0; i < wRow; i++)
{
if (pdArray[i])
{
delete []pdArray[i];
pdArray[i] = NULL;
}
}
if (pdArray)
{
delete []pdArray;
pdArray = NULL;
}
bIsDelete = TRUE;
return bIsDelete;
}
//釋放二維CString指針
BOOL Delete2Array(CString** &pszArray, WORD wRow)
{
BOOL bIsDelete = FALSE;
for (int i = 0; i < wRow; i++)
{
if (pszArray[i])
{
delete []pszArray[i];
pszArray[i] = NULL;
}
}
if (pszArray)
{
delete []pszArray;
pszArray = NULL;
}
bIsDelete = TRUE;
return bIsDelete;
}
//釋放三維int指針
BOOL Delete3Array(int*** &pnArray,WORD wSta,WORD wObser)
{
BOOL bIsDelete = FALSE;
//釋放wObser級指針
int i = 0;
for (i = 0; i < wSta; i++)
{
for (int j = 0; j < wObser; j++)
{
if (pnArray)
{
delete []pnArray[i][j];
pnArray[i][j] = NULL;
}
}
}
//釋放wSta級指針
for (i = 0; i < wSta; i++)
{
delete []pnArray[i];
pnArray[i] = NULL;
}
//釋放總指針
if (pnArray)
{
delete []pnArray;
pnArray = NULL;
}
bIsDelete = TRUE;
return bIsDelete;
}
//釋放三維float指針
BOOL Delete3Array(float*** &pfArray,WORD wSta,WORD wObser)
{
BOOL bIsDelete = FALSE;
int i = 0;
//釋放wObser級指針
for (i = 0; i < wSta; i++)
{
for (int j = 0; j < wObser; j++)
{
if (pfArray)
{
delete []pfArray[i][j];
pfArray[i][j] = NULL;
}
}
}
//釋放wSta級指針
for (i = 0; i < wSta; i++)
{
delete []pfArray[i];
pfArray[i] = NULL;
}
//釋放總指針
if (pfArray)
{
delete []pfArray;
pfArray = NULL;
}
bIsDelete = TRUE;
return bIsDelete;
}
//釋放三維double指針
BOOL Delete3Array(double*** &pdArray,WORD wSta,WORD wObser)
{
BOOL bIsDelete = FALSE;
int i = 0;
//釋放wObser級指針
for (i = 0; i < wSta; i++)
{
for (int j = 0; j < wObser; j++)
{
if (pdArray)
{
delete []pdArray[i][j];
pdArray[i][j] = NULL;
}
}
}
//釋放wSta級指針
for (i = 0; i < wSta; i++)
{
delete []pdArray[i];
pdArray[i] = NULL;
}
//釋放總指針
if (pdArray)
{
delete []pdArray;
pdArray = NULL;
}
bIsDelete = TRUE;
return bIsDelete;
}
BOOL Delete3Array(CString*** &pszArray, WORD wSta, WORD wObser)
{
BOOL bIsDelete = FALSE;
int i = 0;
//釋放wObser級指針
for (i = 0; i < wSta; i++)
{
for (int j = 0; j < wObser; j++)
{
if (pszArray)
{
delete []pszArray[i][j];
pszArray[i][j] = NULL;
}
}
}
//釋放wSta級指針
for (i = 0; i < wSta; i++)
{
delete []pszArray[i];
pszArray[i] = NULL;
}
//釋放總指針
if (pszArray)
{
delete []pszArray;
pszArray = NULL;
}
bIsDelete = TRUE;
return bIsDelete;
}
//獲得int數(shù)據(jù)字符串
CString GetStr(int nData)
{
CString szInt;
szInt.Format(_T("%d"),nData);
return szInt;
}
CString GetStr(long lData)
{
CString szLog;
szLog.Format(_T("%ld"),lData);
return szLog;
}
CString GetStr(float fData,int nPri,int nInt)
{
CString szFormat;
szFormat.Format(_T("%d.%d"),nInt,nPri);
szFormat = _T("%") + szFormat + _T("f");
CString szReturn;
szReturn.Format(szFormat,fData);
return szReturn;
}
CString GetStr(double dData,int nPri,int nInt)
{
CString szFormat;
szFormat.Format(_T("%d.%d"),nInt,nPri);
szFormat = _T("%") + szFormat + _T("f");
CString szReturn;
szReturn.Format(szFormat,dData);
return szReturn;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -