//取得所有的文件版本信息,各信息间以\n分隔 CString HFileVersion::GetFullVersion() { CString strRet; /* szRet = "文件版本: " + GetFileVersion() + "\n"; szRet += "说明: " + GetFileDescription() +"\n"; szRet += "版权: " + GetLegalCopyright() +"\n"; szRet += "备注: " + GetComments() + "\n"; szRet += "产品版本: " + GetProductVersion() +"\n"; szRet += "产品名称: " + GetProductName() +"\n"; szRet += "个人用内部版本说明: " + GetPrivateBuild() +"\n"; szRet += "公司名称: " + GetCompanyName() +"\n"; szRet += "合法商标: " + GetLegalTrademarks() +"\n"; szRet += "内部名称: " + GetInternalName() +"\n"; szRet += "特殊内部版本说明: " + GetSpecialBuild() +"\n"; szRet += "源文件名: " + GetOriginalFilename() +"\n"; */ strRet = "FileVersion: " + GetFileVersion() + "\n"; strRet += "FileDescription: " + GetFileDescription() +"\n"; strRet += "CopyRight: " + GetLegalCopyright() +"\n"; strRet += "Comments: " + GetComments() + "\n"; strRet += "ProductVersion: " + GetProductVersion() +"\n"; strRet += "ProductName: " + GetProductName() +"\n"; strRet += "PrivateBuild: " + GetPrivateBuild() +"\n"; strRet += "CompanyName: " + GetCompanyName() +"\n"; strRet += "TradeMarks: " + GetLegalTrademarks() +"\n"; strRet += "InternalName: " + GetInternalName() +"\n"; strRet += "SpecialBuild: " + GetSpecialBuild() +"\n"; strRet += "OriginalFileName: " + GetOriginalFilename() +"\n"; return strRet; }
BOOL CTroubleShootDlg::OnInitDialog() { CDialogEx::OnInitDialog(); CString StrTemp; StrTemp.Format(_T("Change %s's IP Address"),GetProductName(m_net_product_node.product_class_id)); StrTemp.Format(_T("%s"),m_net_product_node.BuildingInfo.strIp); GetNewIP(StrTemp,m_net_product_node.NetworkCard_Address); // m_edit_newip.SetWindowTextW(StrTemp); m_edit_newip.textColor(RGB(255,0,0)); m_edit_newip.bkColor(RGB(255,255,255)); m_edit_newip.setFont(25,10,NULL,_T("Arial")); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
BOOL Dowmloadfile::OnInitDialog() { CDialogEx::OnInitDialog(); // TODO: Add extra initialization here ((CComboBox *)GetDlgItem(IDC_COMBO_UPDATE_TYPE))->AddString(_T("Bootloader")); ((CComboBox *)GetDlgItem(IDC_COMBO_UPDATE_TYPE))->AddString(_T("Main Firmware")); ((CComboBox *)GetDlgItem(IDC_COMBO_UPDATE_TYPE))->SetCurSel(1); ((CEdit *)GetDlgItem(IDC_EDIT_SERVER_DOMAIN))->SetWindowText(_T("www.temcocontrols.poweredbyclear.com")); wait_download_and_isp_finished = false; CString temp_id;CString temp_name; temp_id.Format(_T("%d"),m_product_isp_auto_flash.product_class_id); temp_name = GetProductName(m_product_isp_auto_flash.product_class_id); ((CEdit *)GetDlgItem(IDC_EDIT_PRODUCT_ID))->SetWindowTextW(temp_id); ((CEdit *)GetDlgItem(IDC_EDIT_PRODUCT_ID))->EnableWindow(false); //((CIPAddressCtrl *)GetDlgItem(IDC_IPADDRESS_TEMCO_IP))->SetAddress(114,93,27,13); ((CEdit *)GetDlgItem(IDC_EDIT_PRODUCT_NAME))->SetWindowTextW(temp_name); ((CEdit *)GetDlgItem(IDC_EDIT_PRODUCT_NAME))->EnableWindow(false); //int resualt=TCP_File_Socket.Create(0,SOCK_STREAM);//SOCK_STREAM downloadfile_hwnd = this->m_hWnd; //TCP_File_Socket.SetParentWindow(downloadfile_hwnd); Downloadfile_Thread = NULL; CString ApplicationFolder; download_thread_flag = true; GetModuleFileName(NULL, ApplicationFolder.GetBuffer(MAX_PATH), MAX_PATH); PathRemoveFileSpec(ApplicationFolder.GetBuffer(MAX_PATH)); ApplicationFolder.ReleaseBuffer(); Folder_Path = ApplicationFolder + _T("\\Database\\Firmware"); if(!DirectoryExist(Folder_Path)) { CreateDirectory(Folder_Path); } hostent* host = gethostbyname("www.temcocontrols.poweredbyclear.com"); if(host == NULL) { MessageBox(_T("Can't access Temco server.\r\n www.temcocontrols.poweredbyclear.com \r\nPlease check your internet connection!"),_T("Warning"),MB_OK | MB_ICONINFORMATION); PostMessage(WM_CLOSE,NULL,NULL); return TRUE; } char* pszIP = (char *)inet_ntoa(*(struct in_addr *)(host->h_addr)); // IP_ADDRESS[0] = pszIP[0]; memcpy_s((char *)IP_ADDRESS_SERVER,20,pszIP,20); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
CString CRegisterViewerDlg::Get_ProductModel(){ CString ModelName=_T(""); if (!is_connect()) { AfxMessageBox(_T("Please Connect to your device,firstly!")); } else { m_modelno=read_one(g_tstat_id,7,20); if (m_modelno>0) { ModelName=GetProductName(m_modelno); } else { AfxMessageBox(_T("Can't read your device")); } } return ModelName; }
VFolder *VProcess::RetainProductSystemFolder( ESystemFolderKind inSelector, bool inCreateFolderIfNotFound) const { VFolder *folder = NULL; bool allUsers; bool useProductSubFolder; ESystemFolderKind currentUserFolder; switch( inSelector) { case eFK_UserDocuments: case eFK_Temporary: allUsers = true; useProductSubFolder = true; break; case eFK_CommonPreferences: currentUserFolder = eFK_UserPreferences; allUsers = true; useProductSubFolder = true; break; case eFK_CommonApplicationData: currentUserFolder = eFK_UserApplicationData; allUsers = true; useProductSubFolder = true; break; case eFK_CommonCache: currentUserFolder = eFK_UserCache; allUsers = true; useProductSubFolder = true; break; case eFK_UserPreferences: case eFK_UserApplicationData: case eFK_UserCache: allUsers = false; useProductSubFolder = true; break; default: allUsers = false; useProductSubFolder = false; break; } if (useProductSubFolder) { VFolder *parent = VFolder::RetainSystemFolder( inSelector, inCreateFolderIfNotFound); if (parent != NULL) { VError err; VString folderName; GetProductName( folderName); // accepte un alias VString aliasName( folderName); #if VERSIONWIN aliasName += ".lnk"; #endif VFile aliasFile( *parent, aliasName); if (aliasFile.Exists() && aliasFile.IsAliasFile()) { VFilePath target; err = aliasFile.ResolveAlias( target); if ( (err == VE_OK) && target.IsFolder() ) { folder = new VFolder( target); } } if (folder == NULL) { folder = new VFolder( *parent, folderName); } if (!folder->Exists()) { if (inCreateFolderIfNotFound) { if (allUsers) { // drop errors if we can retry in current user home directory StErrorContextInstaller context( false); err = folder->CreateRecursive( allUsers); } else { err = folder->CreateRecursive( allUsers); } if (err != VE_OK) { ReleaseRefCountable( &folder); // si on nous a demande de creer dans "all users", on ressaie dans le dossier de l'utilisateur courant if (allUsers) { folder = RetainProductSystemFolder( currentUserFolder, inCreateFolderIfNotFound); } } } else { ReleaseRefCountable( &folder); } } } ReleaseRefCountable( &parent); } else { folder = VFolder::RetainSystemFolder( inSelector, inCreateFolderIfNotFound); } return folder; }
void CARDDlg::OnBnClickedOk() { CString ip; CString strport; m_ipaddress.GetWindowText(ip); m_porteditor.GetWindowText(strport); if (ip.IsEmpty()||strport.IsEmpty()) { AfxMessageBox(_T("ip or port can not be empty!")); return; } short port=_wtoi(strport); SetCommunicationType(1); BOOL is_open=Open_Socket2(ip,port); if (is_open) { //unsigned short data[2]; //int ModelID=Read_Multi(209,data,6,2);// (255,6,20); //CString show; //show.Format(_T("Add=%d,Model=%d"),data[0],data[1]); //ModelID=read_one(data[0],7); //AfxMessageBox(show); //show.Format(_T("Model=%d"),ModelID); //AfxMessageBox(show); unsigned short Data[10]; int ret=Read_Multi(255,Data,0,10); if (ret<0) { AfxMessageBox(_T("Can't get the information of your device!\n Please try again.")); ret; } CString strSql; CString strMainBuildName,strSubBuildingName,strSID,strFloorName,strRoomName,strProID; CString strProName,strProType,strScreenID,strBaudrate,strGraphicID,strHdVersion,strStVersion,strCom,strEPSize; /* CString temp_str=_T("select * from Building where Default_SubBuilding=-1"); m_pRs->Open(_variant_t(temp_str),_variant_t((IDispatch *)m_pCon,true),adOpenStatic,adLockOptimistic,adCmdText); int recordcount=m_pRs->GetRecordCount(); if(m_pRs->GetRecordCount()<=0) { AfxMessageBox(_T("There is no default building,please select a building First.")); return; } if(m_pRs->State) m_pRs->Close(); if(m_pCon->State) m_pCon->Close();*/ CMainFrame* pFrame=(CMainFrame*)(AfxGetApp()->m_pMainWnd); strMainBuildName= pFrame->m_strCurMainBuildingName; strSubBuildingName= pFrame->m_strCurSubBuldingName; int SN=Data[3]*256*256*256+Data[2]*256*256+Data[1]*256+Data[0]; strSID.Format(_T("%d"),SN); strFloorName=_T("floor1"); strRoomName=_T("room1"); strProName.Format(_T("%s:%d--%d"),GetProductName(Data[7]).GetBuffer(),SN,Data[6]); strProType.Format(_T("%d"),Data[7]); strProID.Format(_T("%d"),Data[6]); strScreenID.Format(_T("Screen(S:%d--%d)"),SN,Data[6]); m_ipaddress.GetWindowText(strBaudrate); strGraphicID=_T("Clicking here to add a image..."); strHdVersion=_T("0.0"); strStVersion=_T("0.0"); m_porteditor.GetWindowText(strCom); strEPSize=_T("0.0"); try { CADO ado; ado.OnInitADOConn(); strSql.Format(_T("Select * from ALL_NODE where Product_name='%s'"),strProName.GetBuffer()); ado.m_pRecordset=ado.OpenRecordset(strSql); if (!ado.m_pRecordset->EndOfFile)//有表但是没有对应序列号的值 { AfxMessageBox(_T("Already Exists!")); return; //ado.m_pRecordset->Close(); } strSql.Format(_T("insert into ALL_NODE (MainBuilding_Name,Building_Name,Serial_ID,Floor_name,Room_name,Product_name,Product_class_ID,Product_ID,Screen_Name,Bautrate,Background_imgID,Hardware_Ver,Software_Ver,Com_Port,EPsize) values('" +strMainBuildName+"','" +strSubBuildingName +"','" +strSID+"','" +strFloorName+"','" +strRoomName+"','" +strProName+"','" +strProType+"','" +strProID+"','" +strScreenID+"','" +strBaudrate+"','" +strGraphicID+"','" +strHdVersion+"','" +strStVersion+"','" +strCom+"','" +strEPSize+"')")); ado.m_pRecordset=ado.OpenRecordset(strSql); ado.CloseConn(); AfxMessageBox(_T("Add OK!")); CDialogEx::OnOK(); } catch (CException* e) { AfxMessageBox(_T("Add Fail!")); } } else { AfxMessageBox(_T("Can not Connect")); } }
void CRegisterViewerDlg::LoadDataFromDB() { CString ProductModelName =Get_ProductModel(); _variant_t temp_var; if (ProductModelName.Find(_T("TStat"))!=-1)//Tstat serial { CADO ado; ado.OnInitADOConn(); if (ado.IsHaveTable(ado,_T("T3000_Register_Address_By_ID"))) { CString sql,temp; DBRegister tempstruct; sql.Format(_T("Select * from T3000_Register_Address_By_ID order by Register_Address")); ado.m_pRecordset=ado.OpenRecordset(sql); while (!ado.m_pRecordset->EndOfFile)//有表但是没有对应序列号的值 { if (product_type==T3000_5ABCDFG_LED_ADDRESS) { tempstruct.Register_Address=ado.m_pRecordset->GetCollect(_T("Register_Address")); tempstruct.AddressName=ado.m_pRecordset->GetCollect(_T("TSTAT5_LED_AddressName")); tempstruct.DataType=ado.m_pRecordset->GetCollect(_T("TSTAT5_LED_DATATYPE")); tempstruct.length=ado.m_pRecordset->GetCollect(_T("TSTAT5_LED_LEN")); temp_var=ado.m_pRecordset->GetCollect(_T("TSTAT5_LED_DESCRIPTION")); if (temp_var.vt==VT_NULL) { tempstruct.Description=_T(""); } else { tempstruct.Description=temp_var; } temp_var=ado.m_pRecordset->GetCollect(_T("TSTAT5_LED_Operation")); if (temp_var.vt==VT_NULL) { tempstruct.Description=_T(""); } else { tempstruct.Operation=temp_var; } /* tempstruct.Description=(CString)ado.m_pRecordset->GetCollect(_T("TSTAT5_LED_DESCRIPTION"));*/ } else if (product_type==T3000_5EH_LCD_ADDRESS) { _variant_t vartemp; tempstruct.Register_Address=ado.m_pRecordset->GetCollect(_T("Register_Address")); tempstruct.AddressName=ado.m_pRecordset->GetCollect(_T("TSTAT5_LCD_AddressName")); tempstruct.DataType=ado.m_pRecordset->GetCollect(_T("TSTAT5_LCD_DATATYPE")); tempstruct.length=ado.m_pRecordset->GetCollect(_T("TSTAT5_LCD_LEN")); //tempstruct.Description=(CString)ado.m_pRecordset->GetCollect(_T("TSTAT5_LCD_DESCRIPTION")); vartemp=ado.m_pRecordset->GetCollect(_T("TSTAT5_LCD_DESCRIPTION")); if (vartemp.vt==VT_NULL) { tempstruct.Description=_T(""); } else { tempstruct.Description=vartemp; } temp_var=ado.m_pRecordset->GetCollect(_T("TSTAT5_LCD_Operation")); if (temp_var.vt==VT_NULL) { tempstruct.Description=_T(""); } else { tempstruct.Operation=temp_var; } } else if (product_type==T3000_6_ADDRESS) { tempstruct.Register_Address=ado.m_pRecordset->GetCollect(_T("Register_Address")); tempstruct.AddressName=ado.m_pRecordset->GetCollect(_T("TSTAT6_AddressName")); tempstruct.DataType=ado.m_pRecordset->GetCollect(_T("TSTAT6_DATATYPE")); tempstruct.length=ado.m_pRecordset->GetCollect(_T("TSTAT6_LEN")); temp_var=ado.m_pRecordset->GetCollect(_T("TSTAT6_DESCRIPTION")); if (temp_var.vt==VT_NULL) { tempstruct.Description=_T(""); } else { tempstruct.Description=temp_var; } temp_var=ado.m_pRecordset->GetCollect(_T("TSTAT6_Operation")); if (temp_var.vt==VT_NULL) { tempstruct.Description=_T(""); } else { tempstruct.Operation=temp_var; } } if (tempstruct.AddressName.CompareNoCase(_T("RESERVED"))==0) { ado.m_pRecordset->MoveNext(); continue; } m_VecregisterData.push_back(tempstruct); m_recordcount++; ado.m_pRecordset->MoveNext(); } } ado.CloseRecordset(); ado.CloseConn(); } else if (ProductModelName.Find(_T("T3"))!=-1)//T3 Serial { CADO ado; ado.OnInitADOConn(); if (ado.IsHaveTable(ado,_T("T3_RegisterList"))) { CString sql,temp; DBRegister tempstruct; sql.Format(_T("Select * from T3_RegisterList order by RegID")); ado.m_pRecordset=ado.OpenRecordset(sql); if (m_modelno==PM_T3PT10) { while(!ado.m_pRecordset->EndOfFile){ tempstruct.Register_Address=ado.m_pRecordset->GetCollect(_T("RegID")); temp_var=ado.m_pRecordset->GetCollect(_T("T3-RTD")); if (temp_var.vt==VT_NULL) { tempstruct.AddressName=_T(""); } else { tempstruct.AddressName=temp_var; } if ((tempstruct.AddressName.CompareNoCase(_T("RESERVED"))==0)||tempstruct.AddressName.IsEmpty()) { ado.m_pRecordset->MoveNext(); continue; } tempstruct.DataType=ado.m_pRecordset->GetCollect(_T("T3-8AI8AO_DATATYPE")); tempstruct.length=ado.m_pRecordset->GetCollect(_T("T3-8AI8AO_LEN")); temp_var=ado.m_pRecordset->GetCollect(_T("T3-8AI8AO_DESCRIPTION")); if (temp_var.vt==VT_NULL) { tempstruct.Description=_T(""); } else { tempstruct.Description=temp_var; } temp_var=ado.m_pRecordset->GetCollect(_T("T3-8AI8AO_OPERATION")); if (temp_var.vt==VT_NULL) { tempstruct.Description=_T(""); } else { tempstruct.Operation=temp_var; } m_VecregisterData.push_back(tempstruct); m_recordcount++; ado.m_pRecordset->MoveNext(); } } else if (m_modelno==PM_T3PT10) { while(!ado.m_pRecordset->EndOfFile){ tempstruct.Register_Address=ado.m_pRecordset->GetCollect(_T("RegID")); temp_var=ado.m_pRecordset->GetCollect(_T("T3-RTD")); if (temp_var.vt==VT_NULL) { tempstruct.AddressName=_T(""); } else { tempstruct.AddressName=temp_var; } if ((tempstruct.AddressName.CompareNoCase(_T("RESERVED"))==0)||tempstruct.AddressName.IsEmpty()) { ado.m_pRecordset->MoveNext(); continue; } tempstruct.DataType=ado.m_pRecordset->GetCollect(_T("T3-8AI16O_DATATYPE")); tempstruct.length=ado.m_pRecordset->GetCollect(_T("T3-8AI16O_LEN")); temp_var=ado.m_pRecordset->GetCollect(_T("T3-8AI16O_DESCRIPTION")); if (temp_var.vt==VT_NULL) { tempstruct.Description=_T(""); } else { tempstruct.Description=temp_var; } temp_var=ado.m_pRecordset->GetCollect(_T("T3-8AI16O_OPERATION")); if (temp_var.vt==VT_NULL) { tempstruct.Description=_T(""); } else { tempstruct.Operation=temp_var; } m_VecregisterData.push_back(tempstruct); m_recordcount++; ado.m_pRecordset->MoveNext(); } } else if (m_modelno==PM_T3IOA) { } else if (m_modelno==PM_T332AI) { } else if (m_modelno==PM_T3AI16O) { } else if (m_modelno==PM_T3PERFORMANCE) { } else if (m_modelno==PM_T34AO) { while(!ado.m_pRecordset->EndOfFile){ tempstruct.Register_Address=ado.m_pRecordset->GetCollect(_T("RegID")); temp_var=ado.m_pRecordset->GetCollect(_T("T3-4AO")); if (temp_var.vt==VT_NULL) { tempstruct.AddressName=_T(""); } else { tempstruct.AddressName=temp_var; } if ((tempstruct.AddressName.CompareNoCase(_T("RESERVED"))==0)||tempstruct.AddressName.IsEmpty()) { ado.m_pRecordset->MoveNext(); continue; } tempstruct.DataType=ado.m_pRecordset->GetCollect(_T("T3-4AO_DATATYPE")); tempstruct.length=ado.m_pRecordset->GetCollect(_T("T3-4AO_LEN")); temp_var=ado.m_pRecordset->GetCollect(_T("T3-4AO_DESCRIPTION")); if (temp_var.vt==VT_NULL) { tempstruct.Description=_T(""); } else { tempstruct.Description=temp_var; } temp_var=ado.m_pRecordset->GetCollect(_T("T3-4AO_OPERATION")); if (temp_var.vt==VT_NULL) { tempstruct.Description=_T(""); } else { tempstruct.Operation=temp_var; } m_VecregisterData.push_back(tempstruct); m_recordcount++; ado.m_pRecordset->MoveNext(); } } else if (m_modelno==PM_T36CT) { } } ado.CloseRecordset(); ado.CloseConn(); } else { } CString temp; m_Datapages=(m_recordcount/ROWS)+1; temp.Format(_T("Product Name")); GetDlgItem(IDC_PRODUCTNAME)->SetWindowText(temp); GetDlgItem(IDC_PRODUCTNAME_T)->SetWindowText(GetProductName(product_register_value[7])); temp.Format(_T("%d/%d"),m_curPage,m_Datapages); GetDlgItem(IDC_PAGES)->SetWindowText(temp); }
void T3000_Default_MainView::Fresh(){ CString strTemp; strTemp.Format(_T("%d"),g_tstat_id); GetDlgItem(IDC_ID_EDIT)->SetWindowTextW(strTemp); strTemp.Format(_T("%d"),get_serialnumber()); GetDlgItem(IDC_SERIALNUM_EDIT)->SetWindowTextW(strTemp); m_brandrate_combox.ResetContent(); m_brandrate_combox.AddString(L"9600"); m_brandrate_combox.AddString(L"19200"); m_brandrate_combox.AddString(L"38400"); m_brandrate_combox.AddString(L"57600"); m_brandrate_combox.AddString(L"115200"); m_brandrate_combox.AddString(L"76800"); if((product_register_value[15] >= 0) && (product_register_value[15] <= 5)) m_brandrate_combox.SetCurSel(product_register_value[15]); m_mstpmodbus_combox.ResetContent(); m_mstpmodbus_combox.AddString(L"BACnet MSTP"); m_mstpmodbus_combox.AddString(L"Modbus"); if (product_register_value[7] == PM_TSTAT8|| (product_register_value[7] == PM_TSTAT8_WIFI) || (product_register_value[7] == PM_TSTAT8_OCC) || (product_register_value[7] == PM_TSTAT7_ARM) || (product_register_value[7] == PM_TSTAT8_220V)) { if (product_register_value[21] == 0) { m_mstpmodbus_combox.SetCurSel(1); } else { m_mstpmodbus_combox.SetCurSel(0); } unsigned int temp_device_id; temp_device_id = product_register_value[992] * 65536 + product_register_value[991]; CString cs_deviceid; cs_deviceid.Format(_T("%u"), temp_device_id); GetDlgItem(IDC_EDIT_BACNET_DEVICE_ID)->SetWindowTextW(cs_deviceid); if (product_register_value[4] >= 86) { GetDlgItem(IDC_EDIT_BACNET_DEVICE_ID)->EnableWindow(true); } else { GetDlgItem(IDC_EDIT_BACNET_DEVICE_ID)->EnableWindow(false); } } else { GetDlgItem(IDC_EDIT_BACNET_DEVICE_ID)->EnableWindow(false); if (product_register_value[21] == 0) { m_mstpmodbus_combox.SetCurSel(0); } else { m_mstpmodbus_combox.SetCurSel(1); } } strTemp.Format(_T("%d"), product_register_value[39]); m_Editor_macmstp.SetWindowTextW(strTemp); strTemp.Format(_T("%d"), product_register_value[38]); m_BipPort_Edit.SetWindowTextW(strTemp); strTemp.Format(_T("%0.1f"),get_curtstat_version()); GetDlgItem(IDC_FIRMWARV_EDIT)->SetWindowTextW(strTemp); strTemp.Format(_T("%d"),product_register_value[8]);//8 GetDlgItem(IDC_HARDWAREV_EDIT)->SetWindowTextW(strTemp); int nModel=product_register_value[7]; CString ProductName = GetProductName(nModel); if (nModel == PM_CS_RSM_AC||nModel == PM_CS_SM_AC) { if (product_register_value[11] == 0) { ProductName+=_T("-100A"); } else if (product_register_value[11]==1) { ProductName+=_T("-200A"); } else if (product_register_value[11]==2) { ProductName+=_T("-300A"); } } GetDlgItem(IDC_MODEL_EDIT)->SetWindowTextW(ProductName); strTemp.Format(_T("%d"),product_register_value[9]); GetDlgItem(IDC_PIC_EDIT)->SetWindowText(strTemp); GetDlgItem(IDC_BUTTON_WIFI_CONFIG)->ShowWindow(FALSE); MODBUS_BAUDRATE = 15; if ( product_register_value[7] == PM_T322AI || product_register_value[7] == PM_T38AI8AO6DO || product_register_value[7] == PM_T3PT12 || product_register_value[7] == PM_T36CTA || product_register_value[7] == PM_PWMETER ||product_register_value[7]==STM32_HUM_NET ) { GetDlgItem (IDC_STATIC_IPTIPS)->ShowWindow (TRUE); GetDlgItem (IDC_APPLYBUTTON)->ShowWindow (TRUE); GetDlgItem (IDC_STATIC_IPMODEL)->ShowWindow (TRUE); GetDlgItem (IDC_STATIC_IPADDRESS)->ShowWindow (TRUE); GetDlgItem (IDC_STATICSUBNETMASK)->ShowWindow (TRUE); GetDlgItem (IDC_STATICGATEWAYADDRESS)->ShowWindow (TRUE); GetDlgItem (IDC_STATIC_LISTENNINGPORT)->ShowWindow (TRUE); GetDlgItem (IDC_STATICMACADDRESS)->ShowWindow (TRUE); CString strtemp; int CO2_NET_MODBUS_MAC_ADDRESS_START = 40; strtemp.Format(_T("%02X-%02X-%02X-%02X-%02X-%02X"),product_register_value[CO2_NET_MODBUS_MAC_ADDRESS_START],product_register_value[CO2_NET_MODBUS_MAC_ADDRESS_START+1],product_register_value[CO2_NET_MODBUS_MAC_ADDRESS_START+2],product_register_value[CO2_NET_MODBUS_MAC_ADDRESS_START+3],product_register_value[CO2_NET_MODBUS_MAC_ADDRESS_START+4],product_register_value[CO2_NET_MODBUS_MAC_ADDRESS_START+5]); m_Edit_MacAddress.SetWindowText(strtemp); m_Edit_MacAddress.ShowWindow (TRUE); int CO2_NET_MODBUS_IP_MODE = 46; m_ip_model.SetCurSel(product_register_value[CO2_NET_MODBUS_IP_MODE]); m_ip_model.ShowWindow (TRUE); int CO2_NET_MODBUS_IP_ADDRESS_START = 47; m_ipaddress.SetAddress((BYTE)product_register_value[CO2_NET_MODBUS_IP_ADDRESS_START], (BYTE)product_register_value[CO2_NET_MODBUS_IP_ADDRESS_START+1], (BYTE)product_register_value[CO2_NET_MODBUS_IP_ADDRESS_START+2], (BYTE)product_register_value[CO2_NET_MODBUS_IP_ADDRESS_START+3]); int CO2_NET_MODBUS_SUBNET_MASK_ADDRESS_START = 51; m_ipaddress.ShowWindow (TRUE); m_Subnet_Mask.SetAddress((BYTE)product_register_value[CO2_NET_MODBUS_SUBNET_MASK_ADDRESS_START], (BYTE)product_register_value[CO2_NET_MODBUS_SUBNET_MASK_ADDRESS_START+1], (BYTE)product_register_value[CO2_NET_MODBUS_SUBNET_MASK_ADDRESS_START+2], (BYTE)product_register_value[CO2_NET_MODBUS_SUBNET_MASK_ADDRESS_START+3]); int CO2_NET_MODBUS_GATEWAY_ADDRESS_START = 55; m_Subnet_Mask.ShowWindow (TRUE); m_GatewayAddress.SetAddress((BYTE)product_register_value[CO2_NET_MODBUS_GATEWAY_ADDRESS_START], (BYTE)product_register_value[CO2_NET_MODBUS_GATEWAY_ADDRESS_START+1], (BYTE)product_register_value[CO2_NET_MODBUS_GATEWAY_ADDRESS_START+2], (BYTE)product_register_value[CO2_NET_MODBUS_GATEWAY_ADDRESS_START+3]); int CO2_NET_MODBUS_LISTEN_PORT_AT_TCP_SERVER_MODE_START = 60; m_GatewayAddress.ShowWindow (TRUE); strtemp.Format(_T("%d"),product_register_value[CO2_NET_MODBUS_LISTEN_PORT_AT_TCP_SERVER_MODE_START]); m_ListenPort.SetWindowText(strtemp); m_ListenPort.ShowWindow (TRUE); } else if ( product_register_value[7] == PM_TSTAT8_WIFI) { GetDlgItem(IDC_STATIC_IPTIPS)->ShowWindow(TRUE); GetDlgItem(IDC_APPLYBUTTON)->ShowWindow(TRUE); GetDlgItem(IDC_STATIC_IPMODEL)->ShowWindow(TRUE); GetDlgItem(IDC_STATIC_IPADDRESS)->ShowWindow(TRUE); GetDlgItem(IDC_STATICSUBNETMASK)->ShowWindow(TRUE); GetDlgItem(IDC_STATICGATEWAYADDRESS)->ShowWindow(TRUE); GetDlgItem(IDC_STATIC_LISTENNINGPORT)->ShowWindow(TRUE); GetDlgItem(IDC_STATICMACADDRESS)->ShowWindow(TRUE); GetDlgItem(IDC_BUTTON_WIFI_CONFIG)->ShowWindow(TRUE); GetDlgItem(IDC_STATIC_BIPPORT)->ShowWindow(FALSE); GetDlgItem(IDC_EDIT_BIPPORT)->ShowWindow(FALSE); GetDlgItem(IDC_STATIC_MAC_MSTP)->ShowWindow(FALSE); GetDlgItem(IDC_EDIT_MSTP_MAC)->ShowWindow(FALSE); CString strtemp; int CO2_NET_MODBUS_MAC_ADDRESS_START = 40; strtemp.Format(_T("%02X-%02X-%02X-%02X-%02X-%02X"), product_register_value[CO2_NET_MODBUS_MAC_ADDRESS_START], product_register_value[CO2_NET_MODBUS_MAC_ADDRESS_START + 1], product_register_value[CO2_NET_MODBUS_MAC_ADDRESS_START + 2], product_register_value[CO2_NET_MODBUS_MAC_ADDRESS_START + 3], product_register_value[CO2_NET_MODBUS_MAC_ADDRESS_START + 4], product_register_value[CO2_NET_MODBUS_MAC_ADDRESS_START + 5]); m_Edit_MacAddress.SetWindowText(strtemp); m_Edit_MacAddress.ShowWindow(TRUE); int CO2_NET_MODBUS_IP_MODE = 46; m_ip_model.SetCurSel(product_register_value[CO2_NET_MODBUS_IP_MODE]); m_ip_model.ShowWindow(TRUE); int CO2_NET_MODBUS_IP_ADDRESS_START = 47; m_ipaddress.SetAddress((BYTE)product_register_value[CO2_NET_MODBUS_IP_ADDRESS_START], (BYTE)product_register_value[CO2_NET_MODBUS_IP_ADDRESS_START + 1], (BYTE)product_register_value[CO2_NET_MODBUS_IP_ADDRESS_START + 2], (BYTE)product_register_value[CO2_NET_MODBUS_IP_ADDRESS_START + 3]); int CO2_NET_MODBUS_SUBNET_MASK_ADDRESS_START = 51; m_ipaddress.ShowWindow(TRUE); m_Subnet_Mask.SetAddress((BYTE)product_register_value[CO2_NET_MODBUS_SUBNET_MASK_ADDRESS_START], (BYTE)product_register_value[CO2_NET_MODBUS_SUBNET_MASK_ADDRESS_START + 1], (BYTE)product_register_value[CO2_NET_MODBUS_SUBNET_MASK_ADDRESS_START + 2], (BYTE)product_register_value[CO2_NET_MODBUS_SUBNET_MASK_ADDRESS_START + 3]); int CO2_NET_MODBUS_GATEWAY_ADDRESS_START = 55; m_Subnet_Mask.ShowWindow(TRUE); m_GatewayAddress.SetAddress((BYTE)product_register_value[CO2_NET_MODBUS_GATEWAY_ADDRESS_START], (BYTE)product_register_value[CO2_NET_MODBUS_GATEWAY_ADDRESS_START + 1], (BYTE)product_register_value[CO2_NET_MODBUS_GATEWAY_ADDRESS_START + 2], (BYTE)product_register_value[CO2_NET_MODBUS_GATEWAY_ADDRESS_START + 3]); int CO2_NET_MODBUS_LISTEN_PORT_AT_TCP_SERVER_MODE_START = 60; m_GatewayAddress.ShowWindow(TRUE); strtemp.Format(_T("%d"), product_register_value[CO2_NET_MODBUS_LISTEN_PORT_AT_TCP_SERVER_MODE_START]); m_ListenPort.SetWindowText(strtemp); m_ListenPort.ShowWindow(TRUE); } else if(product_register_value[7] == PWM_TRANSDUCER) { GetDlgItem(IDC_STATIC_IPTIPS)->ShowWindow(FALSE); GetDlgItem(IDC_APPLYBUTTON)->ShowWindow(FALSE); GetDlgItem(IDC_STATIC_IPMODEL)->ShowWindow(FALSE); GetDlgItem(IDC_STATIC_IPADDRESS)->ShowWindow(FALSE); GetDlgItem(IDC_STATICSUBNETMASK)->ShowWindow(FALSE); GetDlgItem(IDC_STATICGATEWAYADDRESS)->ShowWindow(FALSE); GetDlgItem(IDC_STATIC_LISTENNINGPORT)->ShowWindow(FALSE); GetDlgItem(IDC_STATICMACADDRESS)->ShowWindow(FALSE); GetDlgItem(IDC_STATIC_BIPPORT)->ShowWindow(FALSE); GetDlgItem(IDC_STATIC_MAC_MSTP)->ShowWindow(FALSE); GetDlgItem(IDC_STATIC_MSTP_MODBUS)->ShowWindow(FALSE); m_Edit_MacAddress.ShowWindow(FALSE); m_ip_model.ShowWindow(FALSE); m_ipaddress.ShowWindow(FALSE); m_Subnet_Mask.ShowWindow(FALSE); m_GatewayAddress.ShowWindow(FALSE); m_ListenPort.ShowWindow(FALSE); m_Editor_macmstp.ShowWindow(FALSE); m_mstpmodbus_combox.ShowWindow(FALSE); m_BipPort_Edit.ShowWindow(FALSE); } else { GetDlgItem (IDC_STATIC_IPTIPS)->ShowWindow (FALSE); GetDlgItem (IDC_APPLYBUTTON)->ShowWindow (FALSE); GetDlgItem (IDC_STATIC_IPMODEL)->ShowWindow (FALSE); GetDlgItem (IDC_STATIC_IPADDRESS)->ShowWindow (FALSE); GetDlgItem (IDC_STATICSUBNETMASK)->ShowWindow (FALSE); GetDlgItem (IDC_STATICGATEWAYADDRESS)->ShowWindow (FALSE); GetDlgItem (IDC_STATIC_LISTENNINGPORT)->ShowWindow (FALSE); GetDlgItem (IDC_STATICMACADDRESS)->ShowWindow (FALSE); GetDlgItem (IDC_STATIC_AEC_ENCRYPT)->ShowWindow(FALSE); GetDlgItem (IDC_EDIT_AES_ENCRYPT)->ShowWindow(FALSE); GetDlgItem (IDC_CHECK_PASSWORD)->ShowWindow(FALSE); GetDlgItem(IDC_STATIC_ACE)->ShowWindow(FALSE); GetDlgItem(IDC_STATIC_BIPPORT)->ShowWindow(FALSE); GetDlgItem(IDC_EDIT_BIPPORT)->ShowWindow(FALSE); GetDlgItem(IDC_STATIC_MAC_MSTP)->ShowWindow(FALSE); GetDlgItem(IDC_EDIT_MSTP_MAC)->ShowWindow(FALSE); m_Edit_MacAddress.ShowWindow (FALSE); m_ip_model.ShowWindow (FALSE); m_ipaddress.ShowWindow (FALSE); m_Subnet_Mask.ShowWindow (FALSE); m_GatewayAddress.ShowWindow (FALSE); m_ListenPort.ShowWindow (FALSE); GetDlgItem(IDC_STATIC_NETWORKID)->ShowWindow(FALSE); GetDlgItem(IDC_STATIC_NETWORKID2)->ShowWindow(FALSE); GetDlgItem(IDC_STATIC_NETWORKID3)->ShowWindow(FALSE); GetDlgItem(IDC_EDIT_NETWORKID)->ShowWindow(FALSE); GetDlgItem(IDC_EDIT_NODEID)->ShowWindow(FALSE); GetDlgItem(IDC_EDIT_FREID)->ShowWindow(FALSE); } if (product_register_value[7] == PM_TSTAT5i || product_register_value[7] == PM_TSTAT6 || product_register_value[7] == PM_TSTAT7 || product_register_value[7] == PM_TSTAT8 || (product_register_value[7] == PM_TSTAT8_WIFI) || (product_register_value[7] == PM_TSTAT8_OCC) || (product_register_value[7] == PM_TSTAT7_ARM) || (product_register_value[7] == PM_TSTAT8_220V) ) { bitset<16> value109(product_register_value[109]); int sel = value109[4];//第五位 m_combox_mrd.SetCurSel(sel); } else { bitset<16> value184(product_register_value[184]); int sel = value184[4];//第五位 m_combox_mrd.SetCurSel(sel); } Read_Multi(g_tstat_id, &product_register_value[599], 599, 100); if (product_register_value[599] == 0) { m_Edit_AESPassword.EnableWindow(FALSE); GetDlgItem(IDC_CHECK_PASSWORD)->EnableWindow(FALSE); } else { m_Edit_AESPassword.EnableWindow(TRUE); m_Edit_AESPassword.SetWindowTextW(GetTextFromReg(600)+ GetTextFromReg(604)); //m_Edit_AESPassword.SetPasswordChar('*'); ((CButton *)GetDlgItem(IDC_CHECK_PASSWORD))->SetCheck(1); } strTemp.Format(_T("%d"), (int)product_register_value[608]); m_Edit_Network.SetWindowTextW(strTemp); strTemp.Format(_T("%d"), (int)product_register_value[609]); m_Edit_NodeID.SetWindowTextW(strTemp); long long Freq = ((long long)product_register_value[610]) * 65536 + ((long long)product_register_value[611]); strTemp.Format(_T("%ld HZ"), Freq); m_Edit_FrequenceID.SetWindowTextW(strTemp); if (PM_T36CTA == product_register_value[7]) { m_Edit_FrequenceID.ShowWindow(SW_SHOW); GetDlgItem(IDC_STATIC_AEC_ENCRYPT)->ShowWindow(SW_SHOW); GetDlgItem(IDC_EDIT_AES_ENCRYPT)->ShowWindow(SW_SHOW); GetDlgItem(IDC_STATIC_NETWORKID)->ShowWindow(SW_SHOW); GetDlgItem(IDC_STATIC_NETWORKID2)->ShowWindow(SW_SHOW); GetDlgItem(IDC_STATIC_NETWORKID3)->ShowWindow(SW_SHOW); GetDlgItem(IDC_EDIT_NETWORKID)->ShowWindow(SW_SHOW); GetDlgItem(IDC_EDIT_NODEID)->ShowWindow(SW_SHOW); GetDlgItem(IDC_EDIT_FREID)->ShowWindow(SW_SHOW); GetDlgItem(IDC_STATIC_ACE)->ShowWindow(SW_SHOW); } else { m_Edit_FrequenceID.ShowWindow(SW_HIDE); GetDlgItem(IDC_STATIC_AEC_ENCRYPT)->ShowWindow(SW_HIDE); GetDlgItem(IDC_EDIT_AES_ENCRYPT)->ShowWindow(SW_HIDE); GetDlgItem(IDC_STATIC_NETWORKID)->ShowWindow(SW_HIDE); GetDlgItem(IDC_STATIC_NETWORKID2)->ShowWindow(SW_HIDE); GetDlgItem(IDC_STATIC_NETWORKID3)->ShowWindow(SW_HIDE); GetDlgItem(IDC_EDIT_NETWORKID)->ShowWindow(SW_HIDE); GetDlgItem(IDC_EDIT_NODEID)->ShowWindow(SW_HIDE); GetDlgItem(IDC_EDIT_FREID)->ShowWindow(SW_HIDE); GetDlgItem(IDC_STATIC_ACE)->ShowWindow(SW_HIDE); } switch_product_last_view(); }
// /// Retrieves the product name this module is associated with. /// String version. [VH 2005-04-03] // tstring TModuleVersionInfo::GetProductName(uint lang) {LPCTSTR v = _T(""); E = GetProductName(v, lang); return v;}
void CBacnetOutput::OnNMClickListOutput(NMHDR *pNMHDR, LRESULT *pResult) { LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR); // TODO: Add your control notification handler code here long lRow,lCol; m_output_list.Set_Edit(true); DWORD dwPos=GetMessagePos();//Get which line is click by user.Set the check box, when user enter Insert it will jump to program dialog CPoint point( LOWORD(dwPos), HIWORD(dwPos)); m_output_list.ScreenToClient(&point); LVHITTESTINFO lvinfo; lvinfo.pt=point; lvinfo.flags=LVHT_ABOVE; int nItem=m_output_list.SubItemHitTest(&lvinfo); if((nItem!=-1) && (nItem < BAC_OUTPUT_ITEM_COUNT)) { output_list_line = nItem; if((m_Output_data.at(output_list_line).sub_id !=0) && //(m_Output_data.at(output_list_line).sub_number !=0) && (m_Output_data.at(output_list_line).sub_product !=0)) { unsigned char temp_pid = m_Output_data.at(output_list_line).sub_product; if((temp_pid == PM_T3PT10) || (temp_pid == PM_T3IOA) || (temp_pid == PM_T332AI) || (temp_pid == PM_T38AI16O) || (temp_pid == PM_T38I13O) || (temp_pid == PM_T34AO) || (temp_pid == PM_T36CT) || (temp_pid == PM_T322AI) || (temp_pid == PM_T38AI8AO6DO)) { m_output_item_info.ShowWindow(true); CString temp_name; temp_name = GetProductName(m_Output_data.at(output_list_line).sub_product); CString show_info; CString temp_id; CString temp_number; temp_id.Format(_T(" Sub ID: %u "),(unsigned char)m_Output_data.at(output_list_line).sub_id); temp_number.Format(_T("Output%d"),(unsigned char)m_Output_data.at(output_list_line).sub_number+1); show_info = _T("Module:") + temp_name +_T(" ") + temp_id + temp_number; m_output_item_info.SetWindowTextW(show_info); } else { m_output_item_info.ShowWindow(false); } } else { m_output_item_info.ShowWindow(false); } } lRow = lvinfo.iItem; lCol = lvinfo.iSubItem; if(lRow>= OUTPUT_LIMITE_ITEM_COUNT) return; if(lRow>m_output_list.GetItemCount()) //如果点击区超过最大行号,则点击是无效的 return; if(lRow<0) return; CString New_CString; CString temp_task_info; CString temp1; CStringArray temparray; if(lCol == OUTPUT_VALUE) { if(m_Output_data.at(lRow).auto_manual == BAC_AUTO) //If it is auto mode, disable to change the value. { m_output_list.Set_Edit(false); return; } if(m_Output_data.at(lRow).digital_analog != BAC_UNITS_DIGITAL) return; memcpy_s(&m_temp_output_data[lRow],sizeof(Str_out_point),&m_Output_data.at(lRow),sizeof(Str_out_point)); if((m_Output_data.at(lRow).range < 23) &&(m_Output_data.at(lRow).range !=0)) temp1 = Digital_Units_Array[m_Output_data.at(lRow).range]; else if((m_Output_data.at(lRow).range >=23) && (m_Output_data.at(lRow).range <= 30)) { if(receive_customer_unit) temp1 = temp_unit_no_index[m_Output_data.at(lRow).range - 23]; else { m_output_list.Set_Edit(false); return; } } else return; //if(m_Output_data.at(lRow).range > 11) // temp1 = Digital_Units_Array[m_Output_data.at(lRow).range - 11];//11 is the sizeof the array //else // temp1 = Digital_Units_Array[m_Output_data.at(lRow).range]; SplitCStringA(temparray,temp1,_T("/")); if(m_Output_data.at(lRow).control == 0) { m_Output_data.at(lRow).control = 1; m_output_list.SetItemText(lRow,OUTPUT_VALUE,temparray.GetAt(1)); New_CString = temparray.GetAt(1); } else { m_Output_data.at(lRow).control = 0; m_output_list.SetItemText(lRow,OUTPUT_VALUE,temparray.GetAt(0)); New_CString = temparray.GetAt(0); } } else if(lCol == OUTPUT_AUTO_MANUAL) { memcpy_s(&m_temp_output_data[lRow],sizeof(Str_out_point),&m_Output_data.at(lRow),sizeof(Str_out_point)); if(m_Output_data.at(lRow).auto_manual == 0) { m_Output_data.at(lRow).auto_manual = 1; m_output_list.SetItemText(lRow,OUTPUT_AUTO_MANUAL,_T("Manual")); //m_output_list.SetCellEnabled(lRow,OUTPUT_VALUE,TRUE); New_CString = _T("Manual"); } else { m_Output_data.at(lRow).auto_manual = 0; m_output_list.SetItemText(lRow,OUTPUT_AUTO_MANUAL,_T("Auto")); //m_output_list.SetCellEnabled(lRow,OUTPUT_VALUE,FALSE); New_CString = _T("Auto"); } } else if(lCol == OUTPUT_RANGE) { //CString temp_cs = m_output_list.GetItemText(Changed_Item,Changed_SubItem); BacnetRange dlg; //点击产品的时候 需要读customer units,老的产品firmware 说不定没有 这些,所以不强迫要读到; if(!read_customer_unit) { int temp_invoke_id = -1; int send_status = true; int resend_count = 0; for (int z=0;z<3;z++) { do { resend_count ++; if(resend_count>5) { send_status = false; break; } temp_invoke_id = GetPrivateData( g_bac_instance, READUNIT_T3000, 0, BAC_CUSTOMER_UNITS_COUNT - 1, sizeof(Str_Units_element)); Sleep(SEND_COMMAND_DELAY_TIME); } while (g_invoke_id<0); if(send_status) { for (int z=0;z<1000;z++) { Sleep(1); if(tsm_invoke_id_free(temp_invoke_id)) { read_customer_unit = true; break; } else continue; } } if(read_customer_unit) break; } } if(m_Output_data.at(lRow).digital_analog == BAC_UNITS_ANALOG) { bac_ranges_type = OUTPUT_RANGE_ANALOG_TYPE; if(m_Output_data.at(lRow).range > (sizeof(Output_Analog_Units_Array) / sizeof(Output_Analog_Units_Array[0]))) { m_Output_data.at(lRow).range = 0; bac_range_number_choose = 0; } } else { bac_ranges_type = OUTPUT_RANGE_DIGITAL_TYPE; if(m_Output_data.at(lRow).range > 30) { m_Output_data.at(lRow).range = 0; bac_range_number_choose = 0; } } //if(temp_cs.CompareNoCase(Units_Type[UNITS_TYPE_ANALOG])==0) //{ initial_dialog = 3; bac_range_number_choose = m_Output_data.at(lRow).range; //bac_ranges_type = OUTPUT_RANGE_ANALOG_TYPE; dlg.DoModal(); if(range_cancel) { PostMessage(WM_REFRESH_BAC_OUTPUT_LIST,lRow,REFRESH_ON_ITEM);//这里调用 刷新线程重新刷新会方便一点; return ; } if(bac_range_number_choose == 0) //如果选择的是 unused 就认为是analog 的unused;这样 能显示对应的value; { m_Output_data.at(lRow).digital_analog = BAC_UNITS_ANALOG; bac_ranges_type = OUTPUT_RANGE_ANALOG_TYPE; } if(bac_ranges_type == OUTPUT_RANGE_ANALOG_TYPE) { m_Output_data.at(lRow).digital_analog = BAC_UNITS_ANALOG; m_Output_data.at(lRow).range = bac_range_number_choose; m_output_list.SetItemText(lRow,OUTPUT_UNITE,Output_Analog_Units_Show[bac_range_number_choose]); m_output_list.SetItemText(lRow,OUTPUT_RANGE,OutPut_List_Analog_Range[bac_range_number_choose]); //m_output_list.SetItemText(lRow,OUTPUT_0_PERSENT,_T("0")); //m_output_list.SetCellEnabled(lRow,OUTPUT_0_PERSENT,1); //m_output_list.SetItemText(lRow,OUTPUT_100_PERSENT,_T("10")); //m_output_list.SetCellEnabled(lRow,OUTPUT_100_PERSENT,1); #if 0 CString cstemp_value; float temp_float_value; temp_float_value = m_Output_data.at(Changed_Item).value / 1000; cstemp_value.Format(_T("%.2f"),temp_float_value); m_output_list.SetItemText(Changed_Item,OUTPUT_VALUE,cstemp_value); #endif CString cstemp_value; cstemp_value.Format(_T("%d"),m_Output_data.at(lRow).value); m_output_list.SetItemText(lRow,OUTPUT_VALUE,cstemp_value); } else if((bac_ranges_type == VARIABLE_RANGE_DIGITAL_TYPE) || (bac_ranges_type == INPUT_RANGE_DIGITAL_TYPE) || (bac_ranges_type == OUTPUT_RANGE_DIGITAL_TYPE)) { m_Output_data.at(lRow).digital_analog = BAC_UNITS_DIGITAL; m_Output_data.at(lRow).range = bac_range_number_choose; //m_output_list.SetItemText(lRow,OUTPUT_0_PERSENT,_T("")); //m_output_list.SetCellEnabled(lRow,OUTPUT_0_PERSENT,0); //m_output_list.SetItemText(lRow,OUTPUT_100_PERSENT,_T("")); //m_output_list.SetCellEnabled(lRow,OUTPUT_100_PERSENT,0); CStringArray temparray; if((bac_range_number_choose >= 23) && (bac_range_number_choose <= 30)) { //temp1.Format(_T("%s"), temp_unit_no_index[bac_range_number_choose - 23]); temp1 = temp_unit_no_index[bac_range_number_choose - 23]; } else temp1 = Digital_Units_Array[bac_range_number_choose];//22 is the sizeof the array SplitCStringA(temparray,temp1,_T("/")); if(m_Output_data.at(lRow).control == 1) { if((temparray.GetSize()==2)&&(!temparray.GetAt(1).IsEmpty())) { m_output_list.SetItemText(lRow,OUTPUT_VALUE,temparray.GetAt(1)); } } else { if((temparray.GetSize()==2)&&(!temparray.GetAt(0).IsEmpty())) { m_output_list.SetItemText(lRow,OUTPUT_VALUE,temparray.GetAt(0)); } } m_output_list.SetItemText(lRow,OUTPUT_RANGE,temp1); m_output_list.SetItemText(lRow,OUTPUT_UNITE,_T(""));//如果是数字单位 Unit 要清空; } } else { return; } //return; m_output_list.Set_Edit(false); int cmp_ret = memcmp(&m_temp_output_data[lRow],&m_Output_data.at(lRow),sizeof(Str_out_point)); if(cmp_ret!=0) { m_output_list.SetItemBkColor(lRow,lCol,LIST_ITEM_CHANGED_BKCOLOR); temp_task_info.Format(_T("Write Output List Item%d .Changed to \"%s\" "),lRow + 1,New_CString); Post_Write_Message(g_bac_instance,WRITEOUTPUT_T3000,lRow,lRow,sizeof(Str_out_point),m_output_dlg_hwnd,temp_task_info,lRow,lCol); } *pResult = 0; }
LRESULT CBacnetOutput::Fresh_Output_List(WPARAM wParam,LPARAM lParam) { int Fresh_Item; int isFreshOne = (int)lParam; int digital_special_output_count = 0; int analog_special_output_count = 0; if(bacnet_device_type == BIG_MINIPANEL) { digital_special_output_count = BIG_MINIPANEL_OUT_D; analog_special_output_count = BIG_MINIPANEL_OUT_A; } else if(bacnet_device_type == SMALL_MINIPANEL) { digital_special_output_count = SMALL_MINIPANEL_OUT_D; analog_special_output_count = SMALL_MINIPANEL_OUT_A; } else if(bacnet_device_type == TINY_MINIPANEL) { digital_special_output_count = TINY_MINIPANEL_OUT_D; analog_special_output_count = TINY_MINIPANEL_OUT_A; } else if(bacnet_device_type == T38AI8AO6DO) { digital_special_output_count = T38AI8AO6DO_OUT_D; analog_special_output_count = T38AI8AO6DO_OUT_A; } else if(bacnet_device_type == PID_T322AI) { digital_special_output_count = T322AI_OUT_D; analog_special_output_count = T322AI_OUT_A; } //if(pFrame->m_product.at(selected_product_index).product_class_id == T38AI8AO6DO) if((bacnet_device_type == T38AI8AO6DO) || (bacnet_device_type == PID_T322AI)) { OUTPUT_LIMITE_ITEM_COUNT = digital_special_output_count + analog_special_output_count; } else { OUTPUT_LIMITE_ITEM_COUNT = BAC_OUTPUT_ITEM_COUNT; } bool temp_need_show_external = false; for (int z= 0 ;z < (int)m_Output_data.size();z++) { if(z>= OUTPUT_LIMITE_ITEM_COUNT) break; if((m_Output_data.at(z).sub_id !=0) && (m_Output_data.at(z).sub_product !=0)) { temp_need_show_external = true; break; } } if(show_output_external != temp_need_show_external) { show_output_external = temp_need_show_external; if(temp_need_show_external) { CRect temp_rect; temp_rect = Output_rect; temp_rect.right = 1150; temp_rect.top = temp_rect.top + 24; m_output_list.MoveWindow(temp_rect); m_output_list.SetColumnWidth(OUTPUT_EXTERNAL,60); m_output_list.SetColumnWidth(OUTPUT_PRODUCT,80); m_output_list.SetColumnWidth(OUTPUT_EXT_NUMBER,80); } else { CRect temp_rect; temp_rect = Output_rect; temp_rect.right = 950; temp_rect.top = temp_rect.top + 24; m_output_list.MoveWindow(temp_rect); m_output_list.SetColumnWidth(OUTPUT_EXTERNAL,0); m_output_list.SetColumnWidth(OUTPUT_PRODUCT,0); m_output_list.SetColumnWidth(OUTPUT_EXT_NUMBER,0); } } if(isFreshOne == REFRESH_ON_ITEM) { Fresh_Item = (int)wParam; } else { if(m_output_list.IsDataNewer((char *)&m_Output_data.at(0),sizeof(Str_out_point) * BAC_OUTPUT_ITEM_COUNT)) { //避免list 刷新时闪烁;在没有数据变动的情况下不刷新List; m_output_list.SetListData((char *)&m_Output_data.at(0),sizeof(Str_out_point) * BAC_OUTPUT_ITEM_COUNT); } else { return 0; } } CString temp1; //int Fresh_Item; //int isFreshOne = (int)lParam; //if(isFreshOne == REFRESH_ON_ITEM) //{ // Fresh_Item = (int)wParam; //} for (int i=0;i<(int)m_Output_data.size();i++) { if(isFreshOne) { i = Fresh_Item; } if(i>=output_item_limit_count) break; if(i>= OUTPUT_LIMITE_ITEM_COUNT) { for (int a=0;a<OUTPUT_COL_NUMBER; a++) { m_output_list.SetItemText(i,a,_T("")); } continue; } CString temp_item,temp_value,temp_cal,temp_filter,temp_status,temp_lable; CString temp_des; CString temp_units; MultiByteToWideChar( CP_ACP, 0, (char *)m_Output_data.at(i).description, (int)strlen((char *)m_Output_data.at(i).description)+1, temp_des.GetBuffer(MAX_PATH), MAX_PATH ); temp_des.ReleaseBuffer(); temp_item.Format(_T("OUT%d"),i+1); m_output_list.SetItemText(i,OUTPUT_NUM,temp_item); m_output_list.SetItemText(i,OUTPUT_FULL_LABLE,temp_des); m_output_list.SetCellEnabled(i,OUTPUT_HW_SWITCH,0); //int digital_special_output_count = 0; //int analog_special_output_count = 0; m_output_list.SetItemText(i,OUTPUT_HW_SWITCH,_T("")); //这样加实在是情非得已,老毛非得加一堆条件,还要smart; if((bacnet_device_type == BIG_MINIPANEL) || ((bacnet_device_type == SMALL_MINIPANEL)) || (bacnet_device_type == TINY_MINIPANEL) || (bacnet_device_type == T38AI8AO6DO) || (bacnet_device_type == PID_T322AI) ) { //if(bacnet_device_type == BIG_MINIPANEL) //{ // digital_special_output_count = BIG_MINIPANEL_OUT_D; // analog_special_output_count = BIG_MINIPANEL_OUT_A; //} //else if(bacnet_device_type == SMALL_MINIPANEL) //{ // digital_special_output_count = SMALL_MINIPANEL_OUT_D; // analog_special_output_count = SMALL_MINIPANEL_OUT_A; //} //else if(bacnet_device_type == TINY_MINIPANEL) //{ // digital_special_output_count = TINY_MINIPANEL_OUT_D; // analog_special_output_count = TINY_MINIPANEL_OUT_A; //} //else if(bacnet_device_type == T38AI8AO6DO) //{ // digital_special_output_count = T38AI8AO6DO_OUT_D; // analog_special_output_count = T38AI8AO6DO_OUT_A; //} if(i < (digital_special_output_count +analog_special_output_count) ) { if(m_Output_data.at(i).hw_switch_status == HW_SW_OFF) { m_output_list.SetItemText(i,OUTPUT_HW_SWITCH,_T("MAN-OFF")); m_output_list.SetCellEnabled(i,OUTPUT_AUTO_MANUAL,0); m_output_list.SetItemTextColor(i,-1,RGB(255,0,0),0); } else if(m_Output_data.at(i).hw_switch_status == HW_SW_HAND) { m_output_list.SetItemText(i,OUTPUT_HW_SWITCH,_T("MAN-ON")); m_output_list.SetCellEnabled(i,OUTPUT_AUTO_MANUAL,0); m_output_list.SetItemTextColor(i,-1,RGB(255,0,0),0); } else { m_output_list.SetItemTextColor(i,-1,RGB(0,0,0),0); //if((i%2)==0) //恢复前景和 背景 颜色; // m_output_list.SetItemBkColor(i,-1,LIST_ITEM_DEFAULT_BKCOLOR,0); //else // m_output_list.SetItemBkColor(i,-1,LIST_ITEM_DEFAULT_BKCOLOR_GRAY,0); m_output_list.SetItemText(i,OUTPUT_HW_SWITCH,_T("AUTO")); m_output_list.SetCellEnabled(i,OUTPUT_AUTO_MANUAL,1); if(m_Output_data.at(i).auto_manual==0) //In output table if it is auto ,the value can't be edit by user { m_output_list.SetItemText(i,OUTPUT_AUTO_MANUAL,_T("Auto")); //m_output_list.SetCellEnabled(i,OUTPUT_VALUE,0); } else { m_output_list.SetItemText(i,OUTPUT_AUTO_MANUAL,_T("Manual")); //m_output_list.SetCellEnabled(i,OUTPUT_VALUE,1); } } } else { m_output_list.SetItemTextColor(i,-1,RGB(0,0,0),0); m_output_list.SetItemText(i,OUTPUT_HW_SWITCH,_T("AUTO")); m_output_list.SetCellEnabled(i,OUTPUT_AUTO_MANUAL,1); if(m_Output_data.at(i).auto_manual==0) //In output table if it is auto ,the value can't be edit by user { m_output_list.SetItemText(i,OUTPUT_AUTO_MANUAL,_T("Auto")); //m_output_list.SetCellEnabled(i,OUTPUT_VALUE,0); } else { m_Output_data.at(i).auto_manual = 1; m_output_list.SetItemText(i,OUTPUT_AUTO_MANUAL,_T("Manual")); //m_output_list.SetCellEnabled(i,OUTPUT_VALUE,1); } } } else { m_output_list.SetCellEnabled(i,OUTPUT_AUTO_MANUAL,1); if(m_Output_data.at(i).auto_manual==0) //In output table if it is auto ,the value can't be edit by user { m_output_list.SetItemText(i,OUTPUT_AUTO_MANUAL,_T("Auto")); //m_output_list.SetCellEnabled(i,OUTPUT_VALUE,0); } else { m_Output_data.at(i).auto_manual = 1; m_output_list.SetItemText(i,OUTPUT_AUTO_MANUAL,_T("Manual")); //m_output_list.SetCellEnabled(i,OUTPUT_VALUE,1); } } m_output_list.SetCellEnabled(i,OUTPUT_UNITE,0); if(m_Output_data.at(i).digital_analog == BAC_UNITS_ANALOG) { //m_output_list.SetCellEnabled(i,OUTPUT_0_PERSENT,1); //m_output_list.SetCellEnabled(i,OUTPUT_100_PERSENT,1); if(m_Output_data.at(i).range == 0) m_output_list.SetItemText(i,OUTPUT_RANGE,_T("Unused")); else if(m_Output_data.at(i).range < (sizeof(OutPut_List_Analog_Range)/sizeof(OutPut_List_Analog_Range[0]))) m_output_list.SetItemText(i,OUTPUT_RANGE,OutPut_List_Analog_Range[m_Output_data.at(i).range]); else m_output_list.SetItemText(i,OUTPUT_RANGE,_T("Out of range")); if(m_Output_data.at(i).range < (sizeof(OutPut_List_Analog_Units)/sizeof(OutPut_List_Analog_Units[0]))) m_output_list.SetItemText(i,OUTPUT_UNITE,OutPut_List_Analog_Units[m_Output_data.at(i).range]); else m_output_list.SetItemText(i,OUTPUT_UNITE,_T("Unused")); CString temp_low,temp_high; temp_low.Format(_T("%d"),0); temp_high.Format(_T("%d"),0); CString temp_value; temp_value.Format(_T("%.2f"),((float)m_Output_data.at(i).value) / 1000); m_output_list.SetItemText(i,OUTPUT_VALUE,temp_value); #if 0 CString cstemp_value; float temp_float_value; temp_float_value = ((float)m_Output_data.at(i).value) / 1000; cstemp_value.Format(_T("%.2f"),temp_float_value); m_output_list.SetItemText(i,OUTPUT_VALUE,cstemp_value); #endif //m_output_list.SetItemText(i,OUTPUT_0_PERSENT,temp_low); //m_output_list.SetItemText(i,OUTPUT_100_PERSENT,temp_high); } else if(m_Output_data.at(i).digital_analog == BAC_UNITS_DIGITAL) { //m_output_list.SetCellEnabled(i,OUTPUT_0_PERSENT,0); //m_output_list.SetCellEnabled(i,OUTPUT_100_PERSENT,0); //m_output_list.SetItemText(i,OUTPUT_0_PERSENT,_T("")); //m_output_list.SetItemText(i,OUTPUT_100_PERSENT,_T("")); /*m_output_list.SetItemText(i,OUTPUT_RANGE,Digital_Units_Array[m_Output_data.at(i).range]);*/ m_output_list.SetItemText(i,OUTPUT_UNITE,_T("")); if(m_Output_data.at(i).range == 0) { CString temp_value2; temp_value2.Format(_T("%.2f"),((float)m_Output_data.at(i).value) / 1000); m_output_list.SetItemText(i,OUTPUT_VALUE,temp_value2); m_output_list.SetItemText(i,OUTPUT_RANGE,Digital_Units_Array[0]); } else if(m_Output_data.at(i).range<=22) m_output_list.SetItemText(i,OUTPUT_RANGE,Digital_Units_Array[m_Output_data.at(i).range]); else if((m_Output_data.at(i).range >= 23) && (m_Output_data.at(i).range <= 30)) { if(receive_customer_unit) m_output_list.SetItemText(i,OUTPUT_RANGE,temp_unit_no_index[m_Output_data.at(i).range - 23]); else m_output_list.SetItemText(i,OUTPUT_RANGE,Digital_Units_Array[0]); } else m_output_list.SetItemText(i,OUTPUT_RANGE,Digital_Units_Array[0]); #if 0 if(m_Output_data.at(i).range>=12) m_output_list.SetItemText(i,OUTPUT_RANGE,Digital_Units_Array[m_Output_data.at(i).range -11]); else m_output_list.SetItemText(i,OUTPUT_RANGE,Digital_Units_Array[m_Output_data.at(i).range]); #endif if((m_Output_data.at(i).range>30) || (m_Output_data.at(i).range == 0)) { //m_output_list.SetItemText(i,OUTPUT_UNITE,Digital_Units_Array[0]); } else { CStringArray temparray; if((m_Output_data.at(i).range < 23) &&(m_Output_data.at(i).range !=0)) temp1 = Digital_Units_Array[m_Output_data.at(i).range]; else if((m_Output_data.at(i).range >=23) && (m_Output_data.at(i).range <= 30)) { if(receive_customer_unit) temp1 = temp_unit_no_index[m_Output_data.at(i).range - 23]; } else { temp1.Empty(); m_output_list.SetItemText(i,OUTPUT_VALUE,_T("")); } SplitCStringA(temparray,temp1,_T("/")); if((temparray.GetSize()==2)) { if(m_Output_data.at(i).control == 0) m_output_list.SetItemText(i,OUTPUT_VALUE,temparray.GetAt(0)); else m_output_list.SetItemText(i,OUTPUT_VALUE,temparray.GetAt(1)); } } } CString main_sub_panel; #pragma region External info if((m_Output_data.at(i).sub_id !=0) && //(m_Input_data.at(input_list_line).sub_number !=0) && (m_Output_data.at(i).sub_product !=0)) { unsigned char temp_pid = m_Output_data.at(i).sub_product; if((temp_pid == PM_T3PT10) || (temp_pid == PM_T3IOA) || (temp_pid == PM_T332AI) || (temp_pid == PM_T38AI16O) || (temp_pid == PM_T38I13O) || (temp_pid == PM_T34AO) || (temp_pid == PM_T322AI) || (temp_pid == PM_T38AI8AO6DO) || (temp_pid == PM_T36CT)) { CString temp_name; temp_name = GetProductName(m_Output_data.at(i).sub_product); CString show_info; CString temp_id; CString temp_number; bitset<8> mytest((unsigned char)m_Output_data.at(i).sub_number); bool highest_bit; highest_bit = mytest.test(7); unsigned char temp_sub_number = 0; mytest = mytest.set(7,0); temp_sub_number = (unsigned char)mytest.to_ulong(); if(highest_bit) temp_number.Format(_T("AO%d"),temp_sub_number + 1); else temp_number.Format(_T("DO%d"),temp_sub_number + 1); m_output_list.SetItemText(i,OUTPUT_EXTERNAL,_T("External")); m_output_list.SetItemTextColor(i,OUTPUT_EXTERNAL,RGB(0,0,255),FALSE); m_output_list.SetItemText(i,OUTPUT_PRODUCT,temp_name); m_output_list.SetItemText(i,OUTPUT_EXT_NUMBER,temp_number); main_sub_panel.Format(_T("%d-%d"),(unsigned char)Station_NUM,(unsigned char)m_Output_data.at(i).sub_id); m_output_list.SetItemText(i,OUTPUT_PANEL,main_sub_panel); //temp_id.Format(_T(" Sub ID: %u "),(unsigned char)m_Input_data.at(input_list_line).sub_id); //temp_number.Format(_T("Input%d"),(unsigned char)m_Input_data.at(input_list_line).sub_number + 1); //show_info = _T("Module:") + temp_name +_T(" ") + temp_id + temp_number; //m_input_item_info.SetWindowTextW(show_info); } else { main_sub_panel.Format(_T("%d"),(unsigned char)Station_NUM); m_output_list.SetItemText(i,OUTPUT_PANEL,main_sub_panel); } } else { main_sub_panel.Format(_T("%d"),(unsigned char)Station_NUM); m_output_list.SetItemText(i,OUTPUT_PANEL,main_sub_panel); } #pragma endregion External info if(m_Output_data.at(i).decom==0) temp_status.Format(Output_Decom_Array[0]); else if(m_Output_data.at(i).decom==1) temp_status.Format(Output_Decom_Array[1]); else temp_status.Empty(); m_output_list.SetItemText(i,OUTPUT_DECOM,temp_status); CString temp_pwm_period; temp_pwm_period.Format(_T("%u"),(unsigned char)m_Output_data.at(i).pwm_period); m_output_list.SetItemText(i,OUTPUT_PWM_PERIOD,temp_pwm_period); CString temp_des2; MultiByteToWideChar( CP_ACP, 0, (char *)m_Output_data.at(i).label, (int)strlen((char *)m_Output_data.at(i).label)+1, temp_des2.GetBuffer(MAX_PATH), MAX_PATH ); temp_des2.ReleaseBuffer(); m_output_list.SetItemText(i,OUTPUT_LABLE,temp_des2); if(isFreshOne) { break; } } copy_data_to_ptrpanel(TYPE_OUTPUT); Invalidate(); return 0; }
LRESULT CBacnetTstat::Fresh_Tstat_List(WPARAM wParam,LPARAM lParam) { int Fresh_Item; int isFreshOne = (int)lParam; if(isFreshOne == REFRESH_ON_ITEM) { Fresh_Item = (int)wParam; } else { if(m_tstat_list.IsDataNewer((char *)&m_Tstat_data.at(0),sizeof(Str_TstatInfo_point) * BAC_TSTAT_COUNT)) { //避免list 刷新时闪烁;在没有数据变动的情况下不刷新List; m_tstat_list.SetListData((char *)&m_Tstat_data.at(0),sizeof(Str_TstatInfo_point) * BAC_TSTAT_COUNT); } else { return 0; } } for (int i=0;i<(int)m_Tstat_data.size();i++) { if(isFreshOne) { i = Fresh_Item; } if((m_Tstat_data.at(i).product_model == 255) || ((m_Tstat_data.at(i).tst_db.id == 0))) { for (int x = 1; x < TSTAT_COL_NUMBER ; x++) { m_tstat_list.SetItemText(i,x,_T("")); } continue; } CString ModuleName; CString Address;CString RoomTemperature;CString SerialNumber; CString OCCUPIED; CString Cool_Setpoint; CString Heat_Setpoint; CString Room_Setpoint; CString CS_TSTAT_MODE; CString CS_COOL_HEAT; CString CS_OUTPUT_STAGE; ModuleName = GetProductName(m_Tstat_data.at(i).product_model); m_tstat_list.SetItemText(i,TSTAT_PRODUCT_MODEL_TYPE,ModuleName); Address.Format(_T("%d"),m_Tstat_data.at(i).tst_db.id); m_tstat_list.SetItemText(i,TSTAT_ADDRESS,Address); SerialNumber.Format(_T("%d"),m_Tstat_data.at(i).tst_db.sn); m_tstat_list.SetItemText(i,TSTAT_SERIAL_NUM,SerialNumber); if((m_Tstat_data.at(i).occupied == 0) || (m_Tstat_data.at(i).occupied == 1)) { OCCUPIED = CString_Occupied[m_Tstat_data.at(i).occupied]; } else { OCCUPIED = CString_Occupied[2]; } m_tstat_list.SetItemText(i,TSTAT_OCCUPIED,OCCUPIED); Cool_Setpoint.Format(_T("%.1f"),((float)m_Tstat_data.at(i).cool_setpoint)/10); m_tstat_list.SetItemText(i,TSTAT_COOL_SETPOINT,Cool_Setpoint); Heat_Setpoint.Format(_T("%.1f"),((float)m_Tstat_data.at(i).heat_setpoint)/10); m_tstat_list.SetItemText(i,TSTAT_HEAT_SETPOINT,Heat_Setpoint); Room_Setpoint.Format(_T("%.1f"),((float)m_Tstat_data.at(i).setpoint)/10); m_tstat_list.SetItemText(i,TSTAT_ROOM_SETPOINT,Room_Setpoint); RoomTemperature.Format(_T("%.1f"),((float)m_Tstat_data.at(i).temperature)/10); m_tstat_list.SetItemText(i,TSTAT_ROOM_TEM,RoomTemperature); CS_TSTAT_MODE.Format(_T("%d"),m_Tstat_data.at(i).mode); m_tstat_list.SetItemText(i,TSTAT_MODE,CS_TSTAT_MODE); if((m_Tstat_data.at(i).cool_heat_mode == 1) || (m_Tstat_data.at(i).cool_heat_mode == 2)) { CS_COOL_HEAT = CString_Cool_Heat[m_Tstat_data.at(i).cool_heat_mode]; } else if(m_Tstat_data.at(i).cool_heat_mode == 0) { CS_COOL_HEAT = CString_Cool_Heat[0]; } else { CS_COOL_HEAT = CString_Cool_Heat[3]; } m_tstat_list.SetItemText(i,TSTAT_COOL_HEAT_MODE,CS_COOL_HEAT); CS_OUTPUT_STAGE.Format(_T("%d"),m_Tstat_data.at(i).output_state); m_tstat_list.SetItemText(i,TSTAT_OUTPUT_STATE,CS_OUTPUT_STAGE); CString Night_Heat_Db; CString Night_Cool_Db; CString Night_Heat_Sp; CString Night_Cool_Sp; Night_Heat_Db.Format(_T("%d"),m_Tstat_data.at(i).night_heat_db); Night_Cool_Db.Format(_T("%d"),m_Tstat_data.at(i).night_cool_db); Night_Heat_Sp.Format(_T("%d"),m_Tstat_data.at(i).night_heat_sp); Night_Cool_Sp.Format(_T("%d"),m_Tstat_data.at(i).night_cool_sp); m_tstat_list.SetItemText(i,TSTAT_NIGHT_HEAT_DB,Night_Heat_Db); m_tstat_list.SetItemText(i,TSTAT_NIGHT_COOL_DB,Night_Cool_Db); m_tstat_list.SetItemText(i,TSTAT_NIGHT_HEAT_SP,Night_Heat_Sp); m_tstat_list.SetItemText(i,TSTAT_NIGHT_COOL_SP,Night_Cool_Sp); } return 1; }