//--------------------------------------------------------------------------- #include #include #include #include #pragma hdrstop #include "Config_F.h" #include "Define.h" #include "ProtectCard.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" //---------------------------------------------------------------------- TConfigForm *ConfigForm; #ifndef LOCK_CRYPKEY #ifndef LOCK_IFC int Password[4]; #endif #endif //--------------------------------------------------------------------------- __fastcall TConfigForm::TConfigForm(TComponent* Owner) : TForm(Owner) { /* AnsiString Regeditdir; TRegIniFile *RegeditDIR; RegeditDIR = new TRegIniFile(RegFilename); RegeditDIR->RootKey = HKEY_LOCAL_MACHINE; RegeditDIR->OpenKey("SOFTWARE\\YoungWoo\\TexTricot\\" + TTVersion + "\\",true); Regeditdir = RegeditDIR->ReadString("Common", "Exe", ""); delete RegeditDIR; DefaultDir = Regeditdir; */ TRegIniFile *RegIniFile = NULL; RegIniFile = new TRegIniFile(RegFilename); RegIniFile->RootKey = HKEY_LOCAL_MACHINE; if (RegIniFile) { DefaultDir = RegIniFile->ReadString("Common", "Exe", DefaultDir); delete RegIniFile; } OSVERSIONINFO osvi; osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&osvi); osVERSION = osvi.dwPlatformId; LoadFromRegIniFile(); //============================================== #ifdef LOCK_CRYPKEY lbNumber->Visible = false; #ifdef ACADEMY lbMethod->Caption = "Method : Using Software (Academy)"; lbTexture->Enabled = true; edTexture->Enabled = true; #else #ifdef EDUCATION lbMethod->Caption = "Method : Using Software (Education)"; #endif #ifdef DEMO lbMethod->Caption = "Method : Using Software (Demo)"; #endif #ifdef PROFESSIONAL lbMethod->Caption = "Method : Using Software (Professional)"; #endif #ifdef KNIT #endif #ifdef TEXTILE #endif #ifdef WEAVE #endif #endif #else #ifdef LOCK_IFC if ((ProtectCard = new TProtectCard) == NULL) goto fail; #ifdef ACADEMY if (!ProtectCard->Init()) { ShowMessage("Error : Interface card doesn't exist."); goto fail; } Items = 1; lbMethod->Caption = "Method : Interface Card ( Academy )"; lbNumber->Visible = false; #else if ((Items = ProtectCard->Init(RegFilename)) == 0) { ShowMessage("Error : Interface card doesn't exist."); goto fail; } lbMethod->Caption = "Method : Interface Card ( Professional )"; lbNumber->Caption = Format("Version : %d", OPENARRAY(TVarRec, (ProtectCard->Version()))); #endif delete ProtectCard; #else lbVersion->Caption = "Version : " + ProductName + " " + TTVersion; #ifdef NETHASP lbMethod->Caption = "Method : NetHASP"; #else lbMethod->Caption = "Method : HASP"; #endif ProtectCard = new TProtectCard; if ((Items = ProtectCard->Init(Password)) < 1) { ShowMessage(Format("Error(%d) : Interface card doesn't exist.", OPENARRAY(TVarRec, (Items)))); goto fail; } lbNumber->Caption = Format("Serial No. : %d-%d-%d-%d", OPENARRAY(TVarRec, (Password[0], Password[1], Password[2], Password[3]))); delete ProtectCard; #endif #endif // lock_crypkey #ifdef NETHASP IPLoad(); #else NetWork->Visible = false; NetWork->TabVisible = false; #endif return; #ifndef LOCK_CRYPKEY fail: if (ProtectCard) delete ProtectCard; #ifndef NETHASP Application->Terminate(); #endif #endif //======================== 2001.4.17 lhskys FormCreate(TObject *Sender)³»¿ë ¿Å±è } //--------------------------------------------------------------------------- void __fastcall TConfigForm::FontButtonClick(TObject *Sender) { FontDialog->Font->Name = DefaultFontName; if (FontDialog->Execute()) { DefaultFontName = FontDialog->Font->Name; stFont->Caption = DefaultFontName; } } //--------------------------------------------------------------------------- void __fastcall TConfigForm::rbLanguageClick(TObject *Sender) { TRadioButton *rb = (TRadioButton *)Sender; if (rb==rbEnglish) Language = "English"; else if (rb==rbHangul) Language = "Korean"; else if (rb==rbTaiwanese) Language = "Taiwanese"; else if (rb==rbChinese) Language = "Chinese"; else if (rb==rbThai) Language = "Thai"; else if (rb==rbJapanese) Language = "Japanese"; else if (rb==rbIndona) Language = "Indonesian"; } //--------------------------------------------------------------------------- void __fastcall TConfigForm::btOKClick(TObject *Sender) { SaveToRegIniFile(); OSVERSIONINFO osvi; osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&osvi); osVERSION = osvi.dwPlatformId; Close(); } //--------------------------------------------------------------------------- void __fastcall TConfigForm::btCancelClick(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- //// Private Method ///////////////////////////////////////////////////////// //--------------------------------------------------------------------- void __fastcall TConfigForm::LoadFromRegIniFile() { TRegIniFile *RegIniFile; AnsiString pw; DefaultFontName = "MS Sans Serif"; int tempi; TIniFile *IniFile = new TIniFile(DefaultDir + "\\Environment.ini"); if (IniFile) { Language=IniFile->ReadString("Environment", "Language", "English"); DefaultFontName = IniFile->ReadString("Font", "Name", DefaultFontName); Edit1->Text = IniFile->ReadInteger("Main", "Bar", 2); //ÀåÁø¸¸ : ¼³Á¤ ·Îµå Edit2->Text = IniFile->ReadInteger("Main", "Course", 16); Edit3->Text = IniFile->ReadInteger("Main", "Gauge", 28); Edit4->Text = IniFile->ReadInteger("Main", "Cpc", 20); Edit5->Text = IniFile->ReadInteger("Main", "Width", 105); tempi = IniFile->ReadInteger("Environment", "TexMaxWidth", 150); delete IniFile; } stFont->Caption = DefaultFontName; if(tempi == 300) cbMaxWidth->ItemIndex = 1; else if(tempi == 600) cbMaxWidth->ItemIndex = 2; else cbMaxWidth->ItemIndex = 0; if(Language == "Korean") rbHangul->Checked = true; else rbEnglish->Checked = true; #ifndef LOCK_CRYPKEY #ifndef LOCK_IFC RegIniFile = new TRegIniFile(RegFilename); RegIniFile->RootKey = HKEY_LOCAL_MACHINE; RegIniFile->OpenKey(RegFilename,true); pw = RegIniFile->ReadString("Common", "Serial", ""); sscanf(pw.c_str(), "%d-%d-%d-%d", &Password[0], &Password[1], &Password[2], &Password[3]); #endif #endif } //--------------------------------------------------------------------------- void __fastcall TConfigForm::SaveToRegIniFile() { TIniFile *IniFile = new TIniFile(DefaultDir + "\\Environment.ini"); if (IniFile) { IniFile->WriteString("Environment", "Language", Language); IniFile->WriteString("Font", "Name", DefaultFontName); IniFile->WriteInteger("Main", "Bar", StrToInt(Edit1->Text)); //ÀåÁø¸¸ : ¼³Á¤ ÀúÀå IniFile->WriteInteger("Main", "Course", StrToInt(Edit2->Text)); IniFile->WriteInteger("Main", "Gauge", StrToInt(Edit3->Text)); IniFile->WriteInteger("Main", "Cpc", StrToInt(Edit4->Text)); IniFile->WriteInteger("Main", "Width", StrToInt(Edit5->Text)); IniFile->WriteInteger("Environment", "TexMaxWidth", StrToInt(cbMaxWidth->Text)); delete IniFile; } } //--------------------------------------------------------------------------- void __fastcall TConfigForm::BasicKeyPress(TObject *Sender, char &Key) { if((Key < '0' || Key > '9') && Key != '\b') Key = 0; } //--------------------------------------------------------------------------- #ifdef NETHASP void __fastcall TConfigForm::IP() { AnsiString DirectoryItem; TIniFile *IniFile=NULL; DirectoryItem = DefaultDir; if(IpAddress->Text == "") { IniFile = new TIniFile(DirectoryItem+"\\nethasp.ini"); if (IniFile) { IniFile->WriteString("NH_TCPIP", "NH_USE_BROADCAST", "Enabled"); IniFile->DeleteKey("NH_TCPIP", "NH_SERVER_ADDR"); delete IniFile; } } else{ IniFile = new TIniFile(DirectoryItem+"\\nethasp.ini"); if (IniFile) { IniFile->WriteString("NH_TCPIP", "NH_SERVER_ADDR", IpAddress->Text); IniFile->WriteString("NH_TCPIP", "NH_USE_BROADCAST", "Enabled"); delete IniFile; } } } //--------------------------------------------------------------------------- void __fastcall TConfigForm::IPLoad() { AnsiString DirectoryItem; TIniFile *IniFile=NULL; DirectoryItem = DefaultDir; IniFile = new TIniFile(DirectoryItem+"\\nethasp.ini"); if (IniFile) { IpAddress->Text = IniFile->ReadString("NH_TCPIP", "NH_SERVER_ADDR", ""); delete IniFile; } } //--------------------------------------------------------------------------- void __fastcall TConfigForm::NetHASP_server() { TRegIniFile *RegIniFile; AnsiString NetHASP_Key; NetHASP_Key = "\\Software\\Microsoft\\Windows\\CurrentVersion\\"; RegIniFile = new TRegIniFile(RegFilename); RegIniFile->RootKey = HKEY_LOCAL_MACHINE; RegIniFile->OpenKey(NetHASP_Key,true); if(NetHASP_main->ItemIndex == 0){ if (RegIniFile) { RegIniFile->WriteString("Run", "StartHasp", DefaultDir + "\\nhsrvw32.exe"); delete RegIniFile; } }else if(NetHASP_main->ItemIndex == 1){ if (RegIniFile) { RegIniFile->DeleteKey("Run", "StartHasp"); delete RegIniFile; } } RegIniFile = new TRegIniFile(RegFilename); RegIniFile->RootKey = HKEY_LOCAL_MACHINE; RegIniFile->OpenKey(RegFilename+"\\",true); if(NetHASP_main->ItemIndex == 0){ if (RegIniFile) { RegIniFile->WriteString("Common", "NetHASPMain", "true"); delete RegIniFile; } }else if(NetHASP_main->ItemIndex == 1){ if (RegIniFile) { RegIniFile->WriteString("Common", "NetHASPMain", "false"); delete RegIniFile; } } } //--------------------------------------------------------------------------- void __fastcall TConfigForm::NetHASP_server_Load() { TRegIniFile *RegIniFile; AnsiString NetHASPMainSW; RegIniFile = new TRegIniFile(RegFilename); RegIniFile->RootKey = HKEY_LOCAL_MACHINE; RegIniFile->OpenKey(RegFilename+"\\",true); if (RegIniFile) { NetHASPMainSW = RegIniFile->ReadString("Common", "NetHASPMain", ""); delete RegIniFile; } if(NetHASPMainSW == "true"){ NetHASP_main->ItemIndex = 0; }else if(NetHASPMainSW == "false"){ NetHASP_main->ItemIndex = 1; } } #endif //---------------------------------------------------------------------------