用VC++實現一個文字檔案閱讀器
用VC++實現一個文字檔案閱讀器,使用者選定目錄,列出該目錄下的所有.txt,單擊某個txt,在右側顯示內容;
首先新建一個MFC exe,基於對話方塊工程;
設計介面如下;
新增按鈕單擊函式;
為對話方塊類新增成員函式;
為列表框新增一個成員變數;
新增列表框單擊函式;(選中條目後執行的函式;)
對話方塊類標頭檔案手動新增
private:
TCHAR pszPath[MAX_PATH];
對話方塊類實現檔案中新增函式程式碼
void CTxtreaderDlg::OnOK()
{
// TODO: Add extra validation here
BROWSEINFO bi;
bi.hwndOwner = this->GetSafeHwnd();
bi.pidlRoot = NULL;
bi.pszDisplayName = NULL;
bi.lpszTitle = TEXT("請選擇資料夾");
bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
if (pidl == NULL)
{
return;
}
if (SHGetPathFromIDList(pidl, pszPath))
{
//AfxMessageBox(pszPath);
SetDlgItemText(IDC_STATIC, pszPath);
FindTxtFile(pszPath);
}
//CDialog::OnOK();
}
void CTxtreaderDlg::FindTxtFile(CString strFoldername)
{
CFileFind fileFind;
int i = 0;
CString strdir = strFoldername + _T("\\*.txt");
m_list1.ResetContent();
if(fileFind.FindFile(strdir,0))
{
BOOL bRet = TRUE;
while(bRet)
{
bRet = fileFind.FindNextFile();
if(fileFind.IsDots())
{
continue;
}
if(fileFind.IsDirectory())
{
//str.push_back(fileFind.GetFilePath());
//strDir[i++] = fileFind.GetFilePath();
}
else
{
m_list1.AddString(fileFind.GetFileName());
}
}
fileFind.Close();
}
return;
}
void CTxtreaderDlg::OnSelchangeList1()
{
// TODO: Add your control notification handler code here
SetDlgItemText(IDC_EDIT1,"");
int n=m_list1.GetCurSel();
CString content;
TCHAR filename[32];
CString szLine="";
m_list1.GetText(n,filename);
CStdioFile file;
// file.Open(pszPath+_T("\\")+filename,CFile::modeRead); error C2110: cannot add two pointers
strcat(pszPath,_T("\\"));
strcat(pszPath,filename);
//pszPath+=_T("\\");
//pszPath+=filename;
file.Open(pszPath,CFile::modeRead);
//逐行讀取字串
while(file.ReadString(szLine))
{
content+=szLine;
content+="\r\n";
}
file.Close();
SetDlgItemText(IDC_EDIT1,content);
}
效果:
相關文章
- 用Flutter實現一個小說閱讀AppFlutterAPP
- vc++實現檔案關聯C++
- 如何實時讀取一個不斷更新的文字檔案
- Android CHM檔案閱讀器Android
- Flutter實戰之實現一個簡單的新聞閱讀器Flutter
- kettle 實用小功能(二),讀取一個目錄下文字檔案的內容
- 用Keras搞一個閱讀理解機器人Keras機器人
- 用一個檔案,實現迷你 Web 框架Web框架
- Rss-Rome 閱讀器讀取XML檔案XML
- VBA建立文字檔案、讀寫文字檔案
- trace檔案閱讀
- 請問用什麼方法可以讀到一個文字檔案的內容?
- 做一個程式碼閱讀器
- [Redis原始碼閱讀]實現一個redis命令--nonzerodecrRedis原始碼
- 檔案排版(文字檔案讀寫)
- CHM Viewer Star for mac(CHM檔案閱讀器) 6.3.2免啟用版ViewMac
- 第13周-閱讀專案3-對文字檔案的訪問
- C#讀取文字檔案和寫文字檔案C#
- chm格式檔案閱讀器:iCHM Reader for MacMac
- iCHM Reader for Mac chm格式檔案閱讀器Mac
- 用 ABAP 讀取本地文字檔案內容試讀版
- 【Java】讀寫文字檔案Java
- 「pdf檔案閱讀器」PDF Reader Pro 2.8.19.1
- LNAV:基於 Ncurses 的日誌檔案閱讀器
- Qt使用綠色pdf閱讀器開啟檔案QT
- 棧實現反序讀檔案
- C#文字閱讀C#
- 【轉】用C語言實現將一個檔案讀入記憶體中(分享轉載)C語言記憶體
- 儲存文字到一個檔案裡
- python 讀取文字檔案Python
- 用linux shell逐行讀取文字檔案內容Linux
- VC++實現COM事件接收器C++事件
- VSD Viewer for Mac(Visio繪圖檔案閱讀器)ViewMac繪圖
- Visio繪圖檔案閱讀器:VSD Viewer for Mac繪圖ViewMac
- 使用 Azure Blob Stoage 實現一個靜態檔案伺服器伺服器
- 5 個開源 RSS 訂閱閱讀器
- VSD Viewer for Mac(Visio繪圖檔案閱讀器)6.16.1啟用版ViewMac繪圖
- aardio實現語音閱讀文字【包含選擇語音庫】