Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции-ТРПС.doc
Скачиваний:
13
Добавлен:
15.11.2018
Размер:
810.5 Кб
Скачать

125

Содержание

стр

Введение 4

Часть 1. Общие сведения о технологии программирования 5

1. Задачи технологии программирования 5

1.1. Базовые определения 5

1.2. Невозможность доказательства отсутствия программных ошибок 6

1.3. Надежность программного средства 6

1.4. Технология программирования как способ создания надежных программных средств 7

1.5. Этапы развития технологии программирования 8

1.6. Технология программирования и информатизация общества 9

2. Общие принципы разработки программных средств 10

2.1. Специфика разработки программных средств 10

2.2. Основные подходы при создании ПС 10

2.3. Жизненный цикл программного средства 11

2.4. Понятие качества программного средства 12

2.5. Обеспечение надежности – основной критерий разработки программных средств 13

2.5.1. Методы борьбы со сложностью 14

2.5.2. Обеспечение точности перевода 15

2.5.3. Преодоление барьера между пользователем и разработчиком 15

2.5.4. Контроль принимаемых решений 15

3. Архитектура программного средства 16

3.1. Понятие архитектуры программного средства 16

3.2. Основные классы архитектур программных средств 16

3.3. Архитектурные функции 18

4. ТЕСТИРОВАНИЕ И ОТЛАДКА ПРОГРАММНОГО СРЕДСТВА 18

4.1. Основные понятия 18

4.2. Принципы и виды отладки программного средства 18

4.3. Заповеди отладки программного средства 20

4.4. Автономная отладка программного средства 20

4.5. Комплексная отладка программного средства. 23

Часть 2. Windows программирование 24

5. Основные характеристики Windows платформ 25

5.1. Краткая история Windows 25

5.2. Отличия и общие свойства Windows платформ 26

5.2.1. Общие свойства Windows платформ 26

5.2.2. Отличия Win32 платформ 26

5.2.3. Окна и сообщения 28

5.2.4. Приложения, потоки и окна 29

5.2.5. Классы окон 29

5.2.6. Венгерская нотация 30

5.2.7. Типы сообщений 33

5.2.8. Сообщения и многозадачность 34

5.2.9. Очереди сообщений 35

5.2.10. Процессы и потоки 35

5.2.11. Потоки и сообщения 35

5.2.12. Оконная функция – функция обратного вызова 36

5.2.13. Синхронные и асинхронные сообщения 36

5.2.14. Функции Windows 37

5.2.15. Другие API 40

6. Структура Windows приложений 41

6.1. Файлы заголовков 42

6.2. Глабальные переменные 42

6.3. Точка входа в приложение 42

6.4. Необходимые переменные 43

6.5. Регистрация класса окна 43

6.6. Создание главного окна 43

6.7. Отображение главного окна 45

6.8. Цикл обработки сообщений 45

6.9. Функция окна 45

7. Обработка сообщений в оконной функции 46

7.1. Создание окна WM_CREATE 47

7.2. Определение размера окна WM_SIZE 47

7.3. Отображение содержимого окна WM_PAINT 48

7.3.1. Случаи генерации сообщения WM_PAINT 48

7.3.2. Особенность сообщения WM_PAINT 49

7.3.3. Правила обработки WM_PAINT 49

7.3.4. Отрисовка вне WM_PAINT 50

7.3.5. Определение возможностей контекста устройства 50

7.3.6. Системные метрики 50

7.4. Определение расположения окна WM_MOVE 51

7.5. Использование оконных полос прокрутки 51

7.5.1. Диапазон и положение полос прокрутки 52

7.5.2. Сообщения полос прокрутки 53

7.6. Клавиатурный ввод 54

7.6.1. Фокус ввода и активное окно 54

7.6.2. Генерация клавиатурных сообщений 55

7.6.3. Аппаратные сообщения 55

7.6.3.1. Системные аппаратные сообщения 55

7.6.3.2. Несистемные аппаратные сообщения 56

7.6.3.3. Битовые поля параметра lParam 56

7.6.3.4. Виртуальные коды клавиш 57

7.6.4. Символьные сообщения 57

7.6.5. Обработка сообщения WM_CHAR 58

7.6.6. Определение состояния управляющих клавиш 58

7.6.7. Наборы символов 59

7.7. Системный таймер 59

7.7.1. Использование таймера. Первый способ 60

7.7.2. Использование таймера. Второй способ 61

7.8. Удаление окна, сообщение WM_DESTROY 62

8. Ресурсы приложения и их использование 63

8.1. Меню приложения 63

8.1.1. Виды меню 64

8.1.2. Возможные состояния пунктов меню 64

8.1.3. Сообщения от пунктов меню 64

8.1.4. Создание главного меню приложения 65

8.1.5. Функции для работы с меню 66

8.2. Стандартные элементы управления 67

8.2.1. Создание стандартных элементов управления 68

8.2.2. Разрушение элементов управления 68

8.2.3. Функции для работы с элементами управления 68

8.2.4. Сообщения дочерних окон 69

8.2.5. Сообщения родительского окна дочерним окнам 69

8.2.6. Расширенное управление дочерними окнами 70

8.2.7. Оконные процедуры элементов управления 70

8.2.8. Элемент управления кнопка 71

8.2.8.1. Стили кнопок 71

8.2.8.2. Сообщения от кнопок, получаемые родительским окном 72

8.2.8.3. Сообщения от родительского окна к кнопке 73

8.2.8.4. Кнопки-переключатели 73

8.2.8.5. Сообщение от переключателей 74

8.2.8.6. Сообщение от родительского окна к переключателям 74

8.2.9. Структура DRAWITEMSTRUCT 74

8.2.10. Стандартный элемент управления окно ввода 76

8.2.10.1. Стили окна редактирования 76

8.2.10.2. Сообщения от редактора к родительскому окну 77

8.2.10.3. Сообщения от родительского окна к редактору 77

8.2.11. Стандартный элемент управления статический текст 79

8.2.11.1. Стили элемент управления STATIC 80

8.2.11.2. Сообщения от статического элемента управления 80

8.2.11.3. Сообщения от родительского окна к STATIC 81

8.2.12. Стандартный элемент управления список 81

8.2.12.1. Стили элемента управления список 81

8.2.12.2. Сообщения от списка к родительскому окну 81

8.2.12.3. Сообщения от родительского окна к списку 82

8.2.13. Стандартный элемент управления список с вводом 84

8.2.13.1. Стили элемента управления combobox 84

8.2.13.2. Сообщения от combobox к родительскому окну 85

8.2.13.3. Сообщения от родительского окна к combobox 85

9. Создание и использование диалоговых окон 87

9.1. Этапы создания диалога 88

9.1.1. Создание шаблона диалога 88

9.1.2. Функция диалога 88

9.1.2.1. Сходства между диалоговой функцией и оконной процедурой 89

9.1.2.2. Различия между диалоговой функцией и оконной процедурой 89

9.2. Типы диалоговых панелей 89

9.3. Создание модального диалога 89

9.4. Закрытие модального диалога 90

9.5. Окна сообщений. 91

9.6. Немодальные диалоги 91

9.7. Диалоговые окна общего пользования 93

10. Управление файлами 94

10.1. Доступ к файловой системе 96

10.2. Потоковый ввод/вывод 96

10.3. Функции ядра Windows для работы с файлами 96

10.4. Специализированные функции для работы с файлами 99

11. Печать документов 100

11.1. Последовательность печати документа 100

11.2. Контекст устройства принтера 100

11.3. Диалог отмены печати 101

11.4. Запуск процесса печати 102

11.5. Печать страницы документа 102

11.6. Завершение печати документа 103

12. Процессы и потоки 104

12.1. Диспетчеризация потоков 105

12.2. Проблемы многопоточной технологии 106

12.3. Создание рабочего потока 106

12.4. Организация взаимодействия потоков 107

12.4.1. Рабочий поток – процесс 108

12.4.2. Процесс – рабочий поток 108

12.5. Общая схема взаимодействия потоков 109

13. Приложение "Тестер файлов" 112

13.1. Функция WinMain() 113

13.2. Функция главного окна 115

13.3. Вспомогательные функции 118

13.4. Функция рабочего потока 121

Литература к первой части 125

Литература ко второй части 125