Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 июня!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Давно заметил, что всё-таки языки С/C++ это не самый лучший вариант программирования под Windows. Сейчас появилась масса более современных и удобных языков, например тот же Python - кроссплатформенный язык, очень легок в изучение. Я его изучил буквально за несколько дней по этому курсу - ссылка. Автор постарался, там видеоуроки на удивление легкие и понятные.

Visual C++.NET
Урок 28. Удаление элементов из середины списка

На уроке

Вариант из примера прошлого урока:

void CtestmfcDoc::OnListDeleteitem()
 
 {
 
   // TODO: Add your command handler code here
 
   CDeleteDlg d;
 
   d.DoModal();
 
 
 
   //Новый вариант.
 
   CMyClass *p;
 
   POSITION pos = m_list.GetHeadPosition();
 
   while(pos!=NULL)
 
   {
 
     //Берем очередной элемент.
 
     p = (CMyClass *)m_list.GetNext(pos);
 
     //Если нашли.
 
     if(p->m_Data1==d.m_Data1){
 
       m_list.RemoveAt(pos);
 
     }
 
   }
 
 }

Улучшенный вариант:

CShortcut * CUserShortcuts::DeleteShortcut(CString sName)
 
 {
 
   CShortcut * res = NULL; //результат.
 
   if(m_listShortcut.IsEmpty()){
 
     return res;
 
   }
 
   POSITION pos = m_listShortcut.GetHeadPosition();
 
   while(pos!=NULL){
 
     res = (CShortcut *)m_listShortcut.GetAt(pos);
 
     //Если нашли.
 
     if(res->GetName()==sName){
 
       //То удаляем из списка.
 
       m_listShortcut.RemoveAt(pos);
 
       //И возвращаем удаленный узел.
 
       return res;
 
     }
 
     //Берем очередной узел.
 
     m_listShortcut.GetNext(pos);
 
   };
 
   return NULL;
 
 }


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS