это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
Ознакомительный фрагмент работы:
Міністерство освіти і науки України
Житомирський державний технологічний університет
Лабораторна робота №4
з курсу "Системне програмування"
на тему:"Програма HelloWin"
м. Житомир
2011 р.
Содержание
1. Завдання для виконання
2. Текст програми
3. Завдання до лабораторної
Висновок
1. Завдання для виконання
1. Розібрати текст програми hellowin.c.
2. Вивчити матеріал викладений у файлі допомоги.
3. Створити аналогічну програму, яка друкує в вікно:
· Змінні середовища програми (Envayroment)
· Шлях - звідки була запушена на виконання програма
/*-------------------------------------------------------------------------------
HELLOWIN.C -- Displays "Hello, Windows 95!" in client area
(c) Charles Petzold, 1996
-------------------------------------------------------------------------------*/
#include <windows.h>
LRESULTCALLBACKWndProc (HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static char szAppName[] = "HelloWin" ;
HWND hwnd ;
MSG msg ;
WNDCLASSEXwndclass ;
wndclass.cbSize = sizeof (wndclass) ;
wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = LoadIcon (NULL,IDI_APPLICATION) ;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
wndclass.lpszMenuName = NULL ;
wndclass.lpszClassName = szAppName ;
wndclass.hIconSm= LoadIcon (NULL, IDI_APPLICATION) ;
RegisterClassEx (&wndclass) ;
hwnd = CreateWindow (szAppName,// window class name
"The Hello Program",// window caption
WS_OVERLAPPEDWINDOW, // window style
CW_USEDEFAULT, // initial x position
CW_USEDEFAULT, // initial y position
CW_USEDEFAULT, // initial x size
CW_USEDEFAULT, // initial y size
NULL, // parent window handle
NULL, // window menu handle
hInstance, // program instance handle
NULL) ; // creation parameters
ShowWindow (hwnd, iCmdShow) ;
UpdateWindow (hwnd) ;
while (GetMessage (&msg,NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
return msg.wParam ;
}
LRESULT CALLBACKWndProc (HWND hwnd,UINT iMsg, WPARAM wParam, LPARAM lParam)
{
HDC hdc ;
PAINTSTRUCT ps ;
RECT rect ;
switch (iMsg)
{
case WM_CREATE :
PlaySound ("hellowin.wav", NULL, SND_FILENAME | SND_ASYNC) ;
return 0 ;
case WM_PAINT :
hdc = BeginPaint (hwnd, &ps) ;
GetClientRect (hwnd, &rect) ;
DrawText (hdc, "Hello, Windows 95!", -1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
EndPaint (hwnd, &ps) ;
return 0 ;
case WM_DESTROY :
PostQuitMessage (0) ;
return 0 ;
}
return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
}
Створити аналогічну програму, яка друкує в вікно:
Змінні середовища програми (Envayroment)
Шлях - звідки була запушена на виконання програма
Функція DrawText() – "малює" текст. Оскільки ця функція малює, то першим параметром має бути описувач контексту пристрою, який повертає функція BeginPaint.
Другим параметром є текст який малює функція. Саме сюди ми і заносимо текст який варто надрукувати.
Третій параметр встановлений -1 вказує на те, що рядок тексту завершується нульовим символом.
Четвертий параметр – розмір тексту.
Останнім параметром є набір прапорців, які вказують на розташування тексту.
Отже, щоб змінити написи у вікні варто змінити(додати) у програмі функцію:
DrawText (hdc, "ТЕКСТ", -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
програма файл вікно звуковий
Отже, на даній лабораторній роботі було розібрано роботу програми, яка демонструє основні принципи створення вікна у OSWindows. У ході виконання роботи було розібрано використання функцій для створення вікна, відображення у вікні тексту, та відтворення звукових файлів.
Під час модифікації програмного коду було здобуто практичні навики створення вікон, відображення тексту, відтворення звуку.
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников
Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
Выполнение 6 работ в программе Statistica
Контрольная, Программные статистические комплексы
Срок сдачи к 20 февр.
Написать на 15 стр анализ организации процесса бюджетирования и разработку предложений по оптимизации структуры и формирования бюджетов ооо «стройкомплекс»
Контрольная, Финансовое планирование и бюджетирование в деятельности предприятий
Срок сдачи к 22 янв.
Контрольная под дисциплине Механика жидкости и газа
Контрольная, Механика жидкости и газа
Срок сдачи к 20 янв.
Социальное и общечеловеческое в конфликте поколений в романе И. С
Курсовая, Литература
Срок сдачи к 23 янв.
Контрольная работа "Расчёт теплопритоков в охлаждаемую камеру"
Контрольная, Теплотехника и хладотехника
Срок сдачи к 19 янв.
Дипломная работа по теме "разработка программы лояльности и клиентоориентированности для повышения продаж гостиничного продукта на примере гостиницы doubletree moscow arbat"
Диплом, Гостиничное дело
Срок сдачи к 17 апр.
Лабораторная работа № 1.1 Модуль: Основы логического мышления
Решение задач, Введение в специальность, логика
Срок сдачи к 15 янв.
сделать лабораторные работы
Лабораторная, Цифровая культура в профессиональной деятельности, культурология
Срок сдачи к 25 янв.
Заполните форму и узнайте цену на индивидуальную работу!