Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Профессиональное программирование


Информационный Канал Subscribe.Ru

В начало Клуб программистов Весельчак У Связаться со мной
a

Доброго выремени суток, уважаемые подписчики!

 

Новости

В клубе происходит переосмысление работы в виде статей, выпусков, ЧАВО и других разделов. В результате этого у нас рождается новый клуб, по крайней мере некая новая концепция, которая переведет нас на более профессиональные рельсы. Текущее состояние явно нас не устраивает. В качестве первого пробного шара идет рассмотрение нового форума, который войдет в строй в самое ближайшее будущее, а пока его настройки тестируются здесь: http://shelek.com/ipb2/

 

Статьи

Сегодня выложены две новые статьи.

Урок 12 VB. Множественный выбор.

Автор: Dusk & Never

Предисловие.



В данный момент Never не может регулярно выпускать уроки по VB. Я продолжу их выпуск, но немного изменю структуру самих уроков. Урок будет состоять из 3-х частей:
1) Теория по языку (операторы, алгоритмы);
2) Приложение в котором будут постепенно описываться стандартные компоненты VB;
3) Задания. И еще, не забывайте задавать свои вопросы на форуме – обязательно отвечу, разъясню более подробно непонятные моменты.

Теория.



В 10-м уроке Невы рассматривались конструкции ветвления (оператор If). Бывают случаи, когда в зависимости от значения переменной, надо выполнить определенные действия. С помощью оператора If, это выглядит примерно так:

If x=0 Then
MsgBox “x = 0”
Else If x<0 Then
MsgBox “x < 0”
Else If x > 0 Then
MsgBox “x > 0”
End If
End If
End If

Но такая запись является очень громоздкой, и при большом количестве условий и выполняемого кода, трудно читаемым… Даю гарантию, что через полгода, после написания кода с такой конструкции, даже программист, написавший программу, при необходимости внесения изменения в код, потратит немало времени и сил на разбор такой конструкции…

В Visual Baisic, как и в других языках высокого уровня, предусмотрена конструкция Select Case, которая позволяет выполнить одну из нескольких групп операторов в зависимости от значения условия, т.е. как раз для описанного выше случая.
Инструкция Select Case имеет следующий вид:

Select Case {Проверочное значение}
Case {Значение 1}
{Операторы 1}
Case {Значение 2}
{Операторы 2}
Case Else
{Операторы 3}
End Select
</code>
В качестве значения для блока Case можно указывать не только одно значение (1), но и несколько, разделенных запятой (2,3). Можно определять также области сравнения (4 to 6) или воспользоваться относительным сравнением (is>=9). Вместо непосредственного проверочного значения можно использовать ключевое слово is.

Наш предыдущий пример будет выглядеть так:

Select Case x
Case 0
MsgBox “x = 0”
Case is < 0
MsgBox “x < 0”
Case is > 0
MsgBox “x > 0”
End Select

Блок Case Else выполняется, если ни одно из предыдущих условий не является истинным.

Если условию Select Case соответствует несколько блоков Case, выполняется первый из них. Пример:

Select Case x
Case 0
MsgBox “x = 0”
Case -50 to 50
MsgBox “x между -50 и 50, кроме 0”
End Select

Во втором блоке Case обрабатывается значение от -50 до 50, однако значение 0 перехватывается первым блоком Case. Поэтому операторы второго блока Case будут выполняться, если x будет больше или равно -50 и меньше 0, а также больше 0 и меньше или равно 50.

Совет: операторы в блоках Case оформлять в виде процедур, вызываемых в данном блоке.

Полностью статья: http://club.shelek.com/viewart.php?id=207

Менеджер com-порта

Автор: Alexey1153

В этой статье описан класс CComPortManager, который позволяет выполнять операции записи/чтения с com-портом (по стандартному протоколуRS-232).
(В примерах использована среда VC++6.0. Буду описывать действия подробно :) )
Ниже описано, как встроить класс в новый проект test.

Итак, создаём "пустой" проект test (dialog-based):
1) Нажимаем Ctrl+N. Во вкладке Projects выбираем MFC AppWizard (exe). В окошке Location указываем путь, где будет создан проект. В окошке Project name пишем имя проекта - test. Нажимаем OK.
2) Выбираем тип проекта - Dialog based. Давим кнопку Finish, затем OK.
3) Сохраняем проект (кнопка SaveAll на тулбаре)

Теперь мы станем ;) добавлять наш класс CComPortManager в проект. Почему станем? Потому, что просто слово "добавим" не подходит.

Делаем заготовку для нашего класса.
1) Добавляем к ресурсам новый диалог. В окне Workspace во вкладке ResourceView добираемся до папки ресурсов "Dialog". Правой кнопкой мыши (RMB) щёлкаем по папке - и выбираем InsertDialog. Новый диалог сразу откроется в редакторе ресурсов. Щелкаем по этому диалогу левой кнопкой (LMB) , тем самым выделив его, затем Alt+Enter - откроется окно свойств. Выберите вкладку General. В окошке ID напишите идентификатор IDD_dlgCPM_SETDIALOG.
2) Добавляем к проекту класс с именем CComPortManager. В окне Workspace во вкладке ClassView щёлкаем RMB по корню дерева списка классов. Выбираем NewClass. В списке Class type выбираем MFC Class, задаём имя класса CComPortManager, выбираем базовый класс - CDialog, выбираем ID диалога - IDD_dlgCPM_SETDIALOG. Нажимаем OK.
3) Сохраняем проект.

Закрываем среду VC++6.0. Теперь открываем папку проекта и находим там файлы, которые надо будет подправить -
CComPortManager.h
CComPortManager.cpp
test.rc
Resource.h

В блокноте открываем файл CComPortManager.h. В этом файле находим описание класса:

Полностью статья: http://club.shelek.com/viewart.php?id=208

 

Книги

 

Сегодня я дублирую сознательно одну книжку, она у нас была в виде HTML архива, а теперь появилась в виде CHM фрматированного файла - естественно стало гораздо удобнее.

Ловите: Д.Рихтер Windows - для профессионалов - язык русский, размер 3 Мб

 

На этом сегодня все - удачи.

 

С уважением, Гром.


http://subscribe.ru/
http://subscribe.ru/feedback/
Адрес подписки
Отписаться

В избранное