DLLEXPORT STDAPI DllRegisterServer(VOID) { if (!EnsureRegKey(g_lpRegKey)) return E_UNEXPECTED; WCHAR szPath[MAX_PATH]; GetModuleFileName(g_hInstance, szPath, MAX_PATH); if (!SetRegValue(g_lpRegKey, L"Description", L"SumatraPDF Browser Plugin") || !SetRegValue(g_lpRegKey, L"Path", szPath) || !SetRegValue(g_lpRegKey, L"Version", CURR_VERSION_STR) || !SetRegValue(g_lpRegKey, L"ProductName", L"SumatraPDF Browser Plugin")) { return E_UNEXPECTED; } ScopedMem<WCHAR> mimeType(str::Join(g_lpRegKey, L"\\MimeTypes\\application/pdf")); EnsureRegKey(mimeType); mimeType.Set(str::Join(g_lpRegKey, L"\\MimeTypes\\application/vnd.ms-xpsdocument")); EnsureRegKey(mimeType); mimeType.Set(str::Join(g_lpRegKey, L"\\MimeTypes\\application/oxps")); EnsureRegKey(mimeType); mimeType.Set(str::Join(g_lpRegKey, L"\\MimeTypes\\image/vnd.djvu")); EnsureRegKey(mimeType); mimeType.Set(str::Join(g_lpRegKey, L"\\MimeTypes\\image/x-djvu")); EnsureRegKey(mimeType); mimeType.Set(str::Join(g_lpRegKey, L"\\MimeTypes\\image/x.djvu")); EnsureRegKey(mimeType); return S_OK; }
void CPreStylePag::SaveTable2Registry() { CComboBox *lpTable, *lpStyle, *lpShx, *lpBig; CString strTable, strValue; lpTable = (CComboBox *)GetDlgItem(IDC_COMBO_TABLE); lpStyle = (CComboBox *)GetDlgItem(IDC_COMBO_STYLE); lpShx = (CComboBox *)GetDlgItem(IDC_COMBO_SHXFONTS); lpBig = (CComboBox *)GetDlgItem(IDC_COMBO_BIGFONTS); //保存当前表格的参数设置 lpTable->GetLBText(pCurTable->nTable, strTable); //保存当前样式名 if(lpStyle->GetCount()>0)//pfg20050330 { lpStyle->GetLBText(pCurTable->nStyle, strValue); } else//pfg20050330 { strValue="";//pfg20050330 } SetRegValue(_T("Settings"), strTable + _T("-STYLENAME"), strValue); //保存当前样式属性:当重新导入的时候,若系统中没有相应 // 的样式时,则自动创建,若系统已经有相应的样式,则 // 不更改相应样式的属性值,这时表格参数被重置。 //保存当前字体文件名 lpShx->GetLBText(pCurTable->nShxFonts, strValue); SetRegValue(_T("Settings"), strTable + _T("-SHXFILENAME"), strValue); //保存当前大字体文件名 lpBig->GetLBText(pCurTable->nBigFonts, strValue); SetRegValue(_T("Settings"), strTable + _T("-BIGFILENAME"), strValue); //高度 //pfg20050330 strTable.TrimLeft(); strTable.TrimRight(); if(strTable.Compare("标注尺寸")) { SetRegValue(_T("Settings"), strTable + _T("-HEIGHT"), double(pCurTable->dHeight));//pfg20050330原代码 } //pfg20050330 //宽度 SetRegValue(_T("Settings"), strTable + _T("-WIDTH"), double(pCurTable->dScaleFactor)); //倾斜角度 SetRegValue(_T("Settings"), strTable + _T("-OBLIQUEANGLE"), double(pCurTable->dAngle)); //颠倒 SetRegValue(_T("Settings"), strTable + _T("-BLUP2DOWN"), pCurTable->blUp2Down); //反向 SetRegValue(_T("Settings"), strTable + _T("-BLBACKWARD"), pCurTable->blBackward); //垂直 SetRegValue(_T("Settings"), strTable + _T("-BLVERTICAL"), pCurTable->blVertical); //文字对齐方式 SetRegValue(_T("Settings"), strTable + _T("-ALIGN"), int(pCurTable->nAlign)); }
/****************************************************************************** Runs when dialog is closed ******************************************************************************/ void PBDlg::OnClose() { //Sets registry values if valid CString temp; PBDlg::GetDlgItemText(IDC_OLD_VERSION, temp); SetRegValue(L"OLDVERSION", temp); PBDlg::GetDlgItemText(IDC_CURRENT_VERSION, temp); SetRegValue(L"CURRENTVERSION", temp); PBDlg::GetDlgItemText(IDC_INSTALLER_VERSION, temp); SetRegValue(L"INSTALLERVERSION", temp); PBDlg::GetDlgItemText(IDC_OLD_DIRECTORY, temp); if(PathIsDirectory(temp.GetString())) SetRegValue(L"OLDDIRECTORY", temp); PBDlg::GetDlgItemText(IDC_CURRENT_DIRECTORY, temp); if(PathIsDirectory(temp.GetString())) SetRegValue(L"CURRENTDIRECTORY", temp); PBDlg::GetDlgItemText(IDC_UPDATER_DIRECTORY, temp); if(PathIsDirectory(temp.GetString())) SetRegValue(L"UPDATERDIRECTORY", temp); PBDlg::GetDlgItemText(IDC_OUTPUT_FOLDER, temp); if(PathIsDirectory(temp.GetString())) SetRegValue(L"OUTPUTDIRECTORY", temp); PBDlg::GetDlgItemText(IDC_INSTALLER_DIRECTORY, temp); if(PathIsDirectory(temp.GetString())) SetRegValue(L"INSTALLERDIRECTORY", temp); return PostQuitMessage(WM_QUIT); }
bool CKNSettings::setPass(string strPass) { bool bReturn = true; m_strPass = strPass; // If we're using the registry, write the passed string to the Pass subkey if(m_bUseRegistry) { // If the key is open, close it. if(m_hKey) CloseKey(); // Opening the key for writing, so we pass false for the ForRead value. if(OpenKey(false)) { bReturn = SetRegValue("Pass", strPass); CloseKey(); } } return bReturn; }
bool Vm1::cmd_mov_reg_reg(DWORD regs,DWORD regs2) { //printf("mov reg,reg"); //записываем одно значение в другое SetRegValue(regs,GetRegValue(regs2)); return true; }
bool Vm1::cmd_add_reg_reg(DWORD reg1,DWORD reg2) { //printf("add reg,reg"); //прибавляем один регистр к другому SetRegValue(reg1,GetRegValue(reg1)+GetRegValue(reg2)); return true; }
bool Registrar::RegisterEventHandler() { if (!CreateEventHandlerKey()) return false; return SetRegValue(HKEY_LOCAL_MACHINE, GetDM5RegistryKey(), _T(""), _VERPROGID_EventHandler); }
void CTxsrPag1::OnCheckOnlysys() { if( m_btnOnlySys.GetCheck()==1 ) { m_bCustomDesc = EDIBgbl::g_bCustomDesc=false; if ( EDIBgbl::g_bOnlyUserDesc ) { m_editUserDesc.EnableWindow(TRUE); } else { m_editUserDesc.EnableWindow(FALSE); } } else { if ( EDIBgbl::g_bOnlyUserDesc ) m_editUserDesc.EnableWindow(TRUE); else m_editUserDesc.EnableWindow(FALSE); } UpdateData(); SetRegValue(_T("Settings"),_T("OnlySysDesc"),EDIBgbl::g_bOnlySysDesc); }
void Flipper::WriteRegDefaults() { static const char regKey[] = "DefaultProps\\Flipper"; SetRegValueFloat(regKey,"StartAngle", m_d.m_StartAngle); SetRegValueFloat(regKey,"EndAngle", m_d.m_EndAngle); SetRegValueFloat(regKey,"BaseRadius", m_d.m_BaseRadius); SetRegValueFloat(regKey,"EndRadius", m_d.m_EndRadius); SetRegValueFloat(regKey,"MaxDifLength", m_d.m_FlipperRadiusMin); SetRegValueFloat(regKey,"ReturnStrength", m_d.m_return); SetRegValueFloat(regKey,"Length", m_d.m_FlipperRadiusMax); SetRegValueFloat(regKey,"Speed", m_d.m_mass); SetRegValueFloat(regKey,"Elasticity", m_d.m_elasticity); SetRegValueFloat(regKey,"ElasticityFalloff", m_d.m_elasticityFalloff); SetRegValueFloat(regKey,"Friction", m_d.m_friction); SetRegValueFloat(regKey,"RampUp", m_d.m_rampUp); SetRegValueBool(regKey,"TimerEnabled", m_d.m_tdr.m_fTimerEnabled); SetRegValueInt(regKey,"TimerInterval", m_d.m_tdr.m_TimerInterval); SetRegValueInt(regKey,"Color", m_d.m_color); SetRegValueInt(regKey,"RubberColor", m_d.m_rubbercolor); SetRegValue(regKey,"Surface", REG_SZ, &m_d.m_szSurface,strlen(m_d.m_szSurface)); SetRegValueFloat(regKey,"Strength", m_d.m_strength); SetRegValueFloat(regKey,"Height", m_d.m_height); SetRegValueInt(regKey,"RubberThickness", m_d.m_rubberthickness); SetRegValueInt(regKey,"RubberHeight", m_d.m_rubberheight); SetRegValueInt(regKey,"RubberWidth", m_d.m_rubberwidth); SetRegValueBool(regKey,"Visible", m_d.m_fVisible); SetRegValueBool(regKey,"Enabled", m_d.m_fEnabled); }
bool CtrlrConfig::SetIOSQES(uint8_t value) { LOG_NRM("Writing CC.IOSQES = 0x%02X; (2^%d) = %d", value, value, (1 << value)); return SetRegValue(value, 0x0f, CC_IOSQES, CC_SH_IOSQES); }
void CTxsrPag1::OnCheckCustomdesc() { if( m_checkCustomDesc.GetCheck()==1 ) { m_btnCustomDesc.EnableWindow(TRUE); m_editUserDesc.EnableWindow(FALSE); EDIBgbl::g_bOnlySysDesc=m_bOnlySys = false; m_btnOnlySys.SetCheck(0); EDIBgbl::g_bOnlyUserDesc=m_bOnlyUser=false; m_btnOnlyUser.SetCheck(0); m_btnOnlySys.EnableWindow(FALSE); m_btnOnlyUser.EnableWindow(FALSE); } else { m_btnCustomDesc.EnableWindow(FALSE); m_btnOnlySys.EnableWindow(TRUE); m_btnOnlyUser.EnableWindow(TRUE); if( EDIBgbl::g_bOnlyUserDesc ) m_editUserDesc.EnableWindow(TRUE); else m_editUserDesc.EnableWindow(FALSE); } UpdateData(); SetRegValue(_T("Settings"),_T("CustomDesc"),EDIBgbl::g_bCustomDesc); }
BOOL CPreStylePag::UpdateTableData(BOOL bSaveAndValidate) { //保存或返回当前表数据 double dheight; if(bSaveAndValidate == TRUE)//保存:将界面数据保存到内存变量 { if(UpdateData(TRUE) == FALSE) return FALSE; if(m_dHeight<3)//pfg20050330 { dheight=3;//pfg20050330 } else { dheight=m_dHeight;//pfg20050330 } SetRegValue(_T("Settings"), _T("标注尺寸-HEIGHT"), dheight);//PFG20050329 pCurTable->blBackward = m_blBackward ; pCurTable->blUp2Down = m_blUp2Down ; pCurTable->blVertical = m_blVertical ; pCurTable->dHeight = SetPrecision(m_dHeight, -2) ; pCurTable->dAngle = SetPrecision(m_dAngle, -2) ; pCurTable->dScaleFactor = SetPrecision(m_dScaleFactor, -2) ; m_dHeight = pCurTable->dHeight ; m_dAngle = pCurTable->dAngle ; m_dScaleFactor = pCurTable->dScaleFactor ; pCurTable->nBigFonts = m_nBigFonts ; pCurTable->nShxFonts = m_nShxFonts ; pCurTable->nStyle = m_nStyle ; //pCurTable->nTable 只读属性 ; pCurTable->nAlign = m_nAlign ; UpdateData(FALSE); return TRUE; } else // == FALSE,返回:将数据显示到界面上 { m_blBackward = pCurTable->blBackward ; m_blUp2Down = pCurTable->blUp2Down ; m_blVertical = pCurTable->blVertical ; m_dHeight = SetPrecision(pCurTable->dHeight, -2) ; m_dAngle = SetPrecision(pCurTable->dAngle, -2) ; m_dScaleFactor = SetPrecision(pCurTable->dScaleFactor, -2) ; pCurTable->dHeight = m_dHeight ; pCurTable->dAngle = m_dAngle ; pCurTable->dScaleFactor = m_dScaleFactor ; m_nBigFonts = pCurTable->nBigFonts ; m_nShxFonts = pCurTable->nShxFonts ; m_nStyle = pCurTable->nStyle ; m_nTable = pCurTable->nTable ; m_nAlign = pCurTable->nAlign ; return UpdateData(FALSE); } }
DWORD Utility::SetRegValue(HKEY hKeyHandle, LPCTSTR lpSubkey, LPCTSTR lpRegName, int &nRegvalue) { CString strRegValue; DWORD dwRet; strRegValue.Format(_T("%d"), nRegvalue); dwRet = SetRegValue(hKeyHandle, lpSubkey, lpRegName, strRegValue); return dwRet; }
bool Vm1::cmd_mov_reg_byte(DWORD reg1,DWORD addr) { //printf("mov reg,byte ptr [addr]"); DWORD real_addr=convert_addr(addr,true); BYTE real_src=*(byte*)real_addr; SetRegValue(reg1,real_src); return true; }
bool Vm1::cmd_mod_reg_imm(DWORD reg1,DWORD imm) { //printf("mod reg,reg"); //остаток от деления DWORD regs1=GetRegValue(reg1); regs1 = regs1 % imm; SetRegValue(reg1,regs1); return true; }
bool Vm1::cmd_shl_reg_reg(DWORD reg1,DWORD reg2) { //printf("shl reg,reg"); //побитовое смещение DWORD regs1=GetRegValue(reg1); DWORD regs2=reg2; regs1 = regs1 << regs2; SetRegValue(reg1,regs1); return true; }
void DispReel::WriteRegDefaults() { SetRegValue("DefaultProps\\EMReel", "Image", REG_SZ, &m_d.m_szImage, lstrlen(m_d.m_szImage)); SetRegValue("DefaultProps\\EMReel", "Sound", REG_SZ, &m_d.m_szSound, lstrlen(m_d.m_szSound)); SetRegValueBool("DefaultProps\\Decal", "UseImageGrid", m_d.m_fUseImageGrid); SetRegValueBool("DefaultProps\\Decal", "Visible", m_d.m_fVisible); SetRegValueInt("DefaultProps\\Decal", "ImagesPerRow", m_d.m_imagesPerGridRow); SetRegValueBool("DefaultProps\\Decal", "Transparent", m_d.m_fTransparent); SetRegValueInt("DefaultProps\\Decal", "ReelCount", m_d.m_reelcount); SetRegValueFloat("DefaultProps\\EMReel", "Width", m_d.m_width); SetRegValueFloat("DefaultProps\\EMReel", "Height", m_d.m_height); SetRegValueFloat("DefaultProps\\EMReel", "ReelSpacing", m_d.m_reelspacing); SetRegValueFloat("DefaultProps\\EMReel", "MotorSteps", m_d.m_motorsteps); SetRegValueInt("DefaultProps\\Decal", "DigitRange", m_d.m_digitrange); SetRegValueInt("DefaultProps\\Decal", "UpdateInterval", m_d.m_updateinterval); SetRegValue("DefaultProps\\EMReel", "BackColor", REG_DWORD, &m_d.m_backcolor, 4); SetRegValueBool("DefaultProps\\EMReel", "TimerEnabled", m_d.m_tdr.m_fTimerEnabled); SetRegValueInt("DefaultProps\\EMReel", "TimerInterval", m_d.m_tdr.m_TimerInterval); }
bool Vm1::cmd_mov_reg_ptr_reg(DWORD reg1,DWORD reg2) { //printf("mov reg,byte ptr [reg]"); DWORD real_addr=GetRegValue(reg2); if(!IsValid_VirtAddrAll(real_addr,4)) return false; real_addr=convert_addr(real_addr,true); byte real_src=*(byte*)real_addr; SetRegValue(reg1,real_src); return true; }
//нужна функция проверки адреса!! bool Vm1::cmd_mov_reg_mem(DWORD regs,DWORD addr) { //printf("mov reg,mem"); //записываем одно значение в другое if(!IsValid_VirtAddrAll(addr,4)) return false; DWORD real_addr=convert_addr(addr,true); DWORD real_src=*(DWORD*)real_addr; SetRegValue(regs,real_src); return true; }
void Flasher::WriteRegDefaults() { SetRegValueFloat("DefaultProps\\Flasher", "Height", m_d.m_height); SetRegValueFloat("DefaultProps\\Flasher", "RotX", m_d.m_rotX); SetRegValueFloat("DefaultProps\\Flasher", "RotY", m_d.m_rotY); SetRegValueFloat("DefaultProps\\Flasher", "RotZ", m_d.m_rotZ); SetRegValue("DefaultProps\\Flasher", "Color", REG_DWORD, &m_d.m_color, 4); SetRegValueBool("DefaultProps\\Flasher", "TimerEnabled", m_d.m_tdr.m_fTimerEnabled); SetRegValueInt("DefaultProps\\Flasher", "TimerInterval", m_d.m_tdr.m_TimerInterval); SetRegValue("DefaultProps\\Flasher", "ImageA", REG_SZ, &m_d.m_szImageA, lstrlen(m_d.m_szImageA)); SetRegValue("DefaultProps\\Flasher", "ImageB", REG_SZ, &m_d.m_szImageB, lstrlen(m_d.m_szImageB)); SetRegValueInt("DefaultProps\\Flasher", "Alpha", m_d.m_fAlpha); SetRegValueFloat("DefaultProps\\Flasher", "ModulateVsAdd", m_d.m_modulate_vs_add); SetRegValueBool("DefaultProps\\Flasher", "Visible", m_d.m_IsVisible); SetRegValueBool("DefaultProps\\Flasher", "DisplayTexture", m_d.m_fDisplayTexture); SetRegValueBool("DefaultProps\\Flasher", "AddBlend", m_d.m_fAddBlend); SetRegValueBool("DefaultProps\\Flasher", "DMD", m_d.m_IsDMD); SetRegValue("DefaultProps\\Flasher", "ImageMode", REG_DWORD, &m_d.m_imagealignment, 4); SetRegValue("DefaultProps\\Flasher", "Filter", REG_DWORD, &m_d.m_filter, 4); SetRegValueInt("DefaultProps\\Flasher", "FilterAmount", m_d.m_fFilterAmount); }
DLLEXPORT STDAPI DllRegisterServer(VOID) { if (!EnsureRegKey(g_lpRegKey)) return E_UNEXPECTED; WCHAR szPath[MAX_PATH]; GetModuleFileName(g_hInstance, szPath, MAX_PATH); if (!SetRegValue(g_lpRegKey, L"Description", L"SumatraPDF Browser Plugin") || !SetRegValue(g_lpRegKey, L"Path", szPath) || !SetRegValue(g_lpRegKey, L"Version", L"0") || !SetRegValue(g_lpRegKey, L"ProductName", L"SumatraPDF Browser Plugin")) { return E_UNEXPECTED; } ScopedMem<WCHAR> mimeType(str::Join(g_lpRegKey, L"\\MimeTypes\\application/pdf")); EnsureRegKey(mimeType); mimeType.Set(str::Join(g_lpRegKey, L"\\MimeTypes\\application/vnd.ms-xpsdocument")); EnsureRegKey(mimeType); mimeType.Set(str::Join(g_lpRegKey, L"\\MimeTypes\\application/oxps")); EnsureRegKey(mimeType); mimeType.Set(str::Join(g_lpRegKey, L"\\MimeTypes\\image/vnd.djvu")); EnsureRegKey(mimeType); mimeType.Set(str::Join(g_lpRegKey, L"\\MimeTypes\\image/x-djvu")); EnsureRegKey(mimeType); mimeType.Set(str::Join(g_lpRegKey, L"\\MimeTypes\\image/x.djvu")); EnsureRegKey(mimeType); // Work around Mozilla bug https://bugzilla.mozilla.org/show_bug.cgi?id=581848 which // makes Firefox up to version 3.6.* ignore all but the first plugin for a given MIME type // (per http://code.google.com/p/sumatrapdf/issues/detail?id=1254#c12 Foxit does the same) *(WCHAR *)path::GetBaseName(szPath) = '\0'; if (SHGetValue(HKEY_CURRENT_USER, L"Environment", L"MOZ_PLUGIN_PATH", NULL, NULL, NULL) == ERROR_FILE_NOT_FOUND) { WriteRegStr(HKEY_CURRENT_USER, L"Environment", L"MOZ_PLUGIN_PATH", szPath); SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)L"Environment", SMTO_ABORTIFHUNG, 5000, NULL); } return S_OK; }
bool CtrlrConfig::SetMPS() { switch (sysconf(_SC_PAGESIZE)) { case 4096: LOG_NRM("Writing CC.MPS for a 4096 byte page size"); return SetRegValue(0, 0x0f, CC_MPS, CC_SH_MPS); default: LOG_ERR("Kernel reporting unsupported page size: 0x%08lX", sysconf(_SC_PAGESIZE)); return false; } }
void Bumper::WriteRegDefaults() { SetRegValueFloat("DefaultProps\\Bumper", "Radius", m_d.m_radius); SetRegValueFloat("DefaultProps\\Bumper", "Force", m_d.m_force); SetRegValueFloat("DefaultProps\\Bumper", "HeightScale", m_d.m_heightScale); SetRegValueFloat("DefaultProps\\Bumper", "RingSpeed", m_d.m_ringSpeed); SetRegValueFloat("DefaultProps\\Bumper", "Orientation", m_d.m_orientation); SetRegValueFloat("DefaultProps\\Bumper", "Threshold", m_d.m_threshold); SetRegValueBool("DefaultProps\\Bumper", "TimerEnabled", m_d.m_tdr.m_fTimerEnabled); SetRegValueInt("DefaultProps\\Bumper", "TimerInterval", m_d.m_tdr.m_TimerInterval); SetRegValueInt("DefaultProps\\Bumper", "CapVisible", m_d.m_fCapVisible); SetRegValueInt("DefaultProps\\Bumper", "BaseVisible", m_d.m_fBaseVisible); SetRegValueInt("DefaultProps\\Bumper", "HasHitEvent", m_d.m_fHitEvent); SetRegValueInt("DefaultProps\\Bumper", "Collidable", m_d.m_fCollidable); SetRegValueInt("DefaultProps\\Bumper", "ReflectionEnabled", m_d.m_fReflectionEnabled); SetRegValue("DefaultProps\\Bumper", "Surface", REG_SZ, &m_d.m_szSurface, lstrlen(m_d.m_szSurface)); }
bool Vm1::cmd_pop(DWORD regs) { //printf("pop",regs); //получим данные из стека if(IsValid_VirtAddr(reg.esp-4,4,&mem.stack)) return false; DWORD real_addr=convert_addr(reg.esp,true); if(real_addr) { DWORD value=*(DWORD*)real_addr; SetRegValue(regs,value); reg.esp-=sizeof(DWORD); return true; } return false; }
/* static public */ HRESULT REGUTIL::RegisterCOMClass( REFCLSID rclsid, const char *szDesc, const char *szProgIDPrefix, int iVersion, const char *szClassProgID, const char *szThreadingModel, const char *szModule ) { HRESULT hr; char rcCLSID[MAX_LENGTH]; // CLSID\\szID. char rcProgID[MAX_LENGTH]; // szProgIDPrefix.szClassProgID char rcIndProgID[MAX_LENGTH]; // rcProgID.iVersion char rcInproc[MAX_LENGTH + 2]; // CLSID\\InprocServer32 // format the prog ID values. sprintf( rcIndProgID, "%s.%s", szProgIDPrefix, szClassProgID ) ; sprintf( rcProgID, "%s.%d", rcIndProgID, iVersion ); // do the initial portion. hr = REGUTIL::_RegisterClassBase( rclsid, szDesc, rcProgID, rcIndProgID, rcCLSID ); if ( SUCCEEDED( hr ) ) { // set the server path. SetKeyAndValue( rcCLSID, "InprocServer32", szModule ); // add the threading model information. sprintf( rcInproc, "%s\\%s", rcCLSID, "InprocServer32" ); SetRegValue( rcInproc, "ThreadingModel", szThreadingModel ); } return hr; } // REGUTIL::RegisterCOMClass
HRESULT __stdcall DllRegisterServer() { /*HKEY_CLASSES_ROOT |--CLSID |--{354CD5C5-839B-4A1E-8033-0EBC5246A4EF}--SimulationComObject |--InprocServer32 --C:\XXX\SSS\simulation3.dll |--ProgID --COM.Simulation.1 ... |--COM.Simulation |--CLSID--{354CD5C5-839B-4A1E-8033-0EBC5246A4EF} |--CurVer--COM.Simulation.1 */ //static const GUID ComponentCLSID = { 0x354cd5c5, 0x839b, 0x4a1e,{ 0x80, 0x33, 0xe, 0xbc, 0x52, 0x46, 0xa4, 0xef } }; wchar_t wszCLSID[] = _T("{354CD5C5-839B-4A1E-8033-0EBC5246A4EF}"); SetRegValue(HKEY_CLASSES_ROOT, _T("CLSID\\{354CD5C5-839B-4A1E-8033-0EBC5246A4EF}\\"), _T("SimulationComObject")); wchar_t wszModulePath[MAX_PATH] = { 0 }; HMODULE hModule; GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, (LPTSTR)DllRegisterServer, &hModule); if (NULL == hModule) { std::cout << "NULL == hModule"; return S_OK; } GetModuleFileName(hModule, wszModulePath, MAX_PATH); SetRegValue(HKEY_CLASSES_ROOT, _T("CLSID\\{354CD5C5-839B-4A1E-8033-0EBC5246A4EF}\\InprocServer32\\"), wszModulePath); SetRegValue(HKEY_CLASSES_ROOT, _T("CLSID\\{354CD5C5-839B-4A1E-8033-0EBC5246A4EF}\\ProgID\\"), _T("COM.Simulation.1")); SetRegValue(HKEY_CLASSES_ROOT, _T("COM.Simulation\\"), _T("")); SetRegValue(HKEY_CLASSES_ROOT, _T("COM.Simulation\\CLSID\\"), _T("{354CD5C5-839B-4A1E-8033-0EBC5246A4EF}")); SetRegValue(HKEY_CLASSES_ROOT, _T("COM.Simulation\\CurVer\\"), _T("COM.Simulation.1")); return S_OK; }
void CPreDrawPag::SaveIniValue() { UpdateData(); //这项功能被取消 //m_fontLjmx->UpdateData(); //m_fontDim->UpdateData(); //m_fontLoad->UpdateData(); modPHScal::gbTBhq=m_bTBhq ; modPHScal::gbNoWaiKuang=m_bNoWaiKuang; modPHScal::gbOrientationPicture=m_OrientationPicture;//pfg20050531 EDIBgbl::gbTbOS = m_bCheckOSFlag; modPHScal::gbDraw_BOM = m_bCheckDraw_BOM; modPHScal::gbNotPrompt_ACAD_SHIFT = m_bCheckNotPROMPT_ACAD_SHIFT; modPHScal::gbNotPrompt_Catlog_OVERWRITE = m_bCheckNotPROMPT_Catlog_Overwrite; modPHScal::giDrawSIZE_A3A4=this->GetCheckedRadioButton(IDC_DRAWSIZE_A3,IDC_DRAWSIZE_AUTO); if(modPHScal::giDrawSIZE_A3A4!=0) modPHScal::giDrawSIZE_A3A4-=IDC_DRAWSIZE_A3; modPHScal::gIsACAD=this->GetCheckedRadioButton(IDC_RCAD,IDC_RMICROSTATION); if(modPHScal::gIsACAD!=0) modPHScal::gIsACAD-=IDC_RCAD; long ix=this->GetCheckedRadioButton(IDC_PHSCOLOR0,IDC_PHSCOLOR2); if(ix!=0) ix-=IDC_PHSCOLOR0; switch(ix) { case 0: modPHScal::gsPhsColor="White"; break; case 1: modPHScal::gsPhsColor="Green"; break; case 2: modPHScal::gsPhsColor="Auto"; break; } modPHScal::giPhsOutINFOTableType=GetCheckedRadioButton(IDC_RADIO230,IDC_RADIO232); if(modPHScal::giPhsOutINFOTableType!=0)modPHScal::giPhsOutINFOTableType -= IDC_RADIO230; modPHScal::gbAnnotateCSPR = m_bCheckAnnotateCSPR; modPHScal::gbDrawOVERWRITE = m_bCheckDrawOverWrite; modPHScal::gbDrawNoPreMethod = m_bCheckDrawNoPre; modPHScal::gbAutoSaveDrawing = m_bCheckAutoSaveDrawing; modPHScal::glDrawNoStartNumber = _ttoi(m_sTextDrawNoStartNumber); modPHScal::glDWGPreMethod = this->GetCheckedRadioButton(IDC_DWGPRE0,IDC_DWGPRE1); if(modPHScal::glDWGPreMethod!=0) modPHScal::glDWGPreMethod -=IDC_DWGPRE0; modPHScal::gsDWGPre = Trim(m_stextDWGPRE); modPHScal::gbNoFenQu=m_bNoFenQu; EDIBgbl::strDwgVersion = m_strDwgVersion; //LFX 2005.4.1 加 保存图形版本号 EDIBgbl::MaxLGLong=m_MaxLGLong;//pfg20050922 modPHScal::gnSEQyOffset = _ttoi(m_sComboSEQyOffset); modPHScal::gfSeqTxtHeight = m_fSeqTxtHeight; modPHScal::gbDrawWeldSymbol = m_bDrawWeldSymbol; //lfx 2005.6.30 modPHScal::gbAutoWeldViewInsertPoint = m_bAutoWeldViewInsertPoint;//lfx 2005.6.30 modPHScal::gbDrawWeldViewDim = m_bDrawWeldViewDim;//lfx 2005.6.30 modPHScal::gbWeldAutoDirectAndPos = m_bWeldAutoDirectAndPos; //LFX 2005.7.05 // if( m_fCircleDiameter <= 10.0 ) modPHScal::gfSeqCircleDiameter = m_fCircleDiameter; // else // modPHScal::gfSeqCircleDiameter = m_fCircleDiameter = 6.0; if(EDIBAcad::g_bTagUsingCircle) { if(modPHScal::gnSEQyOffset<=modPHScal::gfSeqCircleDiameter) modPHScal::gnSEQyOffset=modPHScal::gfSeqCircleDiameter+2; else if(modPHScal::gnSEQyOffset>modPHScal::gfSeqCircleDiameter+6 ) modPHScal::gnSEQyOffset=modPHScal::gfSeqCircleDiameter+6; } else { if(modPHScal::gnSEQyOffset<6 ) modPHScal::gnSEQyOffset=6; else if(modPHScal::gnSEQyOffset>20 ) modPHScal::gnSEQyOffset=10; } EDIBAcad::g_fOvertopDim = m_fOvertopDim; EDIBAcad::g_fDistanceOffset = m_fDistanceOffset; EDIBAcad::g_fSetTKWidth = m_fSetTKWidth; EDIBAcad::g_fSetTableWidth = m_fSetTableWidth; m_sComboSEQyOffset.Format("%d",modPHScal::gnSEQyOffset); //LFX 2005.6.30 加 焊缝绘制选项 SetRegValue(_T("Settings"), _T("DrawWeldSymbol"), (m_bDrawWeldSymbol)); SetRegValue(_T("Settings"), _T("AutoWeldViewInsertPoint"), (m_bAutoWeldViewInsertPoint)); SetRegValue(_T("Settings"), _T("DrawWeldViewDim"), (m_bDrawWeldViewDim)); SetRegValue(_T("Settings"), _T("WELDAutoDirectAndPos"), (m_bWeldAutoDirectAndPos)); //END LFX 2005.6.30 加 焊缝绘制选项 SetRegValue(_T("Settings"), _T("SEQyOffset"), m_sComboSEQyOffset); SetRegValue(_T("Settings"), _T("TbOS"), (m_bCheckOSFlag)); SetRegValue(_T("Settings"), _T("NotPrompt_ACAD_SHIFT"), (m_bCheckNotPROMPT_ACAD_SHIFT)); SetRegValue(_T("Settings"), _T("IsACAD"), (m_IsACAD)); SetRegValue(_T("Settings"), _T("NotPrompt_Catlog_OVERWRITE"), (m_bCheckNotPROMPT_Catlog_Overwrite)); SetRegValue(_T("Settings"), _T("bNoFenQu"), (m_bNoFenQu)); SetRegValue(_T("Settings"), _T("bTBhq"), (m_bTBhq)); SetRegValue(_T("Settings"), _T("bNoWaiKuang"), (m_bNoWaiKuang)); SetRegValue(_T("Settings"), _T("DistanceOffset"), (m_fDistanceOffset)); SetRegValue(_T("Settings"), _T("OvertopDim"), (m_fOvertopDim)); SetRegValue(_T("Settings"), _T("SetTKWidth"), (m_fSetTKWidth)); SetRegValue(_T("Settings"), _T("SetTableWidth"), (m_fSetTableWidth)); //SetRegValue(_T("Settings"),_T("CADBigFontLjmx"),modPHScal::strBigFontLjmx); //SetRegValue(_T("Settings"),_T("CADBigFontDim"),modPHScal::strBigFontDim); //SetRegValue(_T("Settings"),_T("CADBigFontLoad"),modPHScal::strBigFontLoad); //SetRegValue(_T("Settings"),_T("CADFontWidthFactorDim"),modPHScal::fFWDim); //SetRegValue(_T("Settings"),_T("CADFontWidthFactorLjmx"),modPHScal::fFWLjmx); //SetRegValue(_T("Settings"),_T("CADFontWidthFactorLoad"),modPHScal::fFWLoad); //SetRegValue(_T("Settings"),_T("CADSHXFontLjmx"),modPHScal::strSHXFontLjmx); //SetRegValue(_T("Settings"),_T("CADSHXFontDim"),modPHScal::strSHXFontDim); //SetRegValue(_T("Settings"),_T("CADSHXFontLoad"),modPHScal::strSHXFontLoad); //SetRegValue(_T("Settings"),_T("CADAlignLjmx"),modPHScal::iAlignLjmx); //SetRegValue(_T("Settings"),_T("CADAlignLoad"),modPHScal::iAlignLoad); //SetRegValue(_T("Settings"),_T("CADAlignDim"),modPHScal::iAlignDim); EDIBAcad::g_bSumBomSprFactory = m_bSumBomSprFactory; EDIBAcad::g_bBomSprFactory = m_bBomSprFactory; EDIBAcad::g_bLocationDimension = m_bDimLocation; SetRegValue(_T("Settings"),_T("SumBomSprFactory"),m_bSumBomSprFactory); SetRegValue(_T("Settings"),_T("BomSprFactory"),m_bBomSprFactory); SetRegValue(_T("Settings"),_T("LocationDimension"),m_bDimLocation); EDIBAcad::g_bDrawSumWeight = m_bCheckDraw_SumWeight ; SetRegValue(_T("Settings"),_T("Draw_SumWeight"),m_bCheckDraw_SumWeight); SetRegValue(_T("Settings"),_T("OrientationPicture"),m_OrientationPicture);//pfg20050426 // EDIBAcad::g_bGroupWare = m_bCheckGroupWare ; EDIBAcad::g_bGroupWare = m_GroupWare ; EDIBAcad::g_strGroupWareName = m_strGroupWareName; SetRegValue(_T("Settings"),_T("GroupWare"),m_GroupWare); SetRegValue((_T("Settings")), _T("strGroupWareName"),m_strGroupWareName); EDIBAcad::g_bTagUsingCircle = m_bCheckTagUsingCircle ; SetRegValue(_T("Settings"),_T("TagUsingCircle"),m_bCheckTagUsingCircle); EDIBAcad::g_bCustomPicNo = m_bCheckCustomPicNo ; SetRegValue(_T("Settings"),_T("CustomPicNo"),m_bCheckCustomPicNo); EDIBAcad::g_bLJMX_BJBW = m_bCheckLJMX_BJBW ; SetRegValue(_T("Settings"),_T("LJMX_BJBW"),m_bCheckLJMX_BJBW); EDIBAcad::g_bBGForBJBW = m_bCheckBGForBJBW ; SetRegValue(_T("Settings"),_T("BGForBJBW"),m_bCheckBGForBJBW); EDIBAcad::g_bDWForBJBW = m_bCheckDWForBJBW ; SetRegValue(_T("Settings"),_T("DWForBJBW"),m_bCheckDWForBJBW); EDIBAcad::g_bDLOADBJBW = m_bCheckDLOADBJBW; SetRegValue(_T("Settings"),_T("DLOADBJBW"),m_bCheckDLOADBJBW); EDIBAcad::g_bDrawNameWithoutNo = m_bCheckDrawNameWithoutNo; SetRegValue(_T("Settings"),_T("DrawNameWithoutNo"),m_bCheckDrawNameWithoutNo); SetRegValue(_T("Settings"),_T("CircleDiameter"),m_fCircleDiameter); SetRegValue(_T("Settings"),_T("SeqTxtHeight"),m_fSeqTxtHeight); EDIBAcad::g_bNotDrawSingleWeight = m_bNotDrawWeight; SetRegValue(_T("Settings"),_T("NotDrawSingleWeight"),m_bNotDrawWeight); EDIBAcad::g_bInsertLength = m_bInsertLength; SetRegValue(_T("Settings"),_T("InsertLength"),m_bInsertLength); EDIBAcad::g_bPrintSA_Value = m_bPrintSA_Value; SetRegValue(_T("Settings"),_T("PrintSA_Value"),m_bPrintSA_Value); EDIBAcad::g_bInstallElevation = m_bInstallElevation; SetRegValue(_T("Settings"),_T("InstallElevation"),m_bInstallElevation); EDIBAcad::g_bColdHeatState = m_bColdHeatState; SetRegValue(_T("Settings"),_T("ColdHeatState"),m_bColdHeatState); EDIBAcad::g_bHzabs = m_bHzabs; SetRegValue(_T("Settings"),_T("HzAbs"),m_bHzabs); EDIBAcad::g_bDimNumber = m_bDimNumber; SetRegValue(_T("Settings"),_T("DimNumber"),m_bDimNumber); EDIBgbl::bSymbol = m_bSymbol; SetRegValue(_T("Settings"),_T("DiaSymbol"),m_bSymbol); }
bool CtrlrConfig::SetCSS(uint8_t value) { LOG_NRM("Writing CC.CSS = 0x%02X", value); return SetRegValue(value, 0x07, CC_CSS, CC_SH_CSS); }
void CFrmPreferences::OnOK() { // TODO: Add extra validation here bool FLAG = modPHScal::gbSPRBHLOADUNITBYNEWTON; //保存 m_wndCalPag.SaveIniValue(); m_wndDrawPag.SaveIniValue(); m_wndPointPag.SaveIniValue(); if(m_wndStylePag.GetActiveTimes() > 1) { m_wndStylePag.SaveIniValue(); } SetRegValue(_T("Settings"), _T("CSPRAutoLugDia"), modPHScal::gbCSPRAutoLugDia); SetRegValue(_T("Settings"), _T("AutoTZ"), modPHScal::AutoOrdinateDrawing); SetRegValue(_T("Settings"), _T("CalSAbyConservativenessMethod"), (modPHScal::gbCalSAbyConservativenessMethod)); SetRegValue(_T("Settings"), _T("CalSAbyPJG"), (modPHScal::gbCalSAbyPJG)); SetRegValue(_T("Settings"), _T("CalCSPRLugDiaByPjg"), (modPHScal::gbCalCSPRLugDiaByPjg)); SetRegValue(_T("Settings"), _T("CalPARTbyMaxLoad"), (modPHScal::gbCalPARTbyMaxLoad)); SetRegValue(_T("Settings"), _T("AddPartWeight2PMax"), (modPHScal::gbAddPartWeight2PMax)); SetRegValue(_T("Settings"), _T("AddPartWeight2CSPRPgz"), (modPHScal::gbAddPartWeight2CSPRPgz)); SetRegValue(_T("Settings"), _T("AddPartWeight2SPRPgz"), (modPHScal::gbAddPartWeight2SPRPgz));//2007.07.30 SetRegValue(_T("Settings"),_T("PAForceZero"),(modPHScal::gbPAForceZero));//2007.09.25 SetRegValue(_T("Settings"), _T("MaxPgzPaz"), (modPHScal::gbMaxPgzPaz));//2007.09.03 SetRegValue(_T("Settings"), _T("MinMaxDispByActualDisp"), (modPHScal::gbMinMaxDispByActualDisp)); SetRegValue(_T("Settings"), _T("PhsOutINFOTableType"), (modPHScal::giPhsOutINFOTableType)); SetRegValue(_T("Settings"), _T("DrawSIZE_A3A4"), (modPHScal::giDrawSIZE_A3A4)); SetRegValue(_T("Settings"), _T("IsACAD"), (modPHScal::gIsACAD)); SetRegValue(_T("Settings"), _T("SpringOrder"), (modPHScal::giSpringOrder)); SetRegValue(_T("Settings"), _T("strSpringOrder"), modPHScal::gstrSpringOrder); SetRegValue(_T("Settings"), _T("strSpringOrderSQL"), modPHScal::gstrSpringOrderSQL); SetRegValue(_T("Settings"), _T("PhsColor"), modPHScal::gsPhsColor); SetRegValue(_T("Settings"), _T("Draw_BOM"), (modPHScal::gbDraw_BOM)); SetRegValue(_T("Settings"), _T("AnnotateCSPR"), (modPHScal::gbAnnotateCSPR)); SetRegValue(_T("Settings"), _T("Draw_OVERWRITE"), (modPHScal::gbDrawOVERWRITE)); SetRegValue(_T("Settings"), _T("WorksWithBoltsNuts"), (modPHScal::gbWorksWithBoltsNuts)); SetRegValue(_T("Settings"), _T("WorksWithSABoltsNuts"), (modPHScal::gbWorksWithSABoltsNuts)); SetRegValue(_T("Settings"), _T("DW_delta"), (modPHScal::gnDW_delta)); SetRegValue(_T("Settings"), _T("ZDJH"), (EDIBgbl::glCurRecordNo)); SetRegValue(_T("Settings"), _T("DrawNoPreMethod"), (modPHScal::gbDrawNoPreMethod)); SetRegValue(_T("Settings"), _T("AutoSaveDrawing"), (modPHScal::gbAutoSaveDrawing)); SetRegValue(_T("Settings"), _T("DrawNoStartNumber"), (modPHScal::glDrawNoStartNumber)); SetRegValue(_T("Settings"), _T("DwgVersion"), (EDIBgbl::strDwgVersion)); SetRegValue(_T("Settings"), _T("MaxLGLong"), (EDIBgbl::MaxLGLong));//pfg20050922 SetRegValue(_T("Settings"), _T("DWGPreMethod"), (modPHScal::glDWGPreMethod)); SetRegValue(_T("Settings"), _T("DWGPre"), modPHScal::gsDWGPre); SetRegValue(_T("Settings"), _T("CSPRCanSpecialDesign"), (modPHScal::gbCSPRCanSpecialDesign)); SetRegValue(_T("Settings"), _T("LimitLugMinDia"), (modPHScal::gbLimitLugMinDia)); SetRegValue(_T("Settings"), _T("AutoAlignCSPRtoSA"), (modPHScal::gbAutoAlignCSPRtoSA)); SetRegValue(_T("Settings"), _T("SumAllVolume"), (modPHScal::gbSumAllVolume)); //////////////////////////// if(FLAG!=modPHScal::gbSPRBHLOADUNITBYNEWTON)//单位改变时要初始化 { //this->ShowWindow(SW_HIDE); //modPHScal::blnSelphsSPEC(true); _variant_t tmpvar; int inttbExist=0;//0表示第一次进入循环,1表示表存在,2表示表不存在 _RecordsetPtr rsX; rsX.CreateInstance(__uuidof(Recordset)); _ConnectionPtr db, db1; db.CreateInstance(__uuidof(Connection)); db1.CreateInstance(__uuidof(Connection)); long lngErrNum ; CString sTmp; CString strConnect; strConnect.Format(_T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Jet OLEDB:Database Password=%s"), basDirectory::DBShareDir + _T("zdjcrude.mdb"), ModEncrypt::gstrDBZdjCrudePassWord); db->Open((_bstr_t)strConnect, "", "", adModeUnknown); db1->Open((_bstr_t)("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+basDirectory::ProjectDBDir+_T("sort.mdb")), (_bstr_t)"", (_bstr_t)"",adModeUnknown); if(rsX->State == adStateOpen) rsX->Close(); rsX->Open((_bstr_t)_T("SELECT * FROM phsManuSPRING ORDER BY [Observation],[standard] ASC"), _variant_t((IDispatch*)EDIBgbl::dbSORT,true), adOpenDynamic, adLockOptimistic, adCmdText); modPHScal::gsPhsSPRINGSel.TrimLeft();modPHScal::gsPhsSPRINGSel.TrimRight(); if( rsX->adoEOF && rsX->BOF ) { lngErrNum = IDS_NotFoundThisStandardInSortMdb; sTmp.Format(GetResStr(lngErrNum),EDIBgbl::GetDBName(db1),_T("phsManuBoltsNuts"),modPHScal::gsPhsBoltsNutsSel); ShowMessage(sTmp); if(rsX->State == adStateOpen) rsX->Close(); if(db->State == adStateOpen) db->Close(); if(db1->State == adStateOpen) db1->Close(); CPropertySheet::EndDialog(IDOK); } if(modPHScal::gsPhsSPRINGSel != _T("") ){ // rsX->Filter=_variant_t(CString(_T("standard=\'") )+ gsPhsPASel + _T("\'")); //rsX.FindFirst //rsX->Find(_bstr_t(CString(_T("standard=\'"))+gsPhsSPRINGSel+_T("\'")),0,adSearchForward); HRESULT hr = S_OK; CString strFind; strFind = _T("standard=\'")+modPHScal::gsPhsSPRINGSel+_T("\'"); hr = rsX->Find((_bstr_t)strFind, 0, adSearchForward); if( !rsX->adoEOF) { rsX->MoveFirst(); inttbExist=2; } } else { rsX->MoveFirst(); inttbExist=2; } while((inttbExist!=1)&&(!rsX->adoEOF)) { rsX->get_Collect((_variant_t)_T("standard"),&tmpvar); if(tmpvar.vt==VT_NULL) modPHScal::gsPhsSPRINGSel=_T(""); else{ modPHScal::gsPhsSPRINGSel=vtos(tmpvar); modPHScal::gsPhsSPRINGSel.TrimLeft();modPHScal::gsPhsSPRINGSel.TrimRight(); } rsX->get_Collect((_variant_t)_T("Spring_property"),&tmpvar); if(tmpvar.vt==VT_NULL) modPHScal::tbnSPRINGproperty=_T(""); else{ modPHScal::tbnSPRINGproperty=vtos(tmpvar); modPHScal::tbnSPRINGproperty.TrimLeft();modPHScal::tbnSPRINGproperty.TrimRight(); } rsX->get_Collect((_variant_t)_T("Spring_propertyMaxDist"),&tmpvar); if(tmpvar.vt==VT_NULL) modPHScal::tbnDiscSPRINGpropertyMaxDist=_T(""); else{ modPHScal::tbnDiscSPRINGpropertyMaxDist=vtos(tmpvar); modPHScal::tbnDiscSPRINGpropertyMaxDist.TrimLeft();modPHScal::tbnDiscSPRINGpropertyMaxDist.TrimRight(); } rsX->get_Collect((_variant_t)_T("Spring_id"),&tmpvar); if(tmpvar.vt==VT_NULL) modPHScal::tbnSPRINGid=_T(""); else{ modPHScal::tbnSPRINGid=vtos(tmpvar); modPHScal::tbnSPRINGid.TrimLeft();modPHScal::tbnSPRINGid.TrimRight(); } rsX->get_Collect((_variant_t)_T("Spring_Crude"),&tmpvar); if(tmpvar.vt==VT_NULL) modPHScal::tbnSPRINGCrude=_T(""); else{ modPHScal::tbnSPRINGCrude=vtos(tmpvar); modPHScal::tbnSPRINGCrude.TrimLeft();modPHScal::tbnSPRINGCrude.TrimRight(); } rsX->get_Collect((_variant_t)_T("CrudeTurnbuckle"),&tmpvar); if(tmpvar.vt==VT_NULL) modPHScal::tbnSPRINGL5Crude=_T(""); else{ modPHScal::tbnSPRINGL5Crude=vtos(tmpvar); modPHScal::tbnSPRINGL5Crude.TrimLeft();modPHScal::tbnSPRINGL5Crude.TrimRight(); } //以下判断弹簧原始数据表在数据库中是否存在 rsX->get_Collect((_variant_t)_T("DiameterSerial"),&tmpvar); if(tmpvar.vt==VT_NULL) modPHScal::tbnSPRDiameterSerial=_T(""); else{ modPHScal::tbnSPRDiameterSerial=vtos(tmpvar); modPHScal::tbnSPRDiameterSerial.TrimLeft();modPHScal::tbnSPRDiameterSerial.TrimRight(); } if(!modPHScal::HStbExists(db,db1,modPHScal::tbnSPRDiameterSerial,_T("phsManuSPRING"),_T("DiameterSerial"),modPHScal::gsPhsSPRINGSel)) { if(inttbExist==0) //第一次移到第一条记录上 { rsX->MoveFirst(); inttbExist=2; } else //不是第一次,向后移一条记录 rsX->MoveNext(); continue; } if(!modPHScal::HStbExists(db,db1,modPHScal::tbnSPRINGCrude,_T("phsManuSPRING"),_T("Spring_Crude"),modPHScal::gsPhsSPRINGSel)) { if(inttbExist==0) //第一次移到第一条记录上 { rsX->MoveFirst(); inttbExist=2; } else //不是第一次,向后移一条记录 rsX->MoveNext(); continue; } if(!modPHScal::HStbExists(db,db1,modPHScal::tbnSPRINGL5Crude,_T("phsManuSPRING"),_T("CrudeTurnbuckle"),modPHScal::gsPhsSPRINGSel)) { if(inttbExist==0) //第一次移到第一条记录上 { rsX->MoveFirst(); inttbExist=2; } else //不是第一次,向后移一条记录 rsX->MoveNext(); continue; } if(!modPHScal::HStbExists(db,db1,modPHScal::tbnSPRINGid,_T("phsManuSPRING"),_T("Spring_id"),modPHScal::gsPhsSPRINGSel)) { if(inttbExist==0) //第一次移到第一条记录上 { rsX->MoveFirst(); inttbExist=2; } else //不是第一次,向后移一条记录 rsX->MoveNext(); continue; } if(!modPHScal::HStbExists(db,db1,modPHScal::tbnSPRINGproperty,_T("phsManuSPRING"),_T("Spring_property"),modPHScal::gsPhsSPRINGSel)) { if(inttbExist==0) //第一次移到第一条记录上 { rsX->MoveFirst(); inttbExist=2; } else //不是第一次,向后移一条记录 rsX->MoveNext(); continue; } if(!modPHScal::HStbExists(db,db1,modPHScal::tbnDiscSPRINGpropertyMaxDist,_T("phsManuSPRING"),_T("Spring_propertyMaxDist"),modPHScal::gsPhsSPRINGSel)) { if(inttbExist==0) //第一次移到第一条记录上 { rsX->MoveFirst(); inttbExist=2; } else //不是第一次,向后移一条记录 rsX->MoveNext(); continue; } inttbExist=1; } if(inttbExist!=1) { if(rsX->State == adStateOpen) rsX->Close(); if(db->State == adStateOpen) db->Close(); if(db1->State == adStateOpen) db1->Close(); CPropertySheet::EndDialog(IDOK); } inttbExist=0; rsX->get_Collect((_variant_t)_T("SerialNumPerSPR"),&tmpvar); if(tmpvar.vt==VT_NULL) modPHScal::giAllowedMaxSerialNumPerSPR=0; else{ modPHScal::giAllowedMaxSerialNumPerSPR=vtoi(tmpvar); // giAllowedMaxSerialNumPerSPR.TrimLeft();giAllowedMaxSerialNumPerSPR.TrimRight(); } rsX->get_Collect((_variant_t)_T("SerialNumSPRs"),&tmpvar); if(tmpvar.vt==VT_NULL) modPHScal::giAllowedMaxSerialNumSPRs=0; else{ modPHScal::giAllowedMaxSerialNumSPRs=vtoi(tmpvar); //giAllowedMaxSerialNumSPRs.TrimLeft();giAllowedMaxSerialNumSPRs.TrimRight(); } //当导入了规范或者启动过之后 bool bSPECchanged = true; if((bSPECchanged || modPHScal::gbStartedOnceAPHS) && !(modPHScal::gsPhsSPRINGSel == modPHScal::gsOldPhsSPRINGSel)) modPHScal::CreateTmpSPRPropertyTable(modPHScal::giAllowedMaxSerialNumSPRs); //获得弹簧或恒力弹簧编号规格的单位制 //以下判断恒力弹簧/碟簧规格编号力单位制描述字段值是否存在 rsX->get_Collect((_variant_t)_T("Unit_Force"),&tmpvar); if(tmpvar.vt==VT_NULL) { lngErrNum = IDS_NullXfieldInphsManuXOfsortMdb; sTmp.Format(GetResStr(lngErrNum),EDIBgbl::GetDBName(db1),_T("phsManuSPRING"),modPHScal::gsPhsSPRINGSel ,_T("Unit_Force")); ShowMessage(sTmp); if(rsX->State == adStateOpen) rsX->Close(); if(db->State == adStateOpen) db->Close(); if(db1->State == adStateOpen) db1->Close(); CPropertySheet::EndDialog(IDOK); } else{ sTmp=vtos(tmpvar); sTmp.TrimLeft();sTmp.TrimRight(); if(sTmp.Left(1)==_T("N")) { if(!modPHScal::gbSPRBHLOADUNITBYNEWTON) { modPHScal::gsSPRUnitOfLoad = _T("kgf"); rsX->put_Collect((_variant_t)_T("Unit_Force"),STR_VAR("kgf")); rsX->Update(); //如果没有导入,只修改模板库下的原始数据库; //修改方法: rsX->get_Collect((_variant_t)_T("Folder"), &tmpvar); if(tmpvar.vt==VT_NULL||vtos(tmpvar)=="") ; else { //如果有导入,还要修改导入路径下的原始数据库; } } else { modPHScal::gsSPRUnitOfLoad = _T("N"); } // gsSPRUnitOfLoad = _T("N"); } else if(sTmp.Left(3)==_T("daN")) modPHScal::gsSPRUnitOfLoad = _T("daN"); else if(sTmp.Left(3)==_T("kgf")) { if(modPHScal::gbSPRBHLOADUNITBYNEWTON) { modPHScal::gsSPRUnitOfLoad = _T("N"); rsX->put_Collect((_variant_t)_T("Unit_Force"),STR_VAR("N")); rsX->Update(); //如果没有导入,只修改模板库下的原始数据库; //修改方法: rsX->get_Collect((_variant_t)_T("Folder"),&tmpvar); if(tmpvar.vt==VT_NULL||vtos(tmpvar)=="") ; else { //如果有导入,还要修改导入路径下的原始数据库; } } else { modPHScal::gsSPRUnitOfLoad = _T("kgf"); } } else //没找任何荷载单位制识别字符 { sTmp.Format(GetResStr(IDS_NotFoundUnitStringInBHFormat),EDIBgbl::GetDBName(db1),_T("phsManuSPRING"),GetResStr(IDS_SPR),vtos(tmpvar)); ShowMessage(sTmp); modPHScal::gsSPRUnitOfLoad = _T("daN"); } } } CPropertySheet::EndDialog(IDOK); }
void CPreStylePag::SaveIniValue(void) { CString strStyle, strShx, strBig; CComboBox *lpStyle, *lpShx, *lpBig; int nShx, nBig, iGenFlag; BOOL blIsFailed; UpdateTableData(TRUE); lpStyle = (CComboBox *)GetDlgItem(IDC_COMBO_STYLE); lpShx = (CComboBox *)GetDlgItem(IDC_COMBO_SHXFONTS); lpBig = (CComboBox *)GetDlgItem(IDC_COMBO_BIGFONTS); nShx = lpShx->GetCount(); nBig = lpBig->GetCount(); //保存当前样式值 if(lpStyle->GetCount()>0)//pfg20050330 { lpStyle->GetLBText(m_nStyle, strStyle); } lpShx->GetLBText(m_nShxFonts, strShx); lpBig->GetLBText(m_nBigFonts, strBig); iGenFlag = 0; if(m_blBackward == TRUE) iGenFlag += 2; if(m_blUp2Down == TRUE) iGenFlag += 4; ModifyTextStyleProperty(strStyle, strShx, strBig, m_dHeight, m_dScaleFactor, m_dAngle, iGenFlag); //保存所有表格的当前设置 pCurTable = &dim_style; SaveTable2Registry(); pCurTable = &ljmx_style; SaveTable2Registry(); pCurTable = &load_style; SaveTable2Registry(); pCurTable = &Comments_style; SaveTable2Registry(); pCurTable = &BH_style; SaveTable2Registry(); pCurTable = &BG_style; SaveTable2Registry(); pCurTable = &other_style; SaveTable2Registry(); //将对话框中的控件变量值保存到modPHScal类成员变量中 blIsFailed = FALSE; if(nShx <= 0) blIsFailed = TRUE; if(nBig <= 0) blIsFailed = TRUE; if(dim_style.nShxFonts >= nShx) blIsFailed = TRUE; if(dim_style.nBigFonts >= nBig) blIsFailed = TRUE; if(dim_style.nShxFonts < 0) blIsFailed = TRUE; if(dim_style.nBigFonts < 0) blIsFailed = TRUE; if(blIsFailed) { strShx = _T("txt.shx"); strBig = _T("gbcbig.shx"); } else { lpShx->GetLBText(dim_style.nShxFonts, strShx); if(dim_style.nBigFonts == 0) { strBig = " "; } else { lpBig->GetLBText(dim_style.nBigFonts, strBig); } } modPHScal::strSHXFontDim = strShx; modPHScal::strBigFontDim = strBig; blIsFailed = FALSE; if(nShx <= 0) blIsFailed = TRUE; if(nBig <= 0) blIsFailed = TRUE; if(ljmx_style.nShxFonts >= nShx) blIsFailed = TRUE; if(ljmx_style.nBigFonts >= nBig) blIsFailed = TRUE; if(ljmx_style.nShxFonts < 0) blIsFailed = TRUE; if(ljmx_style.nBigFonts < 0) blIsFailed = TRUE; if(blIsFailed) { strShx = _T("txt.shx"); strBig = _T("gbcbig.shx"); } else { lpShx->GetLBText(ljmx_style.nShxFonts, strShx); if(ljmx_style.nBigFonts == 0) { strBig = " "; } else { lpBig->GetLBText(ljmx_style.nBigFonts, strBig); } } modPHScal::strSHXFontLjmx = strShx; modPHScal::strBigFontLjmx = strBig; blIsFailed = FALSE; if(nShx <= 0) blIsFailed = TRUE; if(nBig <= 0) blIsFailed = TRUE; if(load_style.nShxFonts >= nShx) blIsFailed = TRUE; if(load_style.nBigFonts >= nBig) blIsFailed = TRUE; if(load_style.nShxFonts < 0) blIsFailed = TRUE; if(load_style.nBigFonts < 0) blIsFailed = TRUE; if(blIsFailed) { strShx = _T("txt.shx"); strBig = _T("gbcbig.shx"); } else { lpShx->GetLBText(load_style.nShxFonts, strShx); if(load_style.nBigFonts == 0) { strBig = " "; } else { lpBig->GetLBText(load_style.nBigFonts, strBig); } } modPHScal::strSHXFontLoad = strShx; modPHScal::strBigFontLoad = strBig; modPHScal::fFWDim = dim_style.dScaleFactor; modPHScal::fFWLjmx = ljmx_style.dScaleFactor; modPHScal::fFWLoad = load_style.dScaleFactor; modPHScal::iAlignDim = dim_style.nAlign; modPHScal::iAlignLjmx = ljmx_style.nAlign; modPHScal::iAlignLoad = load_style.nAlign; //将对话框中的控件变量值保存到注册表相应字段中 SetRegValue(_T("Settings"), _T("CADBigFontDim"), modPHScal::strBigFontDim); SetRegValue(_T("Settings"), _T("CADBigFontLjmx"), modPHScal::strBigFontLjmx); SetRegValue(_T("Settings"), _T("CADBigFontLoad"), modPHScal::strBigFontLoad); SetRegValue(_T("Settings"), _T("CADFontWidthFactorDim"), modPHScal::fFWDim); SetRegValue(_T("Settings"), _T("CADFontWidthFactorLjmx"), modPHScal::fFWLjmx); SetRegValue(_T("Settings"), _T("CADFontWidthFactorLoad"), modPHScal::fFWLoad); SetRegValue(_T("Settings"), _T("CADSHXFontDim"), modPHScal::strSHXFontDim); SetRegValue(_T("Settings"), _T("CADSHXFontLjmx"), modPHScal::strSHXFontLjmx); SetRegValue(_T("Settings"), _T("CADSHXFontLoad"), modPHScal::strSHXFontLoad); SetRegValue(_T("Settings"), _T("CADAlignDim"), modPHScal::iAlignDim); SetRegValue(_T("Settings"), _T("CADAlignLjmx"), modPHScal::iAlignLjmx); SetRegValue(_T("Settings"), _T("CADAlignLoad"), modPHScal::iAlignLoad); }