void CChartDlg::OnButtonClicked(GtkWidget *pBtn) { double zoom; if (pBtn==GTK_WIDGET(m_ShowChart)) { m_DisplayMode = DISPLAY_CHART; g_Project->SetInt("ChartDlg", "Mode", m_DisplayMode); UpdateImage(); UpdateChart(); } else if (pBtn==GTK_WIDGET(m_ShowImage)) { m_DisplayMode = DISPLAY_IMAGE; g_Project->SetInt("ChartDlg", "Mode", m_DisplayMode); UpdateImage(); UpdateChart(); } else if (pBtn==GTK_WIDGET(m_ShowMixed)) { m_DisplayMode = DISPLAY_FULL; g_Project->SetInt("ChartDlg", "Mode", m_DisplayMode); UpdateImage(); UpdateChart(); } else if (pBtn==GTK_WIDGET(m_ZoomIn)) { zoom = cmpack_chart_view_get_zoom(CMPACK_CHART_VIEW(m_Chart)); cmpack_chart_view_set_zoom(CMPACK_CHART_VIEW(m_Chart), zoom + 5.0); } else if (pBtn==GTK_WIDGET(m_ZoomOut)) { zoom = cmpack_chart_view_get_zoom(CMPACK_CHART_VIEW(m_Chart)); cmpack_chart_view_set_zoom(CMPACK_CHART_VIEW(m_Chart), zoom - 5.0); } else if (pBtn==GTK_WIDGET(m_ZoomFit)) { cmpack_chart_view_set_auto_zoom(CMPACK_CHART_VIEW(m_Chart), TRUE); } }
void __fastcall TfrmMain::SaveToESPECClick(TObject *Sender) { if ( SerialPort == NULL ) return; if ( SerialPort->isOpen == false ) return; char WriteBuffer[256] = {0}; char ReadBuffer[256] = {0}; // ----- Чтение базовых параметров профиля -------- SerialPort->WriteBuffer("PRGM DATA WRITE,PGM: 1,EDIT START\r\n"); Sleep(50); SerialPort->ReadBuffer (ReadBuffer); for ( int i = 0; i < 9; i++) { UpdateChart(i); AnsiString s1 = IntToStr(i+1); AnsiString s2 = FloatToStrF(EspecProfile[0][i]->temper, ffFixed, 10,1); AnsiString s3 = ( EspecProfile[0][i]->Ramp == true) ? "ON" : "OFF"; AnsiString s4 = ""; AnsiString s41 = IntToStr(EspecProfile[0][i]->hi); AnsiString s42 = IntToStr(EspecProfile[0][i]->mi); if ( s41.Length() == 1 ) s4 = s4 + "0"; s4 = s4 + s41 + ":"; if ( s42.Length() == 1 ) s4 = s4 + "0"; s4 = s4 + s42; AnsiString s5 = ( EspecProfile[0][i]->Ramp == false) ? "ON" : "OFF"; sprintf(WriteBuffer, "PRGM DATA WRITE,PGM: 1,STEP %s,TEMP%s,TRAMP%s,TIME%s,GRANTY%s,REF9\r\n", s1.c_str(), s2.c_str(), s3.c_str(), s4.c_str(), s5.c_str() ); SerialPort->WriteBuffer(WriteBuffer); Sleep(50); SerialPort->ReadBuffer (ReadBuffer); } SerialPort->WriteBuffer("PRGM DATA WRITE,PGM: 1,END,HOLD\r\n"); Sleep(50); SerialPort->ReadBuffer (ReadBuffer); SerialPort->WriteBuffer("PRGM DATA WRITE,PGM: 1,EDIT END\r\n"); Sleep(50); SerialPort->ReadBuffer (ReadBuffer); UpdateChart(-1); ShowMessage("Program Saved"); //<LF> //PRGM DATA WRITE,PGM: 1,STEP 2,TEMP50.0,TRAMPON,TIME00:25,GRANTYOFF,REF9<LF> //PRGM DATA WRITE,PGM: 1,STEP 3,TEMP50.0,TRAMPOFF,TIME02:00,GRANTYON,REF9<LF> //PRGM DATA WRITE,PGM: 1,STEP 4,TEMP-40.0,TRAMPON,TIME01:30,GRANTYOFF,REF9<LF> //PRGM DATA WRITE,PGM: 1,STEP 5,TEMP-40.0,TRAMPOFF,TIME02:00,GRANTYON,REF9<LF> //PRGM DATA WRITE,PGM: 1,STEP 6,TEMP50.0,TRAMPON,TIME01:30,GRANTYOFF,REF9<LF> //PRGM DATA WRITE,PGM: 1,STEP 7,TEMP50.0,TRAMPOFF,TIME02:00,GRANTYON,REF9<LF> //PRGM DATA WRITE,PGM: 1,STEP 8,TEMP25.0,TRAMPON,TIME00:25,GRANTYOFF,REF9<LF> }
CScopeWindow::CScopeWindow (UG_S16 sPosX0, UG_S16 sPosY0, CRecorder *pRecorder, CScopeConfig *pConfig) : m_pRecorder (pRecorder), m_pConfig (pConfig), m_nChannelEnable (0), m_pTimeLine (0) { assert (m_pRecorder != 0); UG_WindowCreate (&m_Window, m_ObjectList, s_ObjectCount, Callback); UG_WindowSetStyle (&m_Window, WND_STYLE_2D | WND_STYLE_HIDE_TITLE); UG_WindowResize (&m_Window, sPosX0, sPosY0, sPosX0+WIDTH-1, sPosY0+HEIGHT-1); UG_TextboxCreate (&m_Window, &m_Textbox1, TXB_ID_0, 5, 5, 149, 25); UG_TextboxSetFont (&m_Window, TXB_ID_0, &FONT_10X16); UG_TextboxSetText (&m_Window, TXB_ID_0, "TinyScope Pi"); UG_TextboxSetBackColor (&m_Window, TXB_ID_0, C_LIGHT_GRAY); UG_TextboxSetForeColor (&m_Window, TXB_ID_0, C_BLACK); UG_TextboxSetAlignment (&m_Window, TXB_ID_0, ALIGN_CENTER); UG_WindowShow (&m_Window); UG_Update (); UpdateChart (); }
void CChartDlg::DeleteAll() { while(m_Datasel.GetCount() > 0) { m_Datasel.DeleteString(0); } UpdateChart(); }
void CChartDlg::OnEnChangeEdit3() { // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the CDialog::OnInitDialog() // function and call CRichEditCtrl().SetEventMask() // with the ENM_CHANGE flag ORed into the mask. // TODO: Add your control notification handler code here UpdateChart(); }
void __fastcall TfrmMain::ListBox1Click(TObject *Sender) { if ( ListBox1->ItemIndex == -1 ) return; TEspec *es = (TEspec *) ListBox1->Items->Objects[ListBox1->ItemIndex]; rbRamp->Checked = es->Ramp; //rbSoak->Checked = es->Soak; eTempr->Text = FloatToStrF( es->temper, ffFixed, 20, 1 ); eTime->Text = IntToStr( es->hi*60 + es->mi ); UpdateChart(ListBox1->ItemIndex); }
void __fastcall TfrmMain::Button1Click(TObject *Sender) { if ( ListBox1->ItemIndex == -1 ) return; TEspec *es = (TEspec *) ListBox1->Items->Objects[ListBox1->ItemIndex]; es->Ramp = rbRamp->Checked; //es->Soak = rbSoak->Checked; int tt = StrToInt(eTime->Text); es->hi = tt / 60; es->mi = tt - es->hi * 60; es->temper = StrToFloat(eTempr->Text); UpdateChart(-1); }
//--------------------------------------------------------------------------- void __fastcall TfrmMain::bPNewClick(TObject *Sender) { for ( int i = 0; i < 9; i++) { //EspecProfile[0][i]->Soak = true; EspecProfile[0][i]->Ramp = false; EspecProfile[0][i]->hi = 2; EspecProfile[0][i]->mi = 0; EspecProfile[0][i]->temper = 25.0; } ListBox1->Items->Clear(); for ( int i = 0; i < 9; i++) { ListBox1->Items->AddObject(AnsiString("Step ") + IntToStr(i+1), (TObject*)EspecProfile[0][i]); __asm nop; } UpdateChart(-1); }
void __fastcall TfrmMain::cbProfileListChange(TObject *Sender) { if ( cbProfileList->ItemIndex == -1 ) return; TEspec **ep = (TEspec **)cbProfileList->Items->Objects[cbProfileList->ItemIndex]; for ( int i = 0; i < 9; i++) { //EspecProfile[0][i]->Soak = ep[i]->Soak; EspecProfile[0][i]->Ramp = ep[i]->Ramp; EspecProfile[0][i]->hi = ep[i]->hi; EspecProfile[0][i]->mi = ep[i]->mi; EspecProfile[0][i]->temper = ep[i]->temper; } ListBox1->Items->Clear(); for ( int i = 0; i < 9; i++) ListBox1->Items->AddObject("Step " + IntToStr(i+1), (TObject*)EspecProfile[0][i]); UpdateChart(-1); }
void CChartDlg::OnBnClickedAutoupdate() { // TODO: 在此添加控件通知处理程序代码 //auto size the chart int nCount = m_Datasel.GetSelCount(); if(nCount <= 0) return; CArray<int,int> aryListBoxSel; aryListBoxSel.SetSize(nCount); m_Datasel.GetSelItems(nCount, aryListBoxSel.GetData()); int nTotal = nCount; CString sCurr; double new_base=0; while(nCount > 0) { m_Datasel.GetText(nTotal-nCount--,sCurr); new_base += atof(sCurr); } new_base = new_base/nTotal; nCount = nTotal; double new_vary=0; while(nCount > 0) { m_Datasel.GetText(nTotal-nCount--,sCurr); new_vary += (atof(sCurr)-new_base)*(atof(sCurr)-new_base); } new_vary = sqrt(new_vary/nTotal); m_dBase = new_base; m_dVary = new_vary; UpdateData(FALSE); UpdateChart(); }
//--------------------------------------------------------------------------- void __fastcall TfrmMain::LoadFromESPECClick(TObject *Sender) { if ( SerialPort == NULL ) return; if ( SerialPort->isOpen == false ) return; cbProfileList->ItemIndex = -1; bPNewClick(Sender); char WriteBuffer[256] = {0}; char ReadBuffer [256] = {0}; // ----- Чтение базовых параметров профиля -------- SerialPort->WriteBuffer("PRGM DATA?,PGM: 1\r\n"); Sleep(50); SerialPort->ReadBuffer (ReadBuffer); // ----- Расшифровка и вывод на екран ------- sscanf(ReadBuffer, "%d,COUNT(%d.%d.%d),END(HOLD)", &CountProfileStep, &BeginRepeatPos, &EndRepeatPos, &ProfilRepeatCount); Label2->Caption = CountProfileStep; CSpinEdit1->Value = BeginRepeatPos; CSpinEdit2->Value = EndRepeatPos; CSpinEdit3->Value = ProfilRepeatCount; // ----- Чтение информации по каждому из шагов профиля -------- for ( int i = 1; i < CountProfileStep + 1; i++) { sprintf(WriteBuffer, "PRGM DATA?,PGM: 1,STEP %d\r\n\0", i); SerialPort->WriteBuffer(WriteBuffer); Sleep(50); SerialPort->ReadBuffer (ReadBuffer); // ----- Убиваю слово тайм --- int bufflen = strlen(ReadBuffer); for ( int i = 0; i < bufflen - 4; i++) { if ( ReadBuffer[i] == ',' || ReadBuffer[i] == ':') ReadBuffer[i] = ' '; /*if ( ReadBuffer[i] == ',' ) ReadBuffer[i] = ' '; if ( ReadBuffer[i] == 'T' && ReadBuffer[i+1] == 'I' &&ReadBuffer[i+2] == 'M' &&ReadBuffer[i+3] == 'E' ) { ReadBuffer[i+0] = ' '; ReadBuffer[i+1] = ' '; ReadBuffer[i+2] = ' '; ReadBuffer[i+3] = ' '; for ( int k = i; k < bufflen; k++) if ( ReadBuffer[k] == ':' ) ReadBuffer[k] = ' '; } */ } // ----- Расшифровка и вывод на екран ------- char s[64]={0}; char Ramp[4]={0}, Garanty[4]={0}; float Temperature; int hour, min; //sscanf(ReadBuffer, "1 TEMP%f TEMP RAMP %s HUMI OFF %s%s GRANTY %s REF9", &Temperature, Ramp, hour, min, Garanty); sscanf(ReadBuffer, "%s TEMP%f TEMP RAMP %s HUMI OFF TIME%d %d GRANTY %s REF9", s, &Temperature, Ramp, &hour, &min, Garanty); EspecProfile[0][i-1]->Ramp = ( strcmp(Ramp, "ON") == 0 ); //EspecProfile[[0]i-1]->Soak = !EspecProfile[0][i-1]->Ramp; EspecProfile[0][i-1]->temper = Temperature; EspecProfile[0][i-1]->hi = hour; EspecProfile[0][i-1]->mi = min; UpdateChart(-1); Application->ProcessMessages(); } ListBox1->ItemIndex = 0; ListBox1Click(Sender); // ---adds UpdateChart(-1); // ---adds ShowMessage("Program Loaded"); }
void CChartDlg::Execute(const CSelection &sel, int aperIndex) { int res = 0; const gchar *tmp_file; GtkTreePath *refpath; GError *error = NULL; m_Selection = sel; m_Tags = *g_Project->Tags(); cmpack_chart_view_set_model(CMPACK_CHART_VIEW(m_Chart), NULL); cmpack_chart_view_set_image(CMPACK_CHART_VIEW(m_Chart), NULL); if (m_ChartData) { g_object_unref(m_ChartData); m_ChartData = NULL; } if (m_ImageData) { g_object_unref(m_ImageData); m_ImageData = NULL; } m_Phot.Clear(); m_Catalog.Clear(); m_Image.Clear(); m_RefType = g_Project->GetReferenceType(); switch (m_RefType) { case REF_FRAME: // Load reference frame refpath = g_Project->GetReferencePath(); if (refpath) { gchar *pht_file = g_Project->GetPhotFile(refpath); if (pht_file) { GError *error = NULL; if (m_Phot.Load(pht_file, &error)) { m_Phot.SelectAperture(aperIndex); UpdateChart(); gchar *fts_file = g_Project->GetImageFile(refpath); if (fts_file) { if (m_Image.Load(fts_file, CMPACK_BITPIX_AUTO, &error)) UpdateImage(); g_free(fts_file); } } if (error) { ShowError(m_pParent, error->message); g_error_free(error); res = -1; } g_free(pht_file); } gtk_tree_path_free(refpath); } break; case REF_CATALOG_FILE: // Load catalog file tmp_file = g_Project->GetTempCatFile()->FullPath(); if (m_Catalog.Load(tmp_file, &error)) { UpdateChart(); gchar *fts_file = SetFileExtension(tmp_file, FILE_EXTENSION_FITS); if (fts_file) { if (m_Image.Load(fts_file, CMPACK_BITPIX_AUTO, &error)) UpdateImage(); g_free(fts_file); } } if (error) { ShowError(m_pParent, error->message); g_error_free(error); res = -1; } break; default: ShowError(m_pParent, "No reference file."); res = -1; } if (res==0) { gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(m_ShowImage), m_DisplayMode==DISPLAY_IMAGE); gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(m_ShowChart), m_DisplayMode==DISPLAY_CHART); gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(m_ShowMixed), m_DisplayMode==DISPLAY_FULL); gtk_widget_set_sensitive(GTK_WIDGET(m_ShowImage), m_Image.Width()>0 && m_Image.Height()>0); gtk_widget_set_sensitive(GTK_WIDGET(m_ShowMixed), m_Image.Width()>0 && m_Image.Height()>0); gtk_dialog_run(GTK_DIALOG(m_pDlg)); } }
void CChartDlg::OnLbnSelchangeList1() { // TODO: Add your control notification handler code here UpdateChart(); }
void PortsManager::ChangeSelected(int id) { int port = GetPortFromList(id); m_selectedPort = port; UpdateChart(); }
void CMatchingDlg::UpdatePreview(bool force_update) { int frame_id, state; CImage img; GtkTreeIter iter; GtkTreeModel *model; if (m_SelectMode == REFERENCE_FRAME) { // Reference frame GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(m_FrameView)); if (gtk_tree_selection_get_selected(sel, &model, &iter)) { gtk_tree_model_get(model, &iter, FCOL_ID, &frame_id, FCOL_STATE, &state, -1); if (force_update || m_FrameID!=frame_id) { cmpack_chart_view_set_model(CMPACK_CHART_VIEW(m_Preview), NULL); cmpack_chart_view_set_image(CMPACK_CHART_VIEW(m_Preview), NULL); if (m_ChartData) { g_object_unref(m_ChartData); m_ChartData = NULL; } if (m_ImageData) { g_object_unref(m_ImageData); m_ImageData = NULL; } m_FrameID = frame_id; if (m_DMFrame == DISPLAY_CHART && (state & CFILE_PHOTOMETRY)) { gchar *pht_file = g_Project->GetPhotFile(frame_id); CPhot pht; if (pht_file && pht.Load(pht_file)) UpdateChart(pht); g_free(pht_file); } else if (state & CFILE_CONVERSION) { gchar *fts_file = g_Project->GetImageFile(frame_id); if (fts_file && img.Load(fts_file)) UpdateImage(img); g_free(fts_file); } else { gchar *src_file = g_Project->GetSourceFile(frame_id); if (src_file && img.Load(src_file)) UpdateImage(img); g_free(src_file); } } } else { if (force_update || m_FrameID>=0) { m_FrameID = -1; cmpack_chart_view_set_model(CMPACK_CHART_VIEW(m_Preview), NULL); cmpack_chart_view_set_image(CMPACK_CHART_VIEW(m_Preview), NULL); if (m_ChartData) { g_object_unref(m_ChartData); m_ChartData = NULL; } if (m_ImageData) { g_object_unref(m_ImageData); m_ImageData = NULL; } } } } else { // Catalog file GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(m_CatalogView)); if (gtk_tree_selection_get_selected(sel, &model, &iter)) { gchar *fname; gtk_tree_model_get(GTK_TREE_MODEL(m_Catalogs), &iter, CCOL_FILENAME, &fname, -1); gchar *fpath = g_build_filename(gtk_entry_get_text(GTK_ENTRY(m_PathEntry)), fname, NULL); if (force_update || StrCmp0(m_CatFile, fpath)!=0) { g_free(m_CatFile); m_CatFile = g_strdup(fpath); cmpack_chart_view_set_model(CMPACK_CHART_VIEW(m_Preview), NULL); cmpack_chart_view_set_image(CMPACK_CHART_VIEW(m_Preview), NULL); if (m_ChartData) { g_object_unref(m_ChartData); m_ChartData = NULL; } if (m_ImageData) { g_object_unref(m_ImageData); m_ImageData = NULL; } CCatalog cat; if (cat.Load(m_CatFile)) UpdateChart(cat); if (m_DMCatalog == DISPLAY_IMAGE) { gchar *fts_file = SetFileExtension(m_CatFile, FILE_EXTENSION_FITS); if (img.Load(fts_file)) UpdateImage(img); g_free(fts_file); } } g_free(fpath); g_free(fname); } else { if (force_update || m_CatFile) { g_free(m_CatFile); m_CatFile = NULL; g_free(m_SelectionName); m_SelectionName = NULL; cmpack_chart_view_set_model(CMPACK_CHART_VIEW(m_Preview), NULL); cmpack_chart_view_set_image(CMPACK_CHART_VIEW(m_Preview), NULL); if (m_ChartData) { g_object_unref(m_ChartData); m_ChartData = NULL; } if (m_ImageData) { g_object_unref(m_ImageData); m_ImageData = NULL; } } } } }
void PortsManager::Update() { PortSet newPorts = GetNowPorts(); Ports tmp(m_ports.size()+newPorts.size()); PortsIterator end=std::set_difference (m_ports.begin(), m_ports.end(), newPorts.begin(), newPorts.end(), tmp.begin()); for(PortsIterator it = tmp.begin();it!=end;it++) { USHORT port = it->GetPort(); //USHORT netPort = htons(port); m_helper->WriteIo(DEL_PORT, &port, sizeof(port)); m_traces.erase(m_traces.find(UsageTrace(port))); } end=std::set_difference (newPorts.begin(), newPorts.end(), m_ports.begin(), m_ports.end(), tmp.begin()); m_ports = newPorts; for(PortSet::iterator iter = m_ports.begin(); iter!=m_ports.end(); iter++){ UpdatePort(iter); } for(int i = 0; i<m_list->GetItemCount(); i++) { TCHAR szBuffer[1024]; int port = GetPortFromList(i); PortSet::iterator iter = m_ports.find(Port(port, 0)); if(iter!=m_ports.end()) { wsprintf(szBuffer, _T("%ld"), iter->GetUsage()); m_list->SetItem(i, 1, LVIF_TEXT, szBuffer, 0, 0, 0, 0); switch (iter->GetState()) { case MIB_TCP_STATE_CLOSED: wsprintf(szBuffer, _T("CLOSED")); break; case MIB_TCP_STATE_LISTEN: wsprintf(szBuffer, _T("LISTEN")); break; case MIB_TCP_STATE_SYN_SENT: wsprintf(szBuffer, _T("SYN-SENT")); break; case MIB_TCP_STATE_SYN_RCVD: wsprintf(szBuffer, _T("SYN-RECEIVED")); break; case MIB_TCP_STATE_ESTAB: wsprintf(szBuffer, _T("ESTABLISHED")); break; case MIB_TCP_STATE_FIN_WAIT1: wsprintf(szBuffer, _T("FIN-WAIT-1")); break; case MIB_TCP_STATE_FIN_WAIT2: wsprintf(szBuffer, _T("FIN-WAIT-2")); break; case MIB_TCP_STATE_CLOSE_WAIT: wsprintf(szBuffer, _T("CLOSE-WAIT")); break; case MIB_TCP_STATE_CLOSING: wsprintf(szBuffer, _T("CLOSING")); break; case MIB_TCP_STATE_LAST_ACK: wsprintf(szBuffer, _T("LAST-ACK")); break; case MIB_TCP_STATE_TIME_WAIT: wsprintf(szBuffer, _T("TIME-WAIT")); break; case MIB_TCP_STATE_DELETE_TCB: wsprintf(szBuffer, _T("DELETE-TCB")); break; default: wsprintf(szBuffer, _T("UNKNOWN")); break; } m_list->SetItem(i, 2, LVIF_TEXT, szBuffer, 0, 0, 0, 0); } else { m_list->DeleteItem(i); i--; } } for(PortsIterator it = tmp.begin();it!=end;it++) { int i = m_list->GetItemCount(); TCHAR szBuffer[1024]; unsigned short port = ntohs(it->GetPort()); wsprintf(szBuffer, _T("%u"), port); m_list->InsertItem(i, szBuffer); wsprintf(szBuffer, _T("%ld"), it->GetUsage()); m_list->SetItem(i, 1, LVIF_TEXT, szBuffer, 0, 0, 0, 0); switch (it->GetState()) { case MIB_TCP_STATE_CLOSED: wsprintf(szBuffer, _T("CLOSED")); break; case MIB_TCP_STATE_LISTEN: wsprintf(szBuffer, _T("LISTEN")); break; case MIB_TCP_STATE_SYN_SENT: wsprintf(szBuffer, _T("SYN-SENT")); break; case MIB_TCP_STATE_SYN_RCVD: wsprintf(szBuffer, _T("SYN-RECEIVED")); break; case MIB_TCP_STATE_ESTAB: wsprintf(szBuffer, _T("ESTABLISHED")); break; case MIB_TCP_STATE_FIN_WAIT1: wsprintf(szBuffer, _T("FIN-WAIT-1")); break; case MIB_TCP_STATE_FIN_WAIT2: wsprintf(szBuffer, _T("FIN-WAIT-2")); break; case MIB_TCP_STATE_CLOSE_WAIT: wsprintf(szBuffer, _T("CLOSE-WAIT")); break; case MIB_TCP_STATE_CLOSING: wsprintf(szBuffer, _T("CLOSING")); break; case MIB_TCP_STATE_LAST_ACK: wsprintf(szBuffer, _T("LAST-ACK")); break; case MIB_TCP_STATE_TIME_WAIT: wsprintf(szBuffer, _T("TIME-WAIT")); break; case MIB_TCP_STATE_DELETE_TCB: wsprintf(szBuffer, _T("DELETE-TCB")); break; default: wsprintf(szBuffer, _T("UNKNOWN")); break; } m_list->SetItem(i, 2, LVIF_TEXT, szBuffer, 0, 0, 0, 0); } UpdateChart(); m_helper->ReadIo(GET_TOTAL, &m_totalPacket, sizeof(ULONG)); }
void CChartDlg::AddData(CString newValue) { m_Datasel.InsertString(0,newValue); m_Datasel.SetSel(0); UpdateChart(); }