АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Прием и передача сообщений Windows. Формат сообщения Windows. Цикл обработки сообщений

Читайте также:
  1. I. ВВЕДЕНИЕ В ИНФОРМАТИКУ
  2. I. Передача профессии из поколения в поколение
  3. II. ОСНОВНОЕ ПОНЯТИЕ ИНФОРМАТИКИ – ИНФОРМАЦИЯ
  4. Multicast ( групповая передача)
  5. А) Блок трансформатор-магистраль.
  6. А) ПЕРЕДАЧА НА РУССКОМ ЯЗЫКЕ ФУНКЦИИ АРТИКЛЯ
  7. Автоматизированная система обработки данных правовой статистики
  8. Алгоритм обработки одного блока сообщения
  9. Алгоритм обработки полости рта при стоматитах
  10. АЛЕКСАНДР АЛЕКСАНДРОВИЧ РЕФОРМАТСКИЙ И ЕГО КНИГА
  11. Анализ режимов работы электроприемников в цеховой электрической сети
  12. Анализ трансформаторной дифференциальной системы

На сегодняшний день существует довольно большое число программ отправки и принятия сообщений для локальных сетей под управлением на платформах от компаний Microsoft, таких как семейство Windows 9x (95, 98, ME, XP) и Windows NT4, Windows2000, разнообразных как по алгоритмам, так и по используемым протоколам. Основной задачей, на которую следует ориентироваться при выборе подобных программ, является величина бюджета, и как следствие, расходы на дополнительную закупку оргтехники (серверы, дополнительные сети, концентраторы).

Поэтому такие программы разделяются на 2 типа:

- Программы клиент-сервер, то есть передача сообщений осуществляется через выделенный сервер.

- Программы для одноранговых сетей, не требующие выделенного сервера.

К первым средствам передачи сообщений можно отнести такие программы, как Microsoft Messenger, AOL ICQ, различные чаты и телеконференции.

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

Однако существующие на данный момент программы второго типа являются незаконченными по своим первоначальным идеям их создания.

 

Цикл передачи сообщений

Непременным компонентом всех Windows-приложений является цикл обработки сообщений. У приложения всегда есть главная функция WinMain. Обычно она содержит вызовы функций для инициализации и создания окон, после чего следует цикл обработки сообщений и необходимый код для закрытия приложения.
Что происходит в цикле обработки сообщений? Как известно, все сообщения, адресованные приложению, Windows записывает в очередь сообщений приложения. Извлечение сообщения из этой очереди осуществляет функция GetMessage.
Если очередное сообщение имеет код WM_QUIT, то происходит выход из цикла, после чего приложение завершает свою работу.
Если очередное сообщение не является сообщением WM_QUIT, то оно передается функции DispatchMessage, которая возвращает сообщение обратно в Windows. Windows отправляет сообщение для его обработки соответствующей оконной процедуре — иными словами, Windows вызывает оконную процедуру. После возврата из оконной процедуры Windows передает управление оператору, который расположен после DispatchMessage, и работа цикла продолжается.
76. Наипростейшее приложение под Windows. Венгерская нотация.

 

Венге́рская нота́ция — соглашение программистов об именовании переменных, констант и прочих идентификаторов в коде программ

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

Смысл Венгерской нотации в том, что к именам переменным добавляется некоторый префикс. Этот префикс служит идентификатором области, которой эта переменная принадлежит.

Такой идентификатор должен легко запоминаться и должен быть понятен исходя из своего названия. Похожие объекты должны иметь похожие идентификаторы, что позволяет объединять объекты в логические группы. Придумывание, ввод и редактирование идентификатор не должны отнимать много времени

Описание характеристики именуемого объекта входит в идентификатор перед названием. Простые типы названы короткими тегами. Такие теги должны быть интуитивно понятны большинству программистов.

Стандартные общепринятые префиксы сведены в таблицу:

Префикс Сокращение от Область видимости Пример
C сlass (класс) Класс CString
s string (строка) Строка sClientName
b boolean (булевский тип) Булева переменная bIsEmpty
a array (массив) Массив aDimensions
p pointer (указатель) Указатель pObject
h handle (дескриптор, дословный перевод – рукоятка, ручка) Дескриптор hWindow
w word (слово) Два байта wFlags
dw double word (двойное слово) Четыре байта dwFlags
n,i integer (целое) Целое nCount
l long (длинное) Длинное целое lParameter
f float (плавающее) Вещественное число с плавающей запятой обычной точности fSinAlpha
d double (двойное) Вещественное число с плавающей запятой двойной точности dCosBeta

Рекомендуется не экономить на длине смысловой части переменных, так как другим программистам, да и непосредственно автору исходного кода спустя некоторое время бывает сложно вспомнить, что же за загадочные объекты nC1, bDet или методы GetPrm(). Логика должна прослеживаться явно и восприниматься с первого прочтения. Однако, нужно помнить, что слишком длинное название только затруднит чтение кода.

Каждое слово смысловой части названия пишется с большой буквы. Названия методов должны отличаться от названий объектов пунктуацией, например, всегда начинаясь с заглавной буквы (тогда как тэги характеристик других идентификаторов пишутся строчными буквами). То есть, например имя переменной m_nObject пишется строчными буквами, а имя метода GetObject() — с заглавной

Имя функции может образовываться объединением глагола и существительного, например: CreateWindow(), DrawText() или LoadIcon(), но может состоять и только из существительных – DialogBox().


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)