ÀÌ ¸ðµâ¿¡´Â ÇÁ·ÎÁ§Æ® Àüü¿¡ °ÉÃÄ ÀÚÁÖ È£ÃâµÇ´Â ÇÔ¼ö¿Í Ŭ·¡½ºµéÀÌ Á¤ÀǵǾî ÀÖ´Ù. ±âÁ¸ÀÇ Util ¸ðµâ¿¡´Â Àü¿ª ÇÔ¼öµé¸¸ µÎµµ·Ï ÇÏ°í SOption Ŭ·¡½º´Â Option ¸ðµâ·Î, CMru, CHistory Ŭ·¡½º´Â Mru ¸ðµâ·Î ºÐÇÒÇÑ´Ù. ´ÙÀ½Àº ºÐÇÒ ÈÄÀÇ Çì´õ ÆÄÀÏÀÌ´Ù. °¢°¢ÀÇ Çì´õ ÆÄÀÏ¿¡´Â ÀÌÁß ÄÄÆÄÀÏÀ» ¹æÁöÇϱâ À§ÇØ Çì´õ ÆÄÀϺ°·Î °íÀ¯ÇÑ ¸ÅÅ©·Î¸¦ Á¤ÀÇÇÑ´Ù.
Util.h |
Mru.h |
#ifndef __UTIL_H #define __UTIL_H #define STARTQ
TCHAR qMes[256];\ static
qcount=0;\ LARGE_INTEGER
qs,s1,s2,s3,qe,qfreq;\ double
g1,g2,g3,ge;\ QueryPerformanceFrequency(&qfreq);\ QueryPerformanceCounter(&qs);\ s1=s2=s3=qs; #define SPOT1
QueryPerformanceCounter(&s1); #define SPOT2
QueryPerformanceCounter(&s2); #define SPOT3
QueryPerformanceCounter(&s3); #define ENDQ
QueryPerformanceCounter(&qe);\ g1=((double)(s1.QuadPart-qs.QuadPart))/((double)qfreq.QuadPart);\ g2=((double)(s2.QuadPart-qs.QuadPart))/((double)qfreq.QuadPart);\ g3=((double)(s3.QuadPart-qs.QuadPart))/((double)qfreq.QuadPart);\ ge=((double)(qe.QuadPart-qs.QuadPart))/((double)qfreq.QuadPart);\ sprintf(qMes,
"%04d :
S1=%.6f,S2=%.6f,S3=%.6f,QE=%.6f\r\n",++qcount,g1,g2,g3,ge);\ OutputDebugString(qMes); #define SHLM
HKEY_LOCAL_MACHINE #define SHCU
HKEY_CURRENT_USER #define SHCR
HKEY_CLASSES_ROOT void
WriteLogFile(TCHAR *strLog,...); void
MySetImeMode(HWND hEdit, BOOL bHan); UINT
SHRegReadInt(HKEY hKey, LPCTSTR lpKey, LPCTSTR lpValue, INT nDefault); BOOL
SHRegReadString(HKEY hKey, LPCTSTR lpKey, LPCTSTR lpValue, LPCTSTR lpDefault,
LPTSTR lpRet, DWORD nSize); BOOL
SHRegWriteInt(HKEY hKey, LPCTSTR lpKey, LPCTSTR lpValue, UINT nData); BOOL
SHRegWriteString(HKEY hKey, LPCTSTR lpKey, LPCTSTR lpValue, LPCTSTR lpData); void
SavePosition(HWND hWnd, TCHAR *Key); void
LoadPosition(HWND hWnd, TCHAR *Key, RECT *Def=NULL); HRESULT
MyCreateShortCut(LPCSTR szSrcFile, LPSTR szLnkFile, LPSTR szArgument, LPSTR
szDesc); void
MyGetSpecialFolderPath(HWND hWnd, int nFolder, TCHAR *szPath); void
MoveToParentCenter(HWND hWnd); BOOL
BrowseFolder(HWND hParent, LPCTSTR szTitle, LPCTSTR StartPath, TCHAR
*szFolder); void
ParseFtpInfo(TCHAR *Path, TCHAR *Server, TCHAR *User, TCHAR *Pass, TCHAR
*& File, int &Port); void
EncodePath(TCHAR *Path, TCHAR *EncPath); void
EncodeBinary(PBYTE buf, int Length, BOOL bEncode); int
BinaryToTextEnccode(PBYTE Src, int length, PBYTE Dest, BOOL bEncode); int
DecodeText(TCHAR *EncText, TCHAR *Text); void
EncodeText(TCHAR *Text, TCHAR *EncText); #define FIF_DEEP
1 #define
FIF_DIRFILTER 2 #define
FIF_INCHID 4 typedef int
(*FIFCALLBACK)(TCHAR *, DWORD, LPVOID); void
FindInFiles(TCHAR *Path, TCHAR *Pattern, DWORD Flags, FIFCALLBACK pCallBack,
LPVOID pCustom); BOOL
IsMatch(TCHAR *Path, TCHAR *Pattern); #endif //
__UTIL_H |
#ifndef __MRU_H #define __MRU_H class CHistory { private: TCHAR
**data; int
width; public: int
num; int
height; CHistory(); CHistory(int
awidth,int aheight); ~CHistory(); void
Init(int awidth, int aheight); void
ChangeHeight(int aheight); void
Add(TCHAR *str); void
Delete(int idx); TCHAR
*Get(int idx); void
Set(int idx, TCHAR *str); void
Empty(); }; class CMru { private: CHistory
arMru; HMENU
hMenu; TCHAR
Key[MAX_PATH]; public: UINT
MenuID; int
MaxMru; CMru(); ~CMru(); BOOL
InitMRU(TCHAR *aKey, HMENU aMenu, UINT aMenuID, int aMaxMru); BOOL
ChangeMenu(HMENU aMenu); void
ChangeMaxMru(int aMaxMru); void
LoadMRU(); void
SaveMRU(); void
AddMRU(TCHAR *Path); void
RemoveMRU(int nIndex); void
ArrangeMenu(); void
GetFilePath(int nIndex,TCHAR *buf); }; #endif //
__MRU_H |
Option.h |
||
#ifndef
__OPTION_H #define
__OPTION_H struct SOption { SOption(); void
Init(); int
GetMaxMru(); int
GetUndoLimit(); void
Load(TCHAR *Key); void
Save(TCHAR *Key); void
GetStyleColor(); void
SetStyleColor(CParse *Parser); int
StartAction; BOOL
bExplorerPopup; BOOL
bAllowMulti; BOOL
bMaxFirstChild; int
MaxMru; TCHAR
DefExt[12]; BOOL
Hangul; int
OutputHeight; BOOL
bInitFind; BOOL
bInitNextFind; BOOL
bShowToolBar; BOOL
bShowStatus; BOOL
bShowFileWnd; int
FileWndWidth; BOOL
bShowFileTab; BOOL
bShowHidden; int
FilterIndex; BOOL
bToolBarBig; BOOL
bToolBarText; |
BOOL
bBrowseMode; BOOL
bSoundFindFail; BOOL
bWatchChange; BOOL
bReloadNoAsk; BOOL
bReloadProject; int
LineRatio; BOOL
bWrap; int
nWrap; int
RightWrap; int
ColMark; int
HideSelType; int
nShowCurLine; LOGFONT
logfont; BOOL
bShowMargin; BOOL
bShowLineNum; BOOL
bShowEnter; BOOL
bShowTab; BOOL
bShowSpace; int
TabWidth; BOOL
bNoFirstSpace; COLORREF
MarColor1; COLORREF
MarColor2; COLORREF
NumColor; COLORREF
MarkColor; int
ShowTabType; int
ShowEnterType; int
ShowSpaceType; COLORREF
CodeColor; COLORREF
CurColor; COLORREF
cBack; COLORREF
cFore; COLORREF
cSelFore; |
COLORREF
cSelBack; BOOL
bUseLineEnd; BOOL
bAllowDrag; int
CaretWidth; BOOL
bHideCurLine; BOOL
bCalcTabWithAvg; int
UndoLimit; BOOL
bSpaceForTab; BOOL
bAutoIndent; BOOL
bBlockIndentWithTab; BOOL
bHomeToFirstChar; int
FindDlgPos; TCHAR
arExt[4][250]; SParseStyle
arStyle[4][32]; FtpInfo
arFtp[32]; LOGFONT
prtFont; RECT
prtMargin; BOOL
prtbParse; BOOL
prtnWrap; BOOL
prtbLineNum; BOOL
prtbSysHeader; BOOL
prtbDirect; TCHAR
prtHeader[256]; TCHAR
prtFooter[256]; int
prtnHeader; int
prtnFooter; TCHAR
prtBkText[64]; }; #endif //
__OPTION_H |
ÀÌ¹Ì ½Ç½ÀÇß´ø Ŭ·¡½º¿Í ÇÔ¼öµéÀ̹ǷΠ³»¿ëÀº ±»ÀÌ º¼ ÇÊ¿ä°¡ ¾øÀ» °Í °°°í ¾î¶² ¸ðµâ¿¡ ¾î¶² ÇÔ¼ö°¡ ¹èÄ¡µÇ¾ú´ÂÁö¸¸ »ìÆì º¸µµ·Ï ÇÏÀÚ. ´ëÃæÀÇ ¸ð¾ç¸¸ »ìÆì º¸¸é µÇ¹Ç·Î Áö¸é Àý¾àÀ» À§ÇØ ±Û²ÃÀ» Á» ÀÛ°Ô ÀμâÇß´Ù.
¿ø·¡ÀÇ Util.h¿¡ ÀÖ´Â ¼±¾ð¹®µéÀ» Àû´çÈ÷ ³ª´©¾î °¡Áö±â¸¸ Çߴµ¥ ´Ü, Util.h¿¡ ¼±¾ðµÇ¾î ÀÖ´ø FtpInfo ±¸Á¶Ã¼´Â Internet.h·Î ¿Å±æ °ÍÀ̹ǷΠÀÏ´Ü »èÁ¦ÇÏ¿´´Ù. ¶ÇÇÑ bContFIF º¯¼ö¿¡ ´ëÇÑ extern ¼±¾ðµµ global.h¶ó´Â º°µµÀÇ ¸ðµâ¿¡¼ Àü´ãÇϹǷΠUtil.h¿¡´Â µÑ ÇÊ¿ä°¡ ¾ø´Ù.
±¸Çö ÆÄÀÏ¿¡´Â ¹°·Ð Çì´õ ÆÄÀÏ¿¡ ¼±¾ðÇÑ ÇÔ¼öÀÇ º»Ã¼¿Í °¢ Ŭ·¡½ºÀÇ ¸â¹öÇÔ¼öµéÀÌ Á¤ÀǵǾî ÀÖ´Ù. ±âÁ¸ÀÇ Util.cpp¿¡ ÀÖ´ø ÄÚµåµéÀ» °¢ ¸ðµâ·Î º¹»çÇϱ⸸ ÇÏ¸é µÈ´Ù. ¹Ì¸® ÄÄÆÄÀÏµÈ Çì´õ ±â´ÉÀ» »ç¿ëÇϹǷΠ¸ðµç CPPÆÄÀÏÀº stdafx.h¸¦ ÀÎŬ·çµåÇØ¾ß ÇÑ´Ù. ±¸Çö ÆÄÀÏÀÇ ³»¿ëÀº CD-ROMÀÇ ¼Ò½º¸¦ ÂüÁ¶Çϱ⠹ٶóµÇ Çì´õ ÆÄÀϸ¸ º¸¸é ¾î¶»°Ô ºÐÇҵǾú´ÂÁö ¾Ë ¼ö ÀÖÀ¸¹Ç·Î ±»ÀÌ È®ÀÎÇØ º¼ ÇÊ¿ä±îÁö´Â ¾øÀ» °ÍÀÌ´Ù.