afx_msg void CRetrConfigDlg::OnDel() { CCellID SelectedCell; CWordArray arGrigIndexes; for(int m = 1; m < m_Grid.GetRowCount(); m++) { SelectedCell.row=m; SelectedCell.col=0; BOOL bRowSelected = FALSE; for(int s = 1; s < m_Grid.GetColumnCount(); s++) { if(m_Grid.GetItemState(SelectedCell.row,s) & GVIS_SELECTED) { bRowSelected=TRUE; break; } } if(bRowSelected) { arGrigIndexes.Add(SelectedCell.row); } } for(int j = 0; j < arGrigIndexes.GetSize();j++) { m_Grid.DeleteRow(arGrigIndexes[j]); m_Retr.m_ManyRetrArray.RemoveAt(arGrigIndexes[j]-1); for(int v = j+1; v < arGrigIndexes.GetSize();v++) { arGrigIndexes[v]--; } } SaveGrid(); UpdateGrid(); }
afx_msg void CKorundmDlg::OnDel() { if(m_GridData.GetRowCount()==1) return; ProcessSave(); /* CCellID pCell = m_GridData.GetFocusCell(); if((pCell.row > 0)&&(pCell.col >= 0)) { m_Korundm.m_IndividualStructureKorundArray.RemoveAt(pCell.row-1); UpdateDataGrid(); UpdateKPGrid(); }*/ CCellID SelectedCell; CWordArray arGrigIndexes; for(int m = 1; m < m_GridData.GetRowCount(); m++) { SelectedCell.row=m; SelectedCell.col=0; BOOL bRowSelected = FALSE; for(int s = 1; s < m_GridData.GetColumnCount(); s++) { if(m_GridData.GetItemState(SelectedCell.row,s) & GVIS_SELECTED) { bRowSelected=TRUE; break; } } if(bRowSelected) { arGrigIndexes.Add(SelectedCell.row); } } for(int j = 0; j < arGrigIndexes.GetSize();j++) { m_GridData.DeleteRow(arGrigIndexes[j]); m_Korundm.m_IndividualStructureKorundArray.RemoveAt(arGrigIndexes[j]-1); for(int v = j+1; v < arGrigIndexes.GetSize();v++) { arGrigIndexes[v]--; } } if(arGrigIndexes.GetSize()>0) { UpdateDataGrid(); //UpdateKPGrid(); } }
//*************************************************************************************** BOOL CBCGPXMLSettings::Write (LPCTSTR pszKey, CWordArray& wcArray) { if (m_bReadOnly) { ASSERT (FALSE); return FALSE; } BOOL bRes = FALSE; try { CMemFile file; { CArchive ar (&file, CArchive::store); ar << (int)wcArray.GetSize (); for (int i = 0; i < wcArray.GetSize (); i ++) { ar << wcArray [i]; } ar.Flush (); } #if _MSC_VER >= 1300 ULONGLONG dwDataSize = file.GetLength (); #else DWORD dwDataSize = file.GetLength (); #endif LPBYTE lpbData = file.Detach (); if (lpbData == NULL) { return FALSE; } bRes = Write (pszKey, lpbData, (UINT) dwDataSize); free (lpbData); } catch (CMemoryException* pEx) { pEx->Delete (); TRACE(_T("Memory exception in CBCGPXMLSettings::Write ()!\n")); return FALSE; } return bRes; }
void CZipArchive::DeleteFiles(CWordArray &aIndexes) { if (IsClosed()) { TRACE(_T("ZipArchive is closed.\n")); return; } if (m_storage.IsSpanMode()) { TRACE(_T("You cannot delete files from the disk spannig archive.\n")); return; } if (m_iFileOpened) { TRACE(_T("You cannot delete files if there is a file opened.\n")); return; } // sorting the index table using qsort int uSize = aIndexes.GetSize(); if (!uSize) return; qsort((void*)&aIndexes[0], uSize, sizeof(WORD), CompareWords); m_centralDir.RemoveFromDisk(); m_info.Init(); // remove in a reverse order for (int i = uSize - 1; i >= 0; i--) DeleteInternal(aIndexes[i]); m_info.m_pBuffer.Release(); }
BOOL CPPgGeneral::OnInitDialog() { CPropertyPage::OnInitDialog(); InitWindowStyles(this); ((CEdit*)GetDlgItem(IDC_NICK))->SetLimitText(thePrefs.GetMaxUserNickLength()); CWordArray aLanguageIDs; thePrefs.GetLanguages(aLanguageIDs); for (int i = 0; i < aLanguageIDs.GetSize(); i++){ TCHAR szLang[128]; int ret=GetLocaleInfo(aLanguageIDs[i], LOCALE_SLANGUAGE, szLang, ARRSIZE(szLang)); if (ret==0) switch(aLanguageIDs[i]) { case LANGID_UG_CN: _tcscpy(szLang,_T("Uyghur") ); break; case LANGID_GL_ES: _tcscpy(szLang,_T("Galician") ); break; case LANGID_FR_BR: _tcscpy(szLang,_T("Breton (Brezhoneg)") ); break; case LANGID_MT_MT: _tcscpy(szLang,_T("Maltese") ); break; case LANGID_ES_AS: _tcscpy(szLang,_T("Asturian") ); break; case LANGID_VA_ES: _tcscpy(szLang,_T("Valencian") ); break; case LANGID_VA_ES_RACV: _tcscpy(szLang, _T("Valencian (RACV)")); break; default: ASSERT(0); _tcscpy(szLang,_T("?(unknown language)?") ); } m_language.SetItemData(m_language.AddString(szLang), aLanguageIDs[i]); } UpdateEd2kLinkFixCtrl(); CSliderCtrl *sliderUpdate = (CSliderCtrl*)GetDlgItem(IDC_CHECKDAYS); sliderUpdate->SetRange(2, 7, true); sliderUpdate->SetPos(thePrefs.GetUpdateDays()); LoadSettings(); Localize(); GetDlgItem(IDC_CHECKDAYS)->ShowWindow( IsDlgButtonChecked(IDC_CHECK4UPDATE) ? SW_SHOW : SW_HIDE ); GetDlgItem(IDC_DAYS)->ShowWindow( IsDlgButtonChecked(IDC_CHECK4UPDATE) ? SW_SHOW : SW_HIDE ); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
afx_msg void CTuConfigTUDlg::OnDel() { CCellID SelectedCell; CWordArray arGrigIndexes; for(int m = 1; m < m_Grid.GetRowCount(); m++) { SelectedCell.row=m; SelectedCell.col=0; BOOL bRowSelected = FALSE; for(int s = 1; s < m_Grid.GetColumnCount(); s++) { if(m_Grid.GetItemState(SelectedCell.row,s) & GVIS_SELECTED) { bRowSelected=TRUE; break; } } if(bRowSelected) { arGrigIndexes.Add(SelectedCell.row); } } for(int j = 0; j < arGrigIndexes.GetSize();j++) { m_Grid.DeleteRow(arGrigIndexes[j]); m_TuArray.RemoveAt(arGrigIndexes[j]-1); for(int v = j+1; v < arGrigIndexes.GetSize();v++) { arGrigIndexes[v]--; } } /*CCellID pCell = m_Grid.GetFocusCell(); if((pCell.row > 0)&&(pCell.col >= 0)) { m_TuArray.RemoveAt(pCell.row-1); }*/ SaveGrid(); UpdateGrid(); }
void CCopyBlock::BuildBlockList(char* ModelClass, CSVector& List, CWordArray& FlagList, int& DefaultIndex) { DefaultIndex = -1; Strng s,Block; s.Set("(%s)", ModelClass); List.SetSize(16); FlagList.SetSize(16); int Cnt = 0; char Buff[16384]; char Buff1[16]; for (int i=0; i<2; i++) { CProfINIFile PF(i==0 ? CfgFiles() : PrjFiles(), (char*)CopyBlkFileName); CheckCopyBlockVer(PF); DWORD dw = PF.RdSectionNames(Buff, sizeof(Buff)); ASSERT(dw<sizeof(Buff)-2); //section too large!!! char* p = Buff; while (p[0]) { int len = strlen(p); char* Nextp = p; Nextp += (len + 1); char* pp = strstr(p, s()); if (pp) { if (PF.RdSection(p, Buff1, sizeof(Buff1))>0) { Block = p; Block.SetLength((int)(pp-p)); if (i==0 || List.Find(Block())<0) { if (Cnt>=List.GetSize()) { List.SetSize(List.GetSize()+8); FlagList.SetSize(FlagList.GetSize()+8); } List[Cnt] = Block; FlagList[Cnt] = (i==0 ? 1 : 0); Cnt++; } } } p = Nextp; } } List.SetSize(Cnt); FlagList.SetSize(Cnt); }
BOOL CPPgGeneral::OnInitDialog() { CPropertyPage::OnInitDialog(); InitWindowStyles(this); ((CEdit*)GetDlgItem(IDC_NICK))->SetLimitText(thePrefs.GetMaxUserNickLength()); CWordArray aLanguageIDs; thePrefs.GetLanguages(aLanguageIDs); for (int i = 0; i < aLanguageIDs.GetSize(); i++){ TCHAR szLang[128]; int ret=GetLocaleInfo(aLanguageIDs[i], LOCALE_SLANGUAGE, szLang, ARRSIZE(szLang)); if (ret==0 && aLanguageIDs[i]== LANGID_GL_ES ) _tcscpy(szLang,_T("Galician") ); else if (ret==0 && aLanguageIDs[i]==LANGID_FR_BR ) _tcscpy(szLang,_T("Breton (Brezhoneg)") ); else if (ret==0 && aLanguageIDs[i]==LANGID_MT_MT ) _tcscpy(szLang,_T("Maltese") ); else if (ret==0 && aLanguageIDs[i]==LANGID_ES_AS ) _tcscpy(szLang,_T("Asturian") ); if (!_tcscmp(szLang, _T("中文(台湾)"))) //Added by thilon on 2006.09.06 _tcscpy(szLang, _T("中文(繁体)")); if (!_tcscmp(szLang, _T("中文(中国)"))) //Added by thilon on 2006.09.06 _tcscpy(szLang, _T("中文(简体)")); if (!_tcscmp(szLang, _T("Chinese (Taiwan)"))) _tcscpy(szLang, _T("Chinese (Tradition)")); if (!_tcscmp(szLang, _T("Chinese (PRC)"))) _tcscpy(szLang, _T("Chinese (Simplified)")); m_language.SetItemData(m_language.AddString(szLang), aLanguageIDs[i]); } //Chocobo Start //eMule自动更新,modified by Chocobo on 2006.08.01 //屏蔽修改更新间隔 CSliderCtrl *sliderUpdate = (CSliderCtrl*)GetDlgItem(IDC_CHECKDAYS); sliderUpdate->SetRange(1, 7, true);//自动更新时间1-7,modified by Chocobo on 2006.08.17 sliderUpdate->SetPos(thePrefs.GetUpdateDays()); //Chocobo End //Changed by thilon on 2007.11.01 m_iFileBufferSize = thePrefs.m_iFileBufferSize; // added by vc-yavey on 20100429 : config rss <begin> m_uRssIntervalSecond = thePrefs.m_uRssUpdateInterval; m_bRssAutoDownload = thePrefs.m_bRssAutoDownload; // added by vc-yavey on 20100429 : config rss <end> LoadSettings(); //Localize(); GetDlgItem(IDC_CHECKDAYS)->ShowWindow( IsDlgButtonChecked(IDC_CHECK4UPDATE) ? SW_SHOW : SW_HIDE ); GetDlgItem(IDC_DAYS)->ShowWindow( IsDlgButtonChecked(IDC_CHECK4UPDATE) ? SW_SHOW : SW_HIDE ); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
BOOL CRetrConfigDlg::SaveGrid(void) { CString str; CManyRetrArray ManyRetrArray; for(int i = 1; i < m_Grid.GetRowCount();i++) { ManyRetr tmp; str = m_Grid.GetItemText(i,1); tmp.START_ADRES_OBJECT = atoi(str); str = m_Grid.GetItemText(i,2); tmp.START_ADRES_RETR = atoi(str); str = m_Grid.GetItemText(i,3); tmp.NUM_MANY_RETR_OBJECT = atoi(str); if(tmp.NUM_MANY_RETR_OBJECT == 0) { str.Format("Не задано количество объектов ретрансяляции! Строка: %d",i); m_Grid.SetFocusCell(i,3); AfxMessageBox(str); return FALSE; } str = m_Grid.GetItemText(i,4); if(str.IsEmpty()) { str.Format("Не задан процесс ретрансяляции! Строка: %d",i); m_Grid.SetFocusCell(i,4); AfxMessageBox(str); return FALSE; } str.TrimLeft('№'); int index = str.Find(' '); str = str.Left(index); tmp.PATH_DIRECT = atoi(str); tmp.FLAG_RETR = 5; tmp.strCOMMENT = m_Grid.GetItemText(i,5); ManyRetrArray.Add(tmp); } for(int j = 0; j < ManyRetrArray.GetSize(); j++) { if((ManyRetrArray[j].START_ADRES_OBJECT+ManyRetrArray[j].NUM_MANY_RETR_OBJECT > m_Retr.NUM_RETR_OBJECT) ||(ManyRetrArray[j].START_ADRES_RETR+ManyRetrArray[j].NUM_MANY_RETR_OBJECT > m_Retr.NUM_RETR_OBJECT)) { str.Format("Выход за пределы адресного пространства ретрансляции! Строка: %d",j+1); AfxMessageBox(str); //return FALSE; } //Уточнить у Виталика!!!! if(ManyRetrArray[j].START_ADRES_RETR+ManyRetrArray[j].NUM_MANY_RETR_OBJECT > m_Main_Set.m_ProcessInfoArray[ManyRetrArray[j].PATH_DIRECT-1].AMOUNT_SIGNIFICATE) { str.Format("Выход за пределы адресного пространства процесса! Строка: %d",j+1); AfxMessageBox(str); //return FALSE; } for(int k = j+1; k < ManyRetrArray.GetSize(); k++) { if((ManyRetrArray[j].NUM_MANY_RETR_OBJECT == ManyRetrArray[k].NUM_MANY_RETR_OBJECT) &&(ManyRetrArray[j].PATH_DIRECT == ManyRetrArray[k].PATH_DIRECT) &&(ManyRetrArray[j].START_ADRES_OBJECT == ManyRetrArray[k].START_ADRES_OBJECT) &&(ManyRetrArray[j].START_ADRES_RETR == ManyRetrArray[k].START_ADRES_RETR)) { str.Format("Одинаковые наборы ретрансляции: %d и %d !",j+1,k+1); AfxMessageBox(str); return FALSE; } if(ManyRetrArray[j].PATH_DIRECT == ManyRetrArray[k].PATH_DIRECT)//proverka na naloghenie { //Газин сказал не надо проверять!!! /*//k=15..25 j=10..20 if((ManyRetrArray[k].START_ADRES_OBJECT >= ManyRetrArray[j].START_ADRES_RETR) &&(ManyRetrArray[k].START_ADRES_OBJECT <= ManyRetrArray[j].START_ADRES_OBJECT+ManyRetrArray[j].NUM_MANY_RETR_OBJECT)) { str.Format("Наложение адресов в карте памяти для наборов ретрансляции: %d и %d !",j+1,k+1); AfxMessageBox(str); return FALSE; } //k=1..25 j=10..20 if((ManyRetrArray[k].START_ADRES_OBJECT <= ManyRetrArray[j].START_ADRES_OBJECT) &&(ManyRetrArray[k].START_ADRES_OBJECT+ManyRetrArray[k].NUM_MANY_RETR_OBJECT >= ManyRetrArray[j].START_ADRES_OBJECT+ManyRetrArray[j].NUM_MANY_RETR_OBJECT)) { str.Format("Наложение адресов в карте памяти для наборов ретрансляции: %d и %d !",j+1,k+1); AfxMessageBox(str); return FALSE; } //k=1..15 j=10..20 if((ManyRetrArray[k].START_ADRES_OBJECT+ManyRetrArray[k].NUM_MANY_RETR_OBJECT >= ManyRetrArray[j].START_ADRES_OBJECT) &&(ManyRetrArray[k].START_ADRES_OBJECT+ManyRetrArray[k].NUM_MANY_RETR_OBJECT <= ManyRetrArray[j].START_ADRES_OBJECT+ManyRetrArray[j].NUM_MANY_RETR_OBJECT)) { str.Format("Наложение адресов в карте памяти для наборов ретрансляции: %d и %d !",j+1,k+1); AfxMessageBox(str); return FALSE; }*/ ////////////////////////////////////////////////////////////////////////////////////////////////// //k=15..25 j=10..20 if((ManyRetrArray[k].START_ADRES_RETR >= ManyRetrArray[j].START_ADRES_RETR) &&(ManyRetrArray[k].START_ADRES_RETR < ManyRetrArray[j].START_ADRES_RETR+ManyRetrArray[j].NUM_MANY_RETR_OBJECT)) { str.Format("Наложение адресов ретрансляции для наборов ретрансляции: %d и %d !",j+1,k+1); AfxMessageBox(str); return FALSE; } //k=1..25 j=10..20 if((ManyRetrArray[k].START_ADRES_RETR <= ManyRetrArray[j].START_ADRES_RETR) &&(ManyRetrArray[k].START_ADRES_RETR+ManyRetrArray[k].NUM_MANY_RETR_OBJECT >= ManyRetrArray[j].START_ADRES_RETR+ManyRetrArray[j].NUM_MANY_RETR_OBJECT)) { str.Format("Наложение адресов ретрансляции для наборов ретрансляции: %d и %d !",j+1,k+1); AfxMessageBox(str); return FALSE; } //k=1..15 j=10..20 if((ManyRetrArray[k].START_ADRES_RETR >= ManyRetrArray[j].START_ADRES_RETR) &&(ManyRetrArray[k].START_ADRES_RETR+ManyRetrArray[k].NUM_MANY_RETR_OBJECT >= ManyRetrArray[j].START_ADRES_RETR) &&(ManyRetrArray[k].START_ADRES_RETR+ManyRetrArray[k].NUM_MANY_RETR_OBJECT <= ManyRetrArray[j].START_ADRES_RETR+ManyRetrArray[j].NUM_MANY_RETR_OBJECT)) { str.Format("Наложение адресов ретрансляции для наборов ретрансляции: %d и %d !",j+1,k+1); AfxMessageBox(str); return FALSE; } } } } CWordArray arrPD; for(int j = 0; j < ManyRetrArray.GetSize(); j++) { BOOL bFound = FALSE; for(int l = 0; l < arrPD.GetSize(); l++) { if(arrPD[l] == (WORD)ManyRetrArray[j].PATH_DIRECT) { ManyRetrArray[j].PLACE_OF_PUT = l; bFound = TRUE; break; } } if(!bFound) { ManyRetrArray[j].PLACE_OF_PUT = arrPD.Add((WORD)ManyRetrArray[j].PATH_DIRECT); } } m_Retr.NUM_TRANSMIT_DIRECT = arrPD.GetSize(); m_Retr.m_ManyRetrArray.RemoveAll(); m_Retr.m_ManyRetrArray.Copy(ManyRetrArray); return TRUE; }
void CRetrConfigDlg::UpdateGrid(void) { CString str; CStringArray aOptions; CWordArray aProcesses; for(int j = 0; j < m_Main_Set.m_ProcessInfoArray.GetSize();j++) { if(m_Main_Set.m_ProcessInfoArray[j].TYPE_PROTOKOL == 2) { str.Format("№%d (MODBUS-slave)",j+1); aProcesses.Add(j+1); aOptions.Add(str); } if(m_Main_Set.m_ProcessInfoArray[j].TYPE_PROTOKOL == 4) { str.Format("№%d (IEC870-5-101-slave)",j+1); aOptions.Add(str); aProcesses.Add(j+1); } if(m_Main_Set.m_ProcessInfoArray[j].TYPE_PROTOKOL == 8) { str.Format("№%d (IEC870-5-104-slave PtP)",j+1); aOptions.Add(str); aProcesses.Add(j+1); } if(m_Main_Set.m_ProcessInfoArray[j].TYPE_PROTOKOL == 14) { str.Format("№%d (IEC870-5-104-slave PtMP)",j+1); aOptions.Add(str); aProcesses.Add(j+1); } if(m_Main_Set.m_ProcessInfoArray[j].TYPE_PROTOKOL == 18) { str.Format("№%d (Вывод на ДЩ)",j+1); aOptions.Add(str); aProcesses.Add(j+1); } } m_Grid.DeleteNonFixedRows(); for(int i = 0; i < m_Retr.m_ManyRetrArray.GetSize();i++) { int nIndex = m_Grid.InsertRow(NULL); str.Format("%d",i+1); m_Grid.SetItemText(nIndex,0,str); str.Format("%d",m_Retr.m_ManyRetrArray[i].START_ADRES_OBJECT); m_Grid.SetItemText(nIndex,1,str); str.Format("%d",m_Retr.m_ManyRetrArray[i].START_ADRES_RETR); m_Grid.SetItemText(nIndex,2,str); str.Format("%d",m_Retr.m_ManyRetrArray[i].NUM_MANY_RETR_OBJECT); m_Grid.SetItemText(nIndex,3,str); m_Grid.SetCellType(nIndex,4, RUNTIME_CLASS(CGridCellCombo)); CGridCellCombo *pCell = (CGridCellCombo*) m_Grid.GetCell(nIndex,4); pCell->SetOptions(aOptions); pCell->SetStyle(CBS_DROPDOWNLIST); //CBS_DROPDOWN, CBS_DROPDOWNLIST, CBS_SIMPLE for(int k = 0; k < aProcesses.GetSize(); k++) { if(aProcesses[k] == m_Retr.m_ManyRetrArray[i].PATH_DIRECT) { pCell->SetCurSel(k); break; } } m_Grid.SetItemText(nIndex,5,m_Retr.m_ManyRetrArray[i].strCOMMENT); } m_Grid.AutoSize(); m_Grid.Refresh(); }
BOOL CPPgGeneral::OnInitDialog() { CPropertyPage::OnInitDialog(); InitWindowStyles(this); // eF-Mod :: InvisibleMode // Add keys to ComboBox for(int i='A'; i<='Z'; i++) ((CComboBox*)GetDlgItem(IDC_INVISIBLE_MODE_SELECT_COMBO))->AddString(CString((TCHAR)(i))); for(int i='0'; i<='9'; i++) ((CComboBox*)GetDlgItem(IDC_INVISIBLE_MODE_SELECT_COMBO))->AddString(CString((TCHAR)(i))); // eF-Mod end ((CEdit*)GetDlgItem(IDC_NICK))->SetLimitText(thePrefs.GetMaxUserNickLength()); CWordArray aLanguageIDs; thePrefs.GetLanguages(aLanguageIDs); for (int i = 0; i < aLanguageIDs.GetSize(); i++){ TCHAR szLang[128]; int ret=GetLocaleInfo(aLanguageIDs[i], LOCALE_SLANGUAGE, szLang, ARRSIZE(szLang)); if (ret==0 && aLanguageIDs[i]== LANGID_GL_ES ) _tcscpy(szLang,_T("Galician") ); else if (ret==0 && aLanguageIDs[i]==LANGID_FR_BR ) _tcscpy(szLang,_T("Breton (Brezhoneg)") ); m_language.SetItemData(m_language.AddString(szLang), aLanguageIDs[i]); } UpdateEd2kLinkFixCtrl(); GetDlgItem(IDC_ONLINESIG)->ShowWindow( thePrefs.IsExtControlsEnabled()?SW_SHOW:SW_HIDE ); CSliderCtrl *sliderUpdate = (CSliderCtrl*)GetDlgItem(IDC_CHECKDAYS); sliderUpdate->SetRange(2, 7, true); sliderUpdate->SetPos(thePrefs.GetUpdateDays()); LoadSettings(); Localize(); GetDlgItem(IDC_CHECKDAYS)->ShowWindow( IsDlgButtonChecked(IDC_CHECK4UPDATE) ? SW_SHOW : SW_HIDE ); GetDlgItem(IDC_DAYS)->ShowWindow( IsDlgButtonChecked(IDC_CHECK4UPDATE) ? SW_SHOW : SW_HIDE ); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }