コード例 #1
0
//------------------------------------------------------------------
// DATE         : [2006/02/17]
// Author       : ZSY 
// Parameter(s) : nID[in] 显示当前记录的序号
// Return       : 读取成功返回1,否则返回0
// Remark       : 读取埋地管道的保温数据到输入窗口中
//------------------------------------------------------------------
short CDlgParameterSubterranean::GetDataToSubterraneanControl(long nID)
{
	CString strSQL;
	int nSelect;
	try
	{
		if ( m_pRsSubterranean == NULL || ( m_pRsSubterranean->GetState() != adStateOpen ) )
		{
			return 1;
		}
		if ( !m_pRsSubterranean->adoEOF || !m_pRsSubterranean->BOF )
		{
			m_pRsSubterranean->MoveFirst();
			strSQL.Format("ID=%d", nID );
			m_pRsSubterranean->Find( _bstr_t( strSQL ), NULL, adSearchForward );
		}
		if ( m_pRsSubterranean->adoEOF || m_pRsSubterranean->BOF )// 没有找到当前工程指定序号的记录则新增一条
		{
			m_pRsSubterranean->AddNew();//
			m_pRsSubterranean->PutCollect( _variant_t("ID"), _variant_t(nID) );
			m_pRsSubterranean->PutCollect( _variant_t("EnginID"), _variant_t(m_strProjectID));
			m_pRsSubterranean->Update();

			m_ctlPipeCount.SetCurSel(0);
		}
		else
		{
			nSelect = vtoi( m_pRsSubterranean->GetCollect( _variant_t("c_Pipe_Count") ) );
			nSelect = (nSelect > 0) ? nSelect -1 : 0;
			m_ctlPipeCount.SetCurSel(nSelect);
		}
		m_nID = nID;	//保存当前记录的序号		
		m_nPipeLay		= vtoi( m_pRsSubterranean->GetCollect( _variant_t("c_lay_mark") ) );	// 管道敷设状态
		m_dPipeSubDepth	= vtof( m_pRsSubterranean->GetCollect( _variant_t("c_Pipe_Sub_Depth")));// 管道的埋设深度(地表面到管道中心的距离)
		m_dEdaphicTemp	= vtof( m_pRsSubterranean->GetCollect( _variant_t("c_Edaphic_Temp") ));	// 土壤的温度℃
		m_dPipeSpan		= vtof( m_pRsSubterranean->GetCollect( _variant_t("c_Pipe_Span") ) );	// 两根管道之间的当量间距
		m_dEdaphicLamda = vtof( m_pRsSubterranean->GetCollect( _variant_t("c_Edaphic_Lamda")));	// 土壤的导热系数
		m_dSupportK     = vtof( m_pRsSubterranean->GetCollect( _variant_t("c_Support_K") ) );	// 支吊架的热损失校正系数
		m_dPipeDag		= vtof( m_pRsSubterranean->GetCollect( _variant_t("c_Pipe_Dag") ) );	// 管沟当量直径
		m_dCanalDepth   = vtof( m_pRsSubterranean->GetCollect( _variant_t("c_Canal_Depth") ) ); // 管沟深度

	}
	catch (_com_error& e)
	{
		AfxMessageBox( e.Description() );
		return 0;
	}
	UpdateData( FALSE );
	// 更新控件的状态
	UpdateControlState();

	
	return 1;
}
コード例 #2
0
void CNetSettingPage_Setting_MMCView::OnDefault()
{
	// TODO: 여기에 명령 처리기 코드를 추가합니다.
	m_dwScan_BKScanPrd = DEFAULT_VALUE_BKSCANPERIOD;
	m_dwScan_NodeAge = DEFAULT_VALUE_NODEAGE;

	m_nRoam_ScanStart = DEFAULT_VALUE_ROAM_SCANSTART;
	m_nRoam_RoamStart = DEFAULT_VALUE_ROAM_ROAMSTART;
	m_nRoam_TargetRSSI = DEFAULT_VALUE_ROAM_TARGETRSSI;
	
	m_bRoamEnable = TRUE;
	m_bBKScanEnable = TRUE;


	UpdateControlState();
}
コード例 #3
0
void CNetSettingPage_Setting_MMCView::OnInitialUpdate()
{
	CFormView::OnInitialUpdate();

	// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.

	HKEY hKey = NULL;
	DWORD dwDisposition = 0;


	// 컨트롤 초기화
	// ScanStart (ScanThreshold), RoamStart (RoamThreshold), TargetRSSI (RoamFloorThre)
	for(int i=0; i<sizeof(RSSI_VALUE_TABLE) / sizeof(RSSI_VALUE_TABLE[0]); i++)
	{
		m_comboRoam_ScanStart.AddString(RSSI_VALUE_TABLE[i]);
		m_comboRoam_RoamStart.AddString(RSSI_VALUE_TABLE[i]);
		m_comboRoam_TargetRSSI.AddString(RSSI_VALUE_TABLE[i]);
	}

	
	m_comboScan_BKScanPrd.AddString(L"1");
	m_comboScan_BKScanPrd.AddString(L"2");
	m_comboScan_BKScanPrd.AddString(L"3");
	m_comboScan_BKScanPrd.AddString(L"4");
	m_comboScan_BKScanPrd.AddString(L"5");
	m_comboScan_BKScanPrd.AddString(L"6");
	m_comboScan_BKScanPrd.AddString(L"7");
	m_comboScan_BKScanPrd.AddString(L"8");
	m_comboScan_BKScanPrd.AddString(L"9");
	m_comboScan_BKScanPrd.AddString(L"10");
	m_comboScan_BKScanPrd.AddString(L"13");
	m_comboScan_BKScanPrd.AddString(L"15");
	m_comboScan_BKScanPrd.AddString(L"18");
	m_comboScan_BKScanPrd.AddString(L"20");
	m_comboScan_BKScanPrd.AddString(L"30");


	m_comboScan_NodeAge.AddString(L"1000");
	m_comboScan_NodeAge.AddString(L"2000");
	m_comboScan_NodeAge.AddString(L"3000");
	m_comboScan_NodeAge.AddString(L"4000");
	m_comboScan_NodeAge.AddString(L"5000");
	m_comboScan_NodeAge.AddString(L"6000");
	m_comboScan_NodeAge.AddString(L"7000");
	m_comboScan_NodeAge.AddString(L"8000");
	m_comboScan_NodeAge.AddString(L"9000");
	m_comboScan_NodeAge.AddString(L"10000");
	m_comboScan_NodeAge.AddString(L"15000");
	m_comboScan_NodeAge.AddString(L"20000");
	m_comboScan_NodeAge.AddString(L"25000");
	m_comboScan_NodeAge.AddString(L"30000");
	m_comboScan_NodeAge.AddString(L"40000");
	m_comboScan_NodeAge.AddString(L"50000");
	m_comboScan_NodeAge.AddString(L"60000");



	if( RegCreateKeyEx(HKEY_LOCAL_MACHINE, DEFAULT_MMC_PARAMS_REG_PATH, 0, NULL, REG_OPTION_NON_VOLATILE, 0, NULL, &hKey, &dwDisposition) == ERROR_SUCCESS )
	{

		DWORD dwType = 0;
		DWORD dwDataSize = 0;
		DWORD dwData = 0;
		TCHAR tszData[128] = {L'\0',};
		LONG lRet = 0;




		//
		// bkScanEnable
		// 
		dwType = REG_DWORD;
		dwDataSize = sizeof(DWORD);
		lRet = RegQueryValueEx(hKey, L"bkScanEnable", NULL, &dwType, (LPBYTE)&dwData, &dwDataSize);
		if( (lRet != ERROR_SUCCESS) || ( (dwData !=0) && (dwData !=1 ) )  )
		{
			dwData = 1; // roam Enable
			
			m_bBKScanEnable = TRUE;
			RegSetValueEx(hKey, L"bkScanEnable", 0, REG_DWORD, (LPBYTE)&dwData, sizeof(dwData) );
		}
		else
		{
			if(dwData == 0)
			{
				m_bBKScanEnable = FALSE;
			}
			else
			{
				m_bBKScanEnable = TRUE;
			}
		}


		//
		// bkScanPeriod
		//
		dwType = REG_DWORD;
		dwDataSize = sizeof(DWORD);
		lRet = RegQueryValueEx(hKey, L"bkScanPeriod", NULL, &dwType, (LPBYTE)&dwData, &dwDataSize);
		if( (lRet != ERROR_SUCCESS) || (dwData<0) )
		{
			dwData = m_dwScan_BKScanPrd;
			RegSetValueEx(hKey, L"bkScanPeriod", 0, REG_DWORD, (LPBYTE)&dwData, sizeof(dwData) );
		}
		else
		{
			m_dwScan_BKScanPrd = dwData;
		}

		//
		// nodeAge
		//
		dwType = REG_DWORD;
		dwDataSize = sizeof(DWORD);
		lRet = RegQueryValueEx(hKey, L"nodeAge", NULL, &dwType, (LPBYTE)&dwData, &dwDataSize);
		if( (lRet != ERROR_SUCCESS) || (dwData<0) )
		{
			dwData = m_dwScan_NodeAge;
			RegSetValueEx(hKey, L"nodeAge", 0, REG_DWORD, (LPBYTE)&dwData, sizeof(dwData) );
		}
		else
		{
			m_dwScan_NodeAge = dwData;
		}








		



		//
		// Roam Enable
		//
		dwType = REG_DWORD;
		dwDataSize = sizeof(DWORD);
		lRet = RegQueryValueEx(hKey, L"hostAssistedRoaming", NULL, &dwType, (LPBYTE)&dwData, &dwDataSize);
		if( (lRet != ERROR_SUCCESS) || ( (dwData !=0) && (dwData !=1 ) )  )
		{
			dwData = 1; // roam Enable
			
			m_bRoamEnable = TRUE;
			RegSetValueEx(hKey, L"hostAssistedRoaming", 0, REG_DWORD, (LPBYTE)&dwData, sizeof(dwData) );
		}
		else
		{
			// 0인경우에만 Disable, 그외 Enable로 설정함
			if(dwData == 0)
			{
				m_bRoamEnable = FALSE;
			}
			else
			{
				m_bRoamEnable = TRUE;
			}

		}


		//
		// ScanStart (ScanThreshold)
		//
		dwType = REG_DWORD;
		dwDataSize = sizeof(DWORD);
		lRet = RegQueryValueEx(hKey, L"ScanThreshold", NULL, &dwType, (LPBYTE)&dwData, &dwDataSize);
		if( (lRet != ERROR_SUCCESS) || (dwData<0) )
		{
			dwData = m_nRoam_ScanStart;
			RegSetValueEx(hKey, L"ScanThreshold", 0, REG_DWORD, (LPBYTE)&dwData, sizeof(dwData) );
		}
		else
		{
			m_nRoam_ScanStart = dwData;
		}

		
		//
		// RoamStart (RoamThreshold)
		//
		dwType = REG_DWORD;
		dwDataSize = sizeof(DWORD);
		lRet = RegQueryValueEx(hKey, L"RoamThreshold", NULL, &dwType, (LPBYTE)&dwData, &dwDataSize);
		if( (lRet != ERROR_SUCCESS) || (dwData<0) )
		{
			dwData = m_nRoam_RoamStart;
			RegSetValueEx(hKey, L"RoamThreshold", 0, REG_DWORD, (LPBYTE)&dwData, sizeof(dwData) );
		}
		else
		{
			m_nRoam_RoamStart = dwData;
		}




		//
		// TargetRSSI (RoamFloorThre)
		//
		dwType = REG_DWORD;
		dwDataSize = sizeof(DWORD);
		lRet = RegQueryValueEx(hKey, L"RoamFloorThre", NULL, &dwType, (LPBYTE)&dwData, &dwDataSize);
		if( (lRet != ERROR_SUCCESS) || (dwData<0) )
		{
			dwData = m_nRoam_TargetRSSI;
			RegSetValueEx(hKey, L"RoamFloorThre", 0, REG_DWORD, (LPBYTE)&dwData, sizeof(dwData) );
		}
		else
		{
			m_nRoam_TargetRSSI = dwData;
		}





		UpdateControlState();

		RegCloseKey(hKey);
	}

}
コード例 #4
0
void CDlgParameterSubterranean::OnSelchangeComboPipeCount() 
{
	UpdateControlState();
}