//--------------------------------------------------------------------------- #pragma hdrstop #include "PathUnit.h" #include "Define.h" #include #include //--------------------------------------------------------------------------- // Directory Name AnsiString InstallPath; AnsiString DirectoryBin; AnsiString DirectoryItem; AnsiString DirectoryTemp; AnsiString DirectoryColor; AnsiString DirectoryTexture; AnsiString DirectoryTextileOpen; AnsiString DirectoryWeaveOpen; AnsiString DirectoryKnitOpen; //#if defined(TEXTILE) AnsiString DirectoryStyle; AnsiString DirectoryVStyle; AnsiString DirectoryStyleLib; AnsiString DirectoryTreatment; //#elif defined(WEAVE) AnsiString DirectoryYarn; AnsiString DirectorySucker; //#elif defined(PILE) //AnsiString DirectoryYarn; //#elif defined(KNIT) AnsiString DirectoryStitch; //AnsiString DirectoryYarn; //#endif AnsiString AppDataBin; AnsiString AppDataItem; AnsiString AutoUpdateBin; AnsiString Language; //--------------------------------------------------------------------------- #pragma package(smart_init) //--------------------------------------------------------------------------- void __fastcall Load_Default_Path(String Program) { DefaultSet(); Program = Program.LowerCase(); TRegIniFile *RegIniFile = NULL; TIniFile *IniFile = NULL; Char tp[MAX_PATH+1]; AnsiString pw; OSVERSIONINFO osinfo; bool bExistIniFile = false; osinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&osinfo); GetTempPath(MAX_PATH, tp); if (tp[_tcslen(tp)-1]=='\\') tp[_tcslen(tp)-1] = 0; DirectoryTemp = tp; InstallPath = DefaultDir;// DefaultDir Àº splash form ¿¡¼­ ¹Ù²ï »óÅ´Ù.. //------------------------------------------------------------------- #ifdef JAPAN AppDataBin = UserAppDataDir + "YandA"; #else AppDataBin = UserAppDataDir + "YoungWoo"; #endif if (!DirectoryExists(AppDataBin)) { if (!CreateDir(AppDataBin)) throw Exception("Cannot create " + AppDataBin); } #ifdef JAPAN #ifdef NETHASP AppDataBin = AppDataBin + "\\NetAlphaGear" + TexProVersion; #else AppDataBin = AppDataBin + "\\AlphaGear" + TexProVersion; #endif #else #ifdef NETHASP AppDataBin = AppDataBin + "\\NetTexpro" + TexProVersion; #else AppDataBin = AppDataBin + "\\Texpro" + TexProVersion; #endif #endif if (!DirectoryExists(AppDataBin)) { if (!CreateDir(AppDataBin)) throw Exception("Cannot create " + AppDataBin); } /////------------------------------------------------------------------- RegIniFile = new TRegIniFile(RegFilename); IniFile = new TIniFile(AppDataBin + "\\Configuration.ini"); if(FileExists(AppDataBin + "\\Configuration.ini")) bExistIniFile = true; if (RegIniFile) { RegIniFile->RootKey = HKEY_LOCAL_MACHINE; RegIniFile->OpenKey(RegFilename + "\\",true); // yw Language = RegIniFile->ReadString("Common", "Language", "English"); DirectoryBin = RegIniFile->ReadString("Directory", "Bin", FullPathName(DefaultDir, "Bin")); if (bExistIniFile && IniFile) { Language = IniFile->ReadString("Common", "Language", "English"); DirectoryTextileOpen = IniFile->ReadString("Directory", "TextileOpen", DefaultDir ); //2001.4.11. by lhskys congi¿¡¼­ Open ³Ö±â DirectoryWeaveOpen = IniFile->ReadString("Directory", "WeaveOpen", DefaultDir ); //2001.4.11. by lhskys congi¿¡¼­ Open ³Ö±â DirectoryKnitOpen = IniFile->ReadString("Directory", "KnitOpen", DefaultDir ); //2001.4.11. by lhskys congi¿¡¼­ Open ³Ö±â delete IniFile; IniFile = NULL; } else { DirectoryTextileOpen = DefaultDir; DirectoryWeaveOpen = DefaultDir; DirectoryKnitOpen = DefaultDir; } DirectoryColor = RegIniFile->ReadString("Directory", "Color", FullPathName(DefaultDir, "Color")); DirectoryTexture = RegIniFile->ReadString("Directory", "Texture", FullPathName(DefaultDir, "Texture")); if (Program == "textile") { DirectoryStyle = RegIniFile->ReadString("Directory", "Style", FullPathName(DefaultDir, "Style")); DirectoryVStyle = FullPathName(DefaultDir, "VStyle"); DirectoryStyleLib = FullPathName(DefaultDir, "StyleLib"); DirectoryTreatment = RegIniFile->ReadString("Directory", "Treatment", FullPathName(DefaultDir, "Treatment")); } else if (Program == "weave") { DirectoryYarn = RegIniFile->ReadString("Directory", "Yarn", FullPathName(DefaultDir, "Yarn")); DirectorySucker = RegIniFile->ReadString("Directory", "Sucker", FullPathName(DefaultDir, "Sucker")); } else if (Program == "pile") { DirectoryYarn = RegIniFile->ReadString("Directory", "Yarn", FullPathName(DefaultDir, "Yarn")); } else if (Program == "knit") { DirectoryStitch = RegIniFile->ReadString("Directory", "Stitch", FullPathName(DefaultDir, "Stitch")); DirectoryYarn = RegIniFile->ReadString("Directory", "Yarn", FullPathName(DefaultDir, "Yarn")); } delete RegIniFile; } else { Language = "English"; if (bExistIniFile && IniFile) { Language = IniFile->ReadString("Common", "Language", "English"); DirectoryTextileOpen = IniFile->ReadString("Directory", "TextileOpen", DefaultDir ); DirectoryWeaveOpen = IniFile->ReadString("Directory", "WeaveOpen", DefaultDir ); DirectoryKnitOpen = IniFile->ReadString("Directory", "KnitOpen", DefaultDir ); DirectoryColor = RegIniFile->ReadString("Directory", "Color", FullPathName(DefaultDir, "Color")); DirectoryTexture = RegIniFile->ReadString("Directory", "Texture", FullPathName(DefaultDir, "Texture")); if (Program == "textile") { DirectoryStyle = IniFile->ReadString("Directory", "Style", FullPathName(DefaultDir, "Style")); DirectoryVStyle = FullPathName(DefaultDir, "VStyle"); DirectoryStyleLib = FullPathName(DefaultDir, "StyleLib"); DirectoryTreatment = IniFile->ReadString("Directory", "Treatment", FullPathName(DefaultDir, "Treatment")); } else if (Program == "weave") { DirectoryYarn = IniFile->ReadString("Directory", "Yarn", FullPathName(DefaultDir, "Yarn")); DirectorySucker = IniFile->ReadString("Directory", "Sucker", FullPathName(DefaultDir, "Sucker")); } else if (Program == "pile") { DirectoryYarn = IniFile->ReadString("Directory", "Yarn", FullPathName(DefaultDir, "Yarn")); } else if (Program == "knit") { DirectoryStitch = IniFile->ReadString("Directory", "Stitch", FullPathName(DefaultDir, "Stitch")); DirectoryYarn = IniFile->ReadString("Directory", "Yarn", FullPathName(DefaultDir, "Yarn")); } delete IniFile; IniFile = NULL; } else { DirectoryBin = FullPathName(DefaultDir, "Bin"); DirectoryColor = FullPathName(DefaultDir, "Color"); DirectoryTexture = FullPathName(DefaultDir, "Texture"); DirectoryTextileOpen = DefaultDir; DirectoryWeaveOpen = DefaultDir; DirectoryKnitOpen = DefaultDir; if (Program == "textile") { DirectoryStyle = FullPathName(DefaultDir, "Style"); DirectoryVStyle = FullPathName(DefaultDir, "VStyle"); DirectoryStyleLib = FullPathName(DefaultDir, "StyleLib"); DirectoryTreatment = FullPathName(DefaultDir, "Treatment"); } else if (Program == "weave") { DirectoryYarn = FullPathName(DefaultDir, "Yarn"); DirectorySucker = FullPathName(DefaultDir, "Sucker"); } else if (Program == "pile") { DirectoryYarn = FullPathName(DefaultDir, "Yarn"); } else if (Program == "knit") { DirectoryStitch = FullPathName(DefaultDir, "Stitch"); DirectoryYarn = FullPathName(DefaultDir, "Yarn"); } } } if (Program == "textile") { DirectoryItem = DirectoryBin + "\\Textile"; AppDataItem = AppDataBin + "\\Textile"; } else if (Program == "weave") { DirectoryItem = DirectoryBin + "\\Weave"; AppDataItem = AppDataBin + "\\Weave"; } else if (Program == "knit") { DirectoryItem = DirectoryBin + "\\Knit"; AppDataItem = AppDataBin + "\\Knit"; } else if (Program == "pile") { DirectoryItem = DirectoryBin + "\\Pile"; AppDataItem = AppDataBin + "\\Pile"; } if (!DirectoryExists(AppDataItem)) { if (!CreateDir(AppDataItem)) throw Exception("Cannot create " + AppDataItem); } AutoUpdateBin = AppDataBin + "\\AutoUpdate"; if (!DirectoryExists(AutoUpdateBin)) { if (!CreateDir(AutoUpdateBin)) throw Exception("Cannot create " + AutoUpdateBin); } } //--------------------------------------------------------------------------- AnsiString __fastcall FullPathName(String dn, String fn) { Char *str = dn.c_str(); if (str[dn.Length()-1] == '\\') return dn + fn; return dn + "\\" + fn; } //---------------------------------------------------------------------------