資源簡介
用C++MFC實現的文本編輯器,有打開、新建、保存以及另存為功能,有復制剪切粘貼刪除全選以及撤銷功能,查找、查找下一個以及替換功能。界面仿Windows記事本。
代碼片段和文件信息
//?CdialogFind.cpp:?實現文件
//
#include?“stdafx.h“
#include?“TextEditor.h“
#include?“CdialogFind.h“
#include?“afxdialogex.h“
#include?“Resource.h“
#include
//?CdialogFind?對話框
IMPLEMENT_DYNAMIC(CdialogFind?CDialogEx)
CdialogFind?*CdialogFind::ptr_Find?=?NULL;
CdialogFind::CdialogFind(CWnd*?pParent?/*=nullptr*/)
:?CDialogEx(IDD_FINDDIALOG?pParent)
{
ptr_Find=this;
}
CdialogFind::~CdialogFind()
{
}
void?CdialogFind::DoDataExchange(CDataExchange*?pDX)
{
CDialogEx::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CdialogFind?CDialogEx)
ON_BN_CLICKED(IDC_BUTTONFIND?&CdialogFind::OnBnClickedButtonfind)
END_MESSAGE_MAP()
//?CdialogFind?消息處理程序
const?int?maxNum?=?1005;
//Sunday
int?shift[maxNum];
int?Sunday(const?CString&?T?const?CString&?P);
void?CdialogFind::OnBnClickedButtonfind()
{
CString?mainText;
CString?aimText;
CTextEditorView?*pView?=?CTextEditorView::ptr_View;
pView->GetDlgItem(IDC_EDIT)->GetWindowText(mainText);
GetDlgItem(IDC_EDIT1)->GetWindowText(aimText);
int?cur?=?mainText.Find(aimText0);????//C++類實現(CString的find方法)
//int?cur?=?Sunday(mainText?aimText);?//自定義Sunday算法匹配字符串?英文可以查找?中文不行
int?aimLen?=?aimText.GetLength();
pView->m_wndEdit.SetSel(cur?cur+aimLen);?
//int?nStart?nEnd;
//pView->m_wndEdit.GetSel(nStart?nEnd);
//if?(nStart?==?nEnd) //判斷是否有內容被選中
if(cur==-1)
MessageBox(_T(“沒有該內容“));
CdialogFind::OnCancel();
}
int?Sunday(const?CString&?T?const?CString&?P)?{
int?n?=?T.GetLength();
int?m?=?P.GetLength();
//?默認值,移動m+1位
for?(int?i?=?0;?i? shift[i]?=?m?+?1;
}
//?模式串P中每個字母出現的最后的下標
//?所對應的主串參與匹配的最末位字符的下一位字符移動到該位,所需要的移動位數
for?(int?i?=?0;?i? shift[P[i]]?=?m?-?i;
}
//?模式串開始位置在主串的哪里
int?s?=?0;
//?模式串已經匹配到的位置
int?j;
while?(s?<=?n?-?m)?{
j?=?0;
while?(T[s?+?j]?==?P[j])?{
j++;
//?匹配成功
if?(j?>=?m)?{
return?s;
}
}
//?找到主串中當前跟模式串匹配的最末字符的下一個字符
//?在模式串中出現最后的位置
//?所需要從(模式串末尾+1)移動到該位置的步數
s?+=?shift[T[s?+?m]];
}
return?-1;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-01-09?15:11??MFC記事本文本編輯器實現\
?????目錄???????????0??2019-01-09?15:11??MFC記事本文本編輯器實現\TextEditor\
?????目錄???????????0??2019-01-09?15:11??MFC記事本文本編輯器實現\TextEditor\.vs\
?????目錄???????????0??2019-01-09?15:11??MFC記事本文本編輯器實現\TextEditor\.vs\TextEditor\
?????目錄???????????0??2019-01-09?15:11??MFC記事本文本編輯器實現\TextEditor\.vs\TextEditor\v15\
?????文件???????38400??2019-01-09?15:08??MFC記事本文本編輯器實現\TextEditor\.vs\TextEditor\v15\.suo
?????文件????77987840??2019-01-09?15:08??MFC記事本文本編輯器實現\TextEditor\.vs\TextEditor\v15\Browse.VC.db
?????目錄???????????0??2019-01-09?15:11??MFC記事本文本編輯器實現\TextEditor\.vs\TextEditor\v15\ipch\
?????文件???121307136??2018-12-02?17:32??MFC記事本文本編輯器實現\TextEditor\.vs\TextEditor\v15\ipch\7e52fd93b0879f32.ipch
?????目錄???????????0??2019-01-09?15:12??MFC記事本文本編輯器實現\TextEditor\.vs\TextEditor\v15\ipch\AutoPCH\
?????文件???121307136??2019-01-09?13:06??MFC記事本文本編輯器實現\TextEditor\.vs\TextEditor\v15\ipch\ee1c4f9eb8485ff3.ipch
?????目錄???????????0??2019-01-09?15:11??MFC記事本文本編輯器實現\TextEditor\Debug\
?????文件??????275968??2019-01-09?15:08??MFC記事本文本編輯器實現\TextEditor\Debug\TextEditor.exe
?????文件?????2080888??2019-01-09?15:08??MFC記事本文本編輯器實現\TextEditor\Debug\TextEditor.ilk
?????文件?????2756608??2019-01-09?15:08??MFC記事本文本編輯器實現\TextEditor\Debug\TextEditor.pdb
?????目錄???????????0??2019-01-09?15:11??MFC記事本文本編輯器實現\TextEditor\TextEditor\
?????目錄???????????0??2019-01-09?15:11??MFC記事本文本編輯器實現\TextEditor\TextEditor\.vs\
?????目錄???????????0??2019-01-09?15:11??MFC記事本文本編輯器實現\TextEditor\TextEditor\.vs\TextEditor\
?????目錄???????????0??2019-01-09?15:11??MFC記事本文本編輯器實現\TextEditor\TextEditor\.vs\TextEditor\v15\
?????文件???????13824??2018-12-27?00:08??MFC記事本文本編輯器實現\TextEditor\TextEditor\.vs\TextEditor\v15\.suo
?????文件??????????78??2018-12-27?00:08??MFC記事本文本編輯器實現\TextEditor\TextEditor\.vs\VSWorkspaceState.json
?????文件???????77824??2018-12-27?00:08??MFC記事本文本編輯器實現\TextEditor\TextEditor\.vs\slnx.sqlite
?????文件????????2750??2019-01-05?18:14??MFC記事本文本編輯器實現\TextEditor\TextEditor\CDoalogReplace.cpp
?????文件????????1128??2019-01-05?18:14??MFC記事本文本編輯器實現\TextEditor\TextEditor\CDoalogReplace.h
?????文件????????4184??2019-01-07?23:51??MFC記事本文本編輯器實現\TextEditor\TextEditor\CdialogFind.cpp
?????文件????????1142??2019-01-02?01:12??MFC記事本文本編輯器實現\TextEditor\TextEditor\CdialogFind.h
?????目錄???????????0??2019-01-09?15:11??MFC記事本文本編輯器實現\TextEditor\TextEditor\Debug\
?????文件???????44145??2019-01-09?15:08??MFC記事本文本編輯器實現\TextEditor\TextEditor\Debug\CDoalogReplace.obj
?????文件???????44544??2019-01-09?15:08??MFC記事本文本編輯器實現\TextEditor\TextEditor\Debug\CdialogFind.obj
?????文件???????26317??2019-01-05?18:04??MFC記事本文本編輯器實現\TextEditor\TextEditor\Debug\Data.obj
?????文件???????68166??2019-01-09?15:08??MFC記事本文本編輯器實現\TextEditor\TextEditor\Debug\MainFrm.obj
............此處省略46個文件信息
評論
共有 條評論