//--------------------------------------------------------------------------- #include #pragma hdrstop #include "BaseDirectoryDialog_F.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "RzShellCtrls" #pragma link "RzTreeVw" #pragma link "RzButton" #pragma resource "*.dfm" TBaseDirectoryDialog *BaseDirectoryDialog; //--------------------------------------------------------------------------- #define IDS_SETBASEFOLDER StringTable[0] #define IDS_SELECTDRIVE StringTable[1] #define IDS_SELECTFOLDER StringTable[2] #define IDS_OK StringTable[3] #define IDS_DEFAULT StringTable[4] #define IDS_CLOSE StringTable[5] #define IDS_DATATRANSFORM StringTable[6] #define IDS_COMBINATION StringTable[7] #define IDS_COMBIDETAIL StringTable[8] #define IDS_STYLEILLUSTFORM StringTable[9] //#define IDS_ StringTable[] //--------------------------------------------------------------------------- __fastcall TBaseDirectoryDialog::TBaseDirectoryDialog(TComponent* Owner) : TForm(Owner) { StringTable.Create(DirectoryItem, Language, "BaseDirectoryDialog"); SetSmallFont(Font); Caption = IDS_SETBASEFOLDER; spdbtnOK->Hint = IDS_OK; spdbtnDefault->Hint = IDS_DEFAULT; spdbtnClose->Hint = IDS_CLOSE; // °Ë»öµÈ µð·ºÅ丮 ¸íÀ» °¡Áö°í ÀÖ´Â ¸®½ºÆ® SearchDirList = new TStringList; } //--------------------------------------------------------------------------- void __fastcall TBaseDirectoryDialog::FormCreate(TObject *Sender) { // } //--------------------------------------------------------------------------- void __fastcall TBaseDirectoryDialog::InitForm(String strAFrom, String strAOriginDirectory) { String strDefaultDirectory; strFrom = strAFrom; strOriginDirectory = strAOriginDirectory; // ÀÌÀü µð·ºÅ丮 °ªÀÌ ¾ø°Å³ª ¶Ç´Â µð·ºÅ丮°¡ Á¸ÀçÇÏÁö ¾ÊÀ» °æ¿ì if (strOriginDirectory.IsEmpty() || !DirectoryExists(strOriginDirectory)) { strOriginDirectory = DirectoryBin; } strSetDirectory = strOriginDirectory; rzshelltreeFolderPath->SelectedFolder->PathName = strSetDirectory; } //--------------------------------------------------------------------------- void __fastcall TBaseDirectoryDialog::FormDestroy(TObject *Sender) { SearchDirList->Clear(); delete SearchDirList; } //--------------------------------------------------------------------------- void __fastcall TBaseDirectoryDialog::spdbtnOKClick(TObject *Sender) { TIniFile *IniFile = NULL; // µå¶óÀ̺길 ÁöÁ¤ÇßÀ» °æ¿ì - ÀϹÝÀûÀ¸·Î µÚÀÇ \\´Â Çϳª Á¦°ÅÇÏ°í »ç¿ëÇÏ´Â °ÍÀÌ ÆíÇÏ´Ù - by monkman (2004.08.04) strSetDirectory = rzshelltreeFolderPath->SelectedPathName; IniFile = new TIniFile(AppDataItem+"\\Style.ini"); if (IniFile) { if (strOriginDirectory.LowerCase() != strSetDirectory.LowerCase()) { IniFile->WriteString(strFrom, "RootPath", strSetDirectory); } delete IniFile; } IniFile = NULL; Close(); } //--------------------------------------------------------------------------- void __fastcall TBaseDirectoryDialog::spdbtnDefaultClick(TObject *Sender) { strSetDirectory = strOriginDirectory; rzshelltreeFolderPath->SelectedFolder->PathName = strSetDirectory; } //--------------------------------------------------------------------------- void __fastcall TBaseDirectoryDialog::spdbtnCloseClick(TObject *Sender) { strSetDirectory = strOriginDirectory; // º¯È­ ¾øÀ½À¸·Î ¹Ýȯ Close(); } //--------------------------------------------------------------------------- // ±âº» µð·ºÅ丮 º¯°æ ´ÙÀ̾ó·Î±× - by monkman (2004.07.23) String __fastcall BaseDirectoryDialogFunc(String strFrom, String strOriginDirectory) { String strSetDirectory; BaseDirectoryDialog = new TBaseDirectoryDialog(Application); BaseDirectoryDialog->InitForm(strFrom, strOriginDirectory); BaseDirectoryDialog->ShowModal(); strSetDirectory = BaseDirectoryDialog->strSetDirectory; delete BaseDirectoryDialog; return strSetDirectory; } //--------------------------------------------------------------------------- void __fastcall TBaseDirectoryDialog::rzshelltreeFolderPathChange(TObject *Sender, TTreeNode *Node) { lbCurrentDirectory->Caption = rzshelltreeFolderPath->SelectedPathName; } //--------------------------------------------------------------------------- // ¼­ºê Directory±îÁö °Ë»öÇÑ´Ù void __fastcall TBaseDirectoryDialog::DirRecursiveScan(String path, bool bRecursive) { try { if (String(path.LastChar()) != "\\") path += "\\"; String fpath; TSearchRec sr; int Found = FindFirst(path + "*.*", faAnyFile, sr); while (Found == 0) { fpath = path + sr.Name; if (*sr.Name.c_str() != '.') { if (DirectoryExists(fpath)) { SearchDirList->Add(fpath); if (bRecursive) DirRecursiveScan(fpath, true); } } Found = FindNext(sr); } FindClose(sr); } catch (Exception &e) { //throw e; } } //---------------------------------------------------------------------------