//--------------------------------------------------------------------------- #include #pragma hdrstop #include "CombiDirectory_F.h" #include "Common.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TCombiDirectoryDialog *CombiDirectoryDialog; //--------------------------------------------------------------------------- #define IDS_CAP_COMBIDIR1 StringTable[0] #define IDS_CAP_COMBIDIR2 StringTable[1] #define IDS_CAP_COMBIDIR3 StringTable[2] #define IDS_CAP_COMBIDIR4 StringTable[3] #define IDS_CAP_COMBIDIR5 StringTable[4] #define IDS_LB_TARGET StringTable[5] #define IDS_SB_OK StringTable[6] #define IDS_SB_CLOSE StringTable[7] // 2004.08.25 Ãß°¡ - by monkman #define IDS_MESSAGE01 StringTable[8] #define IDS_MESSAGE02 StringTable[9] #define IDS_MESSAGE03 StringTable[10] #define IDS_MESSAGE04 StringTable[11] #define IDS_MESSAGE05 StringTable[12] #define IDS_MESSAGE06 StringTable[13] #define IDS_MESSAGE07 StringTable[14] #define IDS_MESSAGE08 StringTable[15] #define IDS_MESSAGE09 StringTable[16] #define IDS_MESSAGE10 StringTable[17] #define IDS_MESSAGE11 StringTable[18] #define IDS_MESSAGE12 StringTable[19] #define IDS_MESSAGE13 StringTable[20] #define IDS_MESSAGE14 StringTable[21] #define IDS_MESSAGE15 StringTable[22] #define IDS_MESSAGE16 StringTable[23] #define IDS_MESSAGE17 StringTable[24] #define IDS_MESSAGE18 StringTable[25] #define IDS_MESSAGE19 StringTable[26] #define IDS_MESSAGE20 StringTable[27] #define IDS_MESSAGE21 StringTable[28] #define IDS_MESSAGE22 StringTable[29] #define IDS_MESSAGE23 StringTable[30] #define IDS_MESSAGE24 StringTable[31] #define IDS_MESSAGE25 StringTable[32] #define IDS_MESSAGE26 StringTable[33] #define IDS_MESSAGE27 StringTable[34] #define IDS_MESSAGE28 StringTable[35] #define IDS_MESSAGE29 StringTable[36] #define IDS_MESSAGE30 StringTable[37] //--------------------------------------------------------------------------- __fastcall TCombiDirectoryDialog::TCombiDirectoryDialog(TComponent* Owner) : TForm(Owner) { StringTable.Create(DirectoryItem, Language, "CombiDirectory"); SetSmallFont(Font); lbDestination->Caption = IDS_LB_TARGET; spdbtnOK->Hint = IDS_SB_OK; spdbtnClose->Hint = IDS_SB_CLOSE; } //--------------------------------------------------------------------------- void __fastcall TCombiDirectoryDialog::FormCreate(TObject *Sender) { SearchDirList = new TStringList; // ãÀº µð·ºÅ丮 SearchFileList = new TStringList; // ãÀº ÆÄÀÏ DstFileList = new TStringList; // Copy & Move µÉ Destination ÆÄÀÏ ¸®½ºÆ® } //--------------------------------------------------------------------------- void __fastcall TCombiDirectoryDialog::InitForm() { // Style.ini ÆÄÀÏ¿¡¼­ ¾ò¾î¿Â STYPath °ª - by monkman (2004.07.30) TIniFile *IniFile = NULL; IniFile = new TIniFile(AppDataItem+"\\Style.ini"); if (IniFile) { strRootPath = IniFile->ReadString("Combination", "RootPath", DirectoryBin); if (!DirectoryExists(strRootPath)) { strRootPath = DirectoryBin; IniFile->WriteString("Combination", "RootPath", DirectoryBin); } delete IniFile; } IniFile = NULL; FindFolder(strRootPath + "\\*.*"); // CombiDirectory ÆûÀ» ¶ç¿ï¶§ »óŸ¦ ¾î´À »óÅ¿¡¼­ ³Ñ¾î¿Ô´ÂÁö Ç¥½ÃÇÑ´Ù - by monkman (2004.06.03) switch (CombiDirectoryState) { case COMBIDIR_DIR_CREATE : Caption = IDS_CAP_COMBIDIR1; comboDestination->Visible = false; editDestination->BringToFront(); comboDestination->ItemIndex = 0; DstDirectory = comboDestination->Items->Strings[comboDestination->ItemIndex]; break; case COMBIDIR_DIR_RENAME : Caption = IDS_CAP_COMBIDIR2; comboDestination->Visible = false; editDestination->BringToFront(); comboDestination->ItemIndex = 0; DstDirectory = comboDestination->Items->Strings[comboDestination->ItemIndex]; break; case COMBIDIR_DIR_DELETE : Caption = IDS_CAP_COMBIDIR3; editDestination->Visible = false; comboDestination->BringToFront(); if (*nSrcDirectoryIndex >= 0) { if (strRootPath.LowerCase() == DirectoryBin.LowerCase()) { if (SrcDirectory.LowerCase() == "style") { comboDestination->ItemIndex = *nSrcDirectoryIndex; } else { comboDestination->ItemIndex = *nSrcDirectoryIndex - 1; } DstDirectory = comboDestination->Items->Strings[comboDestination->ItemIndex]; } else { comboDestination->ItemIndex = *nSrcDirectoryIndex; DstDirectory = comboDestination->Items->Strings[comboDestination->ItemIndex]; } } else { comboDestination->ItemIndex = 0; DstDirectory = comboDestination->Items->Strings[comboDestination->ItemIndex]; } break; case COMBIDIR_FILE_COPY : Caption = IDS_CAP_COMBIDIR4; editDestination->Visible = false; comboDestination->BringToFront(); if (*nSrcDirectoryIndex >= 0) { comboDestination->ItemIndex = *nSrcDirectoryIndex; DstDirectory = comboDestination->Items->Strings[comboDestination->ItemIndex]; } else { comboDestination->ItemIndex = 0; DstDirectory = comboDestination->Items->Strings[comboDestination->ItemIndex]; } break; case COMBIDIR_FILE_MOVE : Caption = IDS_CAP_COMBIDIR5; editDestination->Visible = false; comboDestination->BringToFront(); if (*nSrcDirectoryIndex >= 0) { comboDestination->ItemIndex = *nSrcDirectoryIndex; DstDirectory = comboDestination->Items->Strings[comboDestination->ItemIndex]; } else { comboDestination->ItemIndex = 0; DstDirectory = comboDestination->Items->Strings[comboDestination->ItemIndex]; } break; } } //--------------------------------------------------------------------------- void __fastcall TCombiDirectoryDialog::FormDestroy(TObject *Sender) { SearchDirList->Clear(); SearchFileList->Clear(); DstFileList->Clear(); delete SearchDirList; delete SearchFileList; delete DstFileList; } //--------------------------------------------------------------------------- void __fastcall TCombiDirectoryDialog::comboDestinationChange( TObject *Sender) { DstDirectory = comboDestination->Items->Strings[comboDestination->ItemIndex]; } //--------------------------------------------------------------------------- void __fastcall TCombiDirectoryDialog::comboDestinationKeyDown( TObject *Sender, WORD &Key, TShiftState Shift) { // Enter Ű ´­·¶À» ¶§ OK ¹öư Ŭ¸¯ if (Key == VK_RETURN) { spdbtnOKClick(this); } if (Key == VK_ESCAPE) { spdbtnCloseClick(this); } } //--------------------------------------------------------------------------- bool __fastcall TCombiDirectoryDialog::STYCreateFolder(String strDirectory) { bool success; success = true; if (strDirectory.IsEmpty()) { // ¸Þ½ÃÁö : Æú´õ¸íÀÌ ÀԷµÇÁö ¾Ê¾Ò½À´Ï´Ù. Application->MessageBox(IDS_MESSAGE01.c_str(), L"Error", MB_ICONERROR); return false; } DirectoryStyle = strRootPath + "\\" + strDirectory; if (!DirectoryExists(DirectoryStyle)) { // Man success &= CreateDirectory(String(DirectoryStyle).c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Coat").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Coat" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Coat" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Coat" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Jacket").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Jacket" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Jacket" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Jacket" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Jumper").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Jumper" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Jumper" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Jumper" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Knit").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Knit" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Knit" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Knit" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Pants").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Pants" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Pants" + "\\Belt").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Shirts").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Shirts" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Shirts" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Shirts" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Top").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Top" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Top" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Top" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Vest").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Vest" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Vest" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Man" + "\\Vest" + "\\Collar").c_str(), NULL); // Woman success &= CreateDirectory(String(DirectoryStyle + "\\Woman").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\1-piece").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\1-piece" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\1-piece" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\1-piece" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Blouse").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Blouse" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Blouse" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Blouse" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Coat").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Coat" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Coat" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Coat" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Jacket").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Jacket" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Jacket" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Jacket" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Jumper").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Jumper" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Jumper" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Jumper" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Knit").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Knit" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Knit" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Knit" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Pants").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Pants" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Pants" + "\\Belt").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Shirts").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Shirts" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Shirts" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Shirts" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Skirt").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Skirt" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Skirt" + "\\Belt").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Top").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Top" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Top" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Top" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Vest").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Vest" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Vest" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Woman" + "\\Vest" + "\\Collar").c_str(), NULL); // Child // DSChild¿¡ TP_JACKET, TP_TOP, TP_KNIT, TP_BLOUSE Ãß°¡ - by monkman (2004.07.03) success &= CreateDirectory(String(DirectoryStyle + "\\Child").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Blouse").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Blouse" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Blouse" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Blouse" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Cape").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Cape" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Cape" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Cape" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Coat").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Coat" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Coat" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Coat" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Jacket").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Jacket" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Jacket" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Jacket" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Jumper").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Jumper" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Jumper" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Jumper" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Knit").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Knit" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Knit" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Knit" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Pants").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Pants" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Pants" + "\\Belt").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Shirts").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Shirts" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Shirts" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Shirts" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\1-piece").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\1-piece" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\1-piece" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\1-piece" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Skirt").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Skirt" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Skirt" + "\\Belt").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Top").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Top" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Top" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Top" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Vest").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Vest" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Vest" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Child" + "\\Vest" + "\\Collar").c_str(), NULL); // Baby success &= CreateDirectory(String(DirectoryStyle + "\\Baby").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Cape").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Cape" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Cape" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Cape" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Pants").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Pants" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Pants" + "\\Belt").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Rompers").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Rompers" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Rompers" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Rompers" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Shirts").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Shirts" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Shirts" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Shirts" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\1-piece").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\1-piece" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\1-piece" + "\\Sleeve").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\1-piece" + "\\Collar").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Skirt").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Skirt" + "\\Silhouette").c_str(), NULL); success &= CreateDirectory(String(DirectoryStyle + "\\Baby" + "\\Skirt" + "\\Belt").c_str(), NULL); if (success) { return true; } else { // ¸Þ½ÃÁö : Æú´õ »ý¼º¿¡ ½ÇÆÐÇß½À´Ï´Ù. Application->MessageBox(IDS_MESSAGE02.c_str(),L"Error", MB_ICONERROR); return false; } } else { // ¸Þ½ÃÁö : °°Àº Æú´õ¸íÀÌ Á¸ÀçÇÕ´Ï´Ù. Application->MessageBox(IDS_MESSAGE03.c_str(), L"Error", MB_ICONERROR); return false; } } //--------------------------------------------------------------------------- bool __fastcall TCombiDirectoryDialog::STYRenameFolder(String strDirectory) { String Msg; String strFullSrcDirectory, strFullDstDirectory; if (strDirectory.IsEmpty()) { // ¸Þ½ÃÁö : Æú´õ¸íÀÌ ÀԷµÇÁö ¾Ê¾Ò½À´Ï´Ù. Application->MessageBox(IDS_MESSAGE01.c_str(), L"Error", MB_ICONERROR); return false; } strFullSrcDirectory = strRootPath + "\\" + SrcDirectory; strFullDstDirectory = strRootPath + "\\" + strDirectory; // ±âº» ½ºÅ¸ÀÏ Æú´õ´Â À̸§ º¯°æÀ» ºÒ°¡´ÉÇÏ°Ô ÇØ¾ßÇÑ´Ù if (!DirectoryExists(strFullDstDirectory)) { if (strFullDstDirectory.LowerCase() != (DirectoryBin.LowerCase() + "\\style") && strFullDstDirectory.LowerCase() != (DirectoryBin.LowerCase() + "\\guideimage") && strFullDstDirectory.LowerCase() != (DirectoryBin.LowerCase() + "\\stisample") && strFullDstDirectory.LowerCase() != (DirectoryBin.LowerCase() + "\\texstylist")) { // ¸Þ½ÃÁö : <¿øº» Æú´õ¸í>\nÀ§ Æú´õ¸íÀÌ ¾Æ·¡¿Í °°ÀÌ º¯°æµË´Ï´Ù.\n<´ë»ó Æú´õ¸í>\nÀÌ ÀÛ¾÷À» ¼öÇàÇϽðڽÀ´Ï±î? Msg = IDS_MESSAGE04 + strFullSrcDirectory + IDS_MESSAGE05 + strFullDstDirectory + IDS_MESSAGE06; if (Application->MessageBox(Msg.c_str(), L"Question", MB_ICONQUESTION | MB_YESNO ) == IDNO) { return false; } if (MoveFile(strFullSrcDirectory.c_str(), strFullDstDirectory.c_str())) { //DirectoryStyle = DstDirectory; return true; } else { // ¸Þ½ÃÁö : Æú´õ¸í º¯°æ¿¡ ½ÇÆÐÇß½À´Ï´Ù Application->MessageBox(IDS_MESSAGE07.c_str(), L"Error", MB_ICONERROR); return false; } } else if (strFullDstDirectory.LowerCase() == (DirectoryBin.LowerCase() + "\\guideimage") && strFullDstDirectory.LowerCase() == (DirectoryBin.LowerCase() + "\\stisample") && strFullDstDirectory.LowerCase() == (DirectoryBin.LowerCase() + "\\texstylist")) { // ¸Þ½ÃÁö : TexStylist¿¡¼­ »ç¿ëÇÏ´Â Æú´õÀÔ´Ï´Ù.\nÀÌ Æú´õ´Â À̸§À» º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù. Application->MessageBox(IDS_MESSAGE08.c_str(), L"Error", MB_ICONERROR); return false; } } else { // ¸Þ½ÃÁö : °°Àº Æú´õ¸íÀÌ Á¸ÀçÇÕ´Ï´Ù. Application->MessageBox(IDS_MESSAGE03.c_str(), L"Error", MB_ICONERROR); return false; } return false; } //--------------------------------------------------------------------------- bool __fastcall TCombiDirectoryDialog::STYDeleteFolder(String strDirectory) { String Msg; DirectoryStyle = strRootPath + "\\" + strDirectory; // ±âº» ½ºÅ¸ÀÏ Æú´õ´Â »èÁ¦ ºÒ°¡´ÉÇÏ°Ô ÇØ¾ßÇÑ´Ù if (DirectoryExists(DirectoryStyle)) { if (DirectoryStyle.LowerCase() != (DirectoryBin.LowerCase() + "\\style") && DirectoryStyle.LowerCase() != (DirectoryBin.LowerCase() + "\\guideimage") && DirectoryStyle.LowerCase() != (DirectoryBin.LowerCase() + "\\stisample") && DirectoryStyle.LowerCase() != (DirectoryBin.LowerCase() + "\\texstylist")) { // ¸Þ½ÃÁö : <Æú´õ¸í>\nÀ§ Æú´õ ÀÌÇÏÀÇ ¸ðµç ÆÄÀÏÀÌ »èÁ¦µË´Ï´Ù.\nÀÌ ÀÛ¾÷À» ¼öÇàÇϽðڽÀ´Ï±î? Msg = DirectoryStyle + IDS_MESSAGE09; if (Application->MessageBox(Msg.c_str(), L"Question", MB_ICONQUESTION | MB_YESNO ) == IDNO) { return false; } SearchDirList->Clear(); SearchFileList->Clear(); DirRecursiveScan(DirectoryStyle, true); SearchDirList->Sort(); SearchFileList->Sort(); // ¹Ýµå½Ã ¾ËÆÄºª ¼ø¼­ÀÇ ¿ª¼øÀ¸·Î ÆÄÀÏÀ̳ª Æú´õ¸¦ Áö¿î´Ù // ÆÄÀÏÀ» ¸ÕÀú Áö¿ö¾ß µð·ºÅ丮¸¦ Áö¿ï ¼ö ÀÖ´Ù for (int i = SearchFileList->Count-1; i >= 0; i--) { DeleteFile(SearchFileList->Strings[i].c_str()); } for (int i = SearchDirList->Count-1 ; i >= 0; i--) { RemoveDirectory(SearchDirList->Strings[i].c_str()); } RemoveDirectory(String(DirectoryStyle).c_str()); SearchDirList->Clear(); SearchFileList->Clear(); return true; } else if (DirectoryStyle.LowerCase() == (DirectoryBin.LowerCase() + "\\style")) { // ¸Þ½ÃÁö : ±âº» ½ºÅ¸ÀÏ ÆÄÀϵéÀÌ ÀúÀåµÈ Æú´õ´Â »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù. Application->MessageBox(IDS_MESSAGE10.c_str(), L"Error", MB_ICONERROR); return false; } else if (DirectoryStyle.LowerCase() == (DirectoryBin.LowerCase() + "\\guideimage") || DirectoryStyle.LowerCase() == (DirectoryBin.LowerCase() + "\\stisample") || DirectoryStyle.LowerCase() == (DirectoryBin.LowerCase() + "\\texstylist")) { // ¸Þ½ÃÁö : TexStylist¿¡¼­ »ç¿ëÇÏ´Â Æú´õÀÔ´Ï´Ù.\nÀÌ Æú´õ´Â »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù. Application->MessageBox(IDS_MESSAGE11.c_str(), L"Error", MB_ICONERROR); return false; } } else { // ¸Þ½ÃÁö : ÇØ´ç Æú´õ°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù Application->MessageBox(IDS_MESSAGE12.c_str(), L"Error", MB_ICONERROR); return false; } return false; } //--------------------------------------------------------------------------- bool __fastcall TCombiDirectoryDialog::STYCopyFiles() { String Msg; bool bOverWrite; // µ¤¾î ¾²±â »Ó¸¸ ¾Æ´Ï¶ó ÇѹøÀÌ¶óµµ º¹»çµÇ¾úÀ¸¸é true int MsgCreateFolder; // Æú´õ¸¦ »ý¼ºÇÒ °ÍÀÎÁö (MessageDialogBox.cpp¿¡¼­ »ç¿ë) int MsgOverWrite; // µ¤¾î¾µ °ÍÀÎÁö (MessageDialogBox.cpp¿¡¼­ »ç¿ë) bOverWrite = false; MsgCreateFolder = 0; MsgOverWrite = 0; DirectoryStyle = strRootPath + "\\" + SrcDirectory; if (!SrcDirectory.IsEmpty() && !DstDirectory.IsEmpty() && SrcDirectory.LowerCase() != DstDirectory.LowerCase()) { DstFileList->Clear(); for (int i = 0; i < SrcFileList->Count; i++) { DstFileList->Add(SrcPathToDstPath(SrcFileList->Strings[i])); if (!CopyFile(SrcFileList->Strings[i].c_str(), DstFileList->Strings[i].c_str(), true)) { if (!ExistPath(DstFileList->Strings[i])) { // ¸Þ½ÃÁö : <´ë»ó ÆÄÀÏ>\nÀ§ ÆÄÀÏÀÌ º¹»çµÉ Æú´õ°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.\nÆú´õ¸¦ »ý¼ºÇϽðڽÀ´Ï±î? if (MsgCreateFolder != 2) { Msg = DstFileList->Strings[i] + IDS_MESSAGE13; MsgCreateFolder = MessageDialogFunc(Msg, "Question", "&Yes|&All|&No|Cancel", "Yes"); } if (MsgCreateFolder == 2 || MsgCreateFolder == 1) { CreateSubFolder(DstFileList->Strings[i]); CopyFile(SrcFileList->Strings[i].c_str(), DstFileList->Strings[i].c_str(), false); } if (MsgCreateFolder == 3) continue; if (MsgCreateFolder == 4) return false; } else { // ¸Þ½ÃÁö : <´ë»ó ÆÄÀÏ>\n°°Àº À̸§ÀÇ ÆÄÀÏÀÌ Á¸ÀçÇÕ´Ï´Ù.\nµ¤¾î ¾²½Ã°Ú½À´Ï±î? Msg = DstFileList->Strings[i] + IDS_MESSAGE14; if (MsgOverWrite != 2) { MsgOverWrite = MessageDialogFunc(Msg, "Question", "&Yes|&All|&No|Cancel", "Yes"); } if (MsgOverWrite == 2 || MsgOverWrite == 1) { bOverWrite = true; CopyFile(SrcFileList->Strings[i].c_str(), DstFileList->Strings[i].c_str(), false); } if (MsgOverWrite == 3) continue; if (MsgOverWrite == 4) goto next; } } else { bOverWrite = true; } } next : if (bOverWrite) { // ¸Þ½ÃÁö : <¿øº» Æú´õ¸í>\nÆú´õ¿¡¼­ ¼±ÅÃµÈ ÆÄÀϵéÀÌ\n<´ë»ó Æú´õ¸í>\nÆú´õ·Î º¹»çµÇ¾ú½À´Ï´Ù. Msg = IDS_MESSAGE15 + strRootPath + "\\" + SrcDirectory + IDS_MESSAGE16 + strRootPath + "\\" + DstDirectory + IDS_MESSAGE17; Application->MessageBox(Msg.c_str(), L"Information", MB_ICONINFORMATION); } return true; } else if (SrcDirectory.LowerCase() == DstDirectory.LowerCase()) { // ¸Þ½ÃÁö : º¹»ç ¿øº» Æú´õ¿Í ´ë»ó Æú´õ°¡ µ¿ÀÏÇÕ´Ï´Ù. Application->MessageBox(IDS_MESSAGE18.c_str(), L"Error", MB_ICONERROR); return false; } else if (SrcDirectory.IsEmpty()) { // ¸Þ½ÃÁö : º¹»çÇÒ ¿øº» Æú´õ¸¦ ÁöÁ¤ÇØÁֽʽÿÀ. Application->MessageBox(IDS_MESSAGE19.c_str(), L"Error", MB_ICONERROR); return false; } else if (DstDirectory.IsEmpty()) { // ¸Þ½ÃÁö : º¹»ç ¹ÞÀ» ´ë»ó Æú´õ¸¦ ÁöÁ¤ÇØÁֽʽÿÀ. Application->MessageBox(IDS_MESSAGE20.c_str(), L"Error", MB_ICONERROR); return false; } else { // ¸Þ½ÃÁö : º¹»ç ´ë»óÀÎ ¿øº» Æú´õ¿Í º¹»ç ¹ÞÀ» ´ë»ó Æú´õ¸¦ ÁöÁ¤ÇØÁֽʽÿÀ. Application->MessageBox(IDS_MESSAGE21.c_str(), L"Error", MB_ICONERROR); return false; } } //--------------------------------------------------------------------------- bool __fastcall TCombiDirectoryDialog::STYMoveFiles() { String Msg; bool bOverWrite; // µ¤¾î ¾²±â »Ó¸¸ ¾Æ´Ï¶ó ÇѹøÀÌ¶óµµ º¹»çµÇ¾úÀ¸¸é true int MsgOverWrite; // µ¤¾î¾µ °ÍÀÎÁö (MessageDialogBox.cpp¿¡¼­ »ç¿ë) bOverWrite = false; MsgOverWrite = 0; DirectoryStyle = strRootPath + "\\" + SrcDirectory; if (!SrcDirectory.IsEmpty() && DirectoryStyle.LowerCase() != (DirectoryBin.LowerCase() + "\\style") && DirectoryStyle.LowerCase() != (DirectoryBin.LowerCase() + "\\guideimage") && DirectoryStyle.LowerCase() != (DirectoryBin.LowerCase() + "\\stisample") && DirectoryStyle.LowerCase() != (DirectoryBin.LowerCase() + "\\texstylist") && SrcDirectory.LowerCase() != DstDirectory.LowerCase()) { if (DirectoryStyle.LowerCase() == (DirectoryBin.LowerCase() + "\\style")) { // ¸Þ½ÃÁö : ±âº» ½ºÅ¸ÀÏ ÆÄÀϵéÀÌ ÀúÀåµÈ Æú´õÀÔ´Ï´Ù.\n¼±ÅÃµÈ ÆÄÀϵéÀ» À̵¿ÇϽðڽÀ´Ï±î? if (Application->MessageBox(IDS_MESSAGE22.c_str(), L"Question", MB_ICONQUESTION | MB_YESNO) == IDNO) { return false; } } DstFileList->Clear(); for (int i = 0; i < SrcFileList->Count; i++) { DstFileList->Add(SrcPathToDstPath(SrcFileList->Strings[i])); if (!MoveFile(SrcFileList->Strings[i].c_str(), DstFileList->Strings[i].c_str())) { // ¸Þ½ÃÁö : <´ë»ó ÆÄÀÏ>\n°°Àº À̸§ÀÇ ÆÄÀÏÀÌ Á¸ÀçÇÕ´Ï´Ù.\nµ¤¾î ¾²½Ã°Ú½À´Ï±î? Msg = DstFileList->Strings[i] + IDS_MESSAGE14; if (MsgOverWrite != 2) { MsgOverWrite = MessageDialogFunc(Msg, L"Question", "&Yes|&All|&No|Cancel", "Yes"); } if (MsgOverWrite == 2 || MsgOverWrite == 1) { if (DeleteFile(DstFileList->Strings[i].c_str())) { if (!MoveFile(SrcFileList->Strings[i].c_str(), DstFileList->Strings[i].c_str())) { // ¸Þ½ÃÁö : <´ë»ó ÆÄÀÏ>\nÆÄÀÏÀ» À̵¿ÇÒ ¼ö ¾ø½À´Ï´Ù. Msg = DstFileList->Strings[i] + IDS_MESSAGE23; Application->MessageBox(Msg.c_str(), L"Error", MB_ICONERROR); } else { bOverWrite = true; } } } if (MsgOverWrite == 3) continue; if (MsgOverWrite == 4) { goto next; } } else { bOverWrite = true; } } next : if (bOverWrite) { // ¸Þ½ÃÁö : <¿øº» Æú´õ¸í>\nÆú´õ¿¡¼­ ¼±ÅÃµÈ ÆÄÀϵéÀÌ\n<´ë»ó Æú´õ¸í>\nÆú´õ·Î º¹»çµÇ¾ú½À´Ï´Ù. Msg = IDS_MESSAGE24 + strRootPath + "\\" + SrcDirectory + IDS_MESSAGE25 + strRootPath + "\\" + DstDirectory + IDS_MESSAGE26; Application->MessageBox(Msg.c_str(), L"Information", MB_ICONINFORMATION); } return true; } else if (SrcDirectory.LowerCase() == DstDirectory.LowerCase()) { // ¸Þ½ÃÁö : ÆÄÀÏÀ» À̵¿ÇÒ ¿øº» Æú´õ¿Í ´ë»ó Æú´õ°¡ µ¿ÀÏÇÕ´Ï´Ù. Application->MessageBox(IDS_MESSAGE27.c_str(), L"Error", MB_ICONERROR); return false; } else if (SrcDirectory.IsEmpty()) { // ¸Þ½ÃÁö : À̵¿ÇÒ ÆÄÀÏÀÌ ÀÖ´Â ¿øº» Æú´õ¸¦ ÁöÁ¤ÇØÁֽʽÿÀ. Application->MessageBox(IDS_MESSAGE28.c_str(), L"Error", MB_ICONERROR); return false; } else if (DstDirectory.IsEmpty()) { // ¸Þ½ÃÁö : ÆÄÀÏÀ» À̵¿ÇÒ ´ë»ó Æú´õ¸¦ ÁöÁ¤ÇØÁֽʽÿÀ. Application->MessageBox(IDS_MESSAGE29.c_str(), L"Error", MB_ICONERROR); return false; } else { // ¸Þ½ÃÁö : À̵¿ÇÒ ÆÄÀÏÀÌ ÀÖ´Â ¿øº» Æú´õ¿Í ±× ÆÄÀÏÀÌ À̵¿µÉ ´ë»ó Æú´õ¸¦ ÁöÁ¤ÇØÁֽʽÿÀ. Application->MessageBox(IDS_MESSAGE30.c_str(), L"Error", MB_ICONERROR); return false; } } //--------------------------------------------------------------------------- void __fastcall TCombiDirectoryDialog::FindFolder(String path) { // path»ó¿¡ µ¿µîÇÏ°Ô Á¸ÀçÇÏ´Â ÇÏÀ§µð·ºÅ丮¸¸ °Ë»öÇÑ´Ù HANDLE hSrch; WIN32_FIND_DATA wfd; Char drive[MAX_PATH]; Char dir[MAX_PATH]; Char newpath[MAX_PATH]; String TempDstDirectory; bool bResult = true; String strLowerFileName; TempDstDirectory = comboDestination->Items->Strings[comboDestination->ItemIndex]; comboDestination->Clear(); hSrch=FindFirstFile(path.c_str(), &wfd); while (bResult) { // ÆÐ½º¸¦ µå¶óÀ̺ê, µð·ºÅ丮·Î ºÐ·ù _wsplitpath(path.c_str(), drive, dir, NULL, NULL); // µð·ºÅ丮ÀÎÁö È®ÀÎ if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { if (wfd.cFileName[0] != '.') { // ÆÐ½º Àç¼³Á¤ wsprintf(newpath, L"%s%s%s\\*.*", drive, dir, wfd.cFileName); if (path.LowerCase() == DirectoryBin.LowerCase() || path.LowerCase() == (DirectoryBin.LowerCase() + "\\*.*")) { strLowerFileName = strLowerFileName.sprintf(wfd.cFileName); strLowerFileName = strLowerFileName.LowerCase(); // Style µð·ºÅ丮ÀÏ °æ¿ì if (strLowerFileName == "style") { if (CombiDirectoryState != COMBIDIR_DIR_DELETE) { comboDestination->Items->Insert(0, wfd.cFileName); } } else if (strLowerFileName != "detail" && strLowerFileName != "guideimage" // Stylist¿¡¼­ »ç¿ëÇÏ´Â µð·ºÅ丮ÀÏ °æ¿ì && strLowerFileName != "stisample" && strLowerFileName != "texstylist") { comboDestination->Items->Add(wfd.cFileName); } } else { comboDestination->Items->Add(wfd.cFileName); } } } bResult = FindNextFile(hSrch, &wfd); } FindClose(hSrch); if (comboDestination->ItemIndex >= 0) { comboDestination->ItemIndex = comboDestination->Items->IndexOf(TempDstDirectory); DstDirectory = comboDestination->Items->Strings[comboDestination->ItemIndex]; } else { comboDestination->ItemIndex = 0; DstDirectory = comboDestination->Items->Strings[comboDestination->ItemIndex]; } } //--------------------------------------------------------------------------- void __fastcall TCombiDirectoryDialog::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); } else { SearchFileList->Add(fpath); } } Found = FindNext(sr); } FindClose(sr); } catch (Exception &e) { //throw e; } } //--------------------------------------------------------------------------- bool __fastcall TCombiDirectoryDialog::ExistPath(const String strDirectory) { String strExistPath; String PrePath; String SufPath; int brkCnt; // Path Á¸Àç ¿©ºÎ °Ë»ç brkCnt = 0; for (int i = strDirectory.Length() - 1; i >= 0; i--) { if (strDirectory.SubString(i, 1) == "\\") brkCnt++; if (brkCnt == 1) { strExistPath = strDirectory.SubString(1, i); break; } } // Path°¡ Á¸ÀçÇÒ ¶§ true, Á¸ÀçÇÏÁö ¾ÊÀ» ¶§ false if (DirectoryExists(strExistPath)) return true; else return false; } //--------------------------------------------------------------------------- String __fastcall TCombiDirectoryDialog::SrcPathToDstPath(const String SrcPath) { String PrePath, SufPath; int brkCnt; // SourceÀÇ Path¸¦ ¹Þ¾Æ DestinationÀÇ Path·Î ¹Ù²ãÁØ´Ù brkCnt = 0; for (int i = SrcPath.Length() - 1; i >= 0; i--) { if (SrcPath.SubString(i, 1) == "\\") brkCnt++; if (brkCnt == 3) { SufPath = SrcPath.SubString(i-1, SrcPath.Length()); } if (brkCnt == 5) { PrePath = SrcPath.SubString(1, i-1); break; } } return PrePath + "\\" + DstDirectory + SufPath; } //--------------------------------------------------------------------------- bool __fastcall TCombiDirectoryDialog::CreateSubFolder(const String strDirectory) { // ¼±ÅÃµÈ ÆÄÀÏ º¹»ç½Ã ÇÏÀ§ Æú´õ°¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é »ý¼ºÇØÁØ´Ù - by monkman (2004.05.24) String TempPath; bool success; success = false; // Path Á¸Àç ¿©ºÎ °Ë»ç for (int i = 0; i < strDirectory.Length(); i++) { if (strDirectory.SubString(i, 1) == "\\") { TempPath = strDirectory.SubString(1, i); if (!DirectoryExists(TempPath)) { success |= CreateDirectory(String(TempPath).c_str(), NULL); } } } // Çϳª¶óµµ ¼º°øÇßÀ¸¸é true¸¦ ¸®ÅÏÇÑ´Ù return success; } //--------------------------------------------------------------------------- void __fastcall TCombiDirectoryDialog::spdbtnOKClick(TObject *Sender) { int nItemIndex; bool bSuccess; // ÀÏ´Ü ÆûÀ» ¾È º¸ÀÌ°Ô Çϰí, CombinationÀÇ À̺¥Æ® ½ÇÇà ÈÄ ´Ý´Â´Ù switch (CombiDirectoryState) { case COMBIDIR_DIR_CREATE : Visible = false; bSuccess = STYCreateFolder(editDestination->Text); if (bSuccess) { bOK = true; Close(); } else { Visible = true; } break; case COMBIDIR_DIR_RENAME : Visible = false; bSuccess = STYRenameFolder(editDestination->Text); if (bSuccess) { FindFolder(strRootPath + "\\*.*"); *nDstDirectoryIndex = comboDestination->Items->IndexOf(editDestination->Text); bOK = true; Close(); } else { Visible = true; } break; case COMBIDIR_DIR_DELETE : nItemIndex = *nSrcDirectoryIndex; Visible = false; bSuccess = STYDeleteFolder(DstDirectory); if (bSuccess) { if (SrcDirectory.LowerCase() == DstDirectory.LowerCase()) { *nSrcDirectoryIndex = -1; } bOK = true; Close(); } else { if (bSuccess) { bOK = true; Close(); } else { Visible = true; } } break; case COMBIDIR_FILE_COPY : Visible = false; bSuccess = STYCopyFiles(); if (bSuccess) { bOK = true; Close(); } else { Visible = true; } break; case COMBIDIR_FILE_MOVE : Visible = false; bSuccess = STYMoveFiles(); if (bSuccess) { bOK = true; Close(); } else { Visible = true; } break; } } //--------------------------------------------------------------------------- void __fastcall TCombiDirectoryDialog::spdbtnCloseClick(TObject *Sender) { // ¾Æ¹« ÀÛ¾÷µµ ÇÏÁö ¾Ê°í Close() bOK = false; Close(); } //--------------------------------------------------------------------------- void __fastcall TCombiDirectoryDialog::editDestinationKeyDown( TObject *Sender, WORD &Key, TShiftState Shift) { // Enter Ű ´­·¶À» ¶§ OK ¹öư Ŭ¸¯ if (Key == VK_RETURN) { spdbtnOKClick(this); } if (Key == VK_ESCAPE) { spdbtnCloseClick(this); } } //--------------------------------------------------------------------------- // ±âº» µð·ºÅ丮 º¯°æ ´ÙÀ̾ó·Î±× - by monkman (2004.07.23) bool __fastcall CombiDirectoryDialogFunc(BYTE CombiDirectoryState, String DirectoryStyle, String SrcDirectory, int *nSrcDirectoryIndex, int *nDstDirectoryIndex, TStringList *SrcFileList) { bool bOK; CombiDirectoryDialog = new TCombiDirectoryDialog(Application); CombiDirectoryDialog->bOK = bOK; CombiDirectoryDialog->CombiDirectoryState = CombiDirectoryState; CombiDirectoryDialog->DirectoryStyle = DirectoryStyle; CombiDirectoryDialog->SrcDirectory = SrcDirectory; CombiDirectoryDialog->nSrcDirectoryIndex = nSrcDirectoryIndex; CombiDirectoryDialog->nDstDirectoryIndex = nDstDirectoryIndex; CombiDirectoryDialog->SrcFileList = SrcFileList; CombiDirectoryDialog->InitForm(); CombiDirectoryDialog->ShowModal(); bOK = CombiDirectoryDialog->bOK; delete CombiDirectoryDialog; return bOK; } //---------------------------------------------------------------------------