Виведення тексту у вікні
Розробка програми мовою асемблер під Windows в Masm32, що використовує функцію CreateFont для зображення тексту з різними параметрами. Характеристика функції CreateFont, яка змінює параметри шрифту. Представлення лістингу програми, аналіз результатів.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | украинский |
Дата добавления | 28.05.2014 |
Размер файла | 602,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
КАФЕДРА СИСТЕМНОГО ПРОГРАМУВАННЯ
Звіт
З лабораторної роботи №2
з дисципліни «Системне програмне забезпечення»
на тему: Виведення тексту у вікні
Перевірила:
Федотова-Півень І.М.
Виконав:
студент 3 курсу
групи КМ-115
Стрембіцький Р.Г.
Черкаси 2014
Тема роботи: Виведення тексту у вікні
Мета роботи: Розробити програму мовою асемблер під Windows в Masm32, що використовує функцію CreateFont для зображення тексту з різними параметрами.
Завдання
Змінити такі параметри шрифту в програмі:
· Times New Roman, Arial,
· підкреслений,
· закреслений,
· фон,
· колір.
Теоретичні відомості
Венгерська нотація - це система префіксів.
Префікс - це одна маленька буква або дві маленькі букви, з якої починається ім'я змінної.
Префікс вказує на тип даних змінної.
Таблиця 1 - Система префіксів
Префікси |
Тип даних |
|
c |
CHAR (символ) |
|
b, f |
BOOL (Булеве ціле) |
|
by |
BYTE (беззнаковий символ) |
|
n |
SHORT (коротке ціле) |
|
i |
INT (ціле) |
|
x,y |
SHORT (ціле), (тип координат х,у) |
|
cx,cy |
SHORT (ціле), (довжина х,у) |
|
w |
WORD |
|
l |
LONG (довге ціле) |
|
dw |
DWORD (беззнакове довге ціле) |
|
u |
UNSIGNED |
|
fn |
функція |
|
s |
рядок |
|
sz |
рядок, що закінчується нулем |
|
st |
Pascal-рядок |
|
h |
Дескриптор(handll) |
|
p |
вказівник |
|
lp |
довгий вказівник |
|
np |
короткий вказівник |
Лістинг програми
386
.model flat,stdcall
option casemap:none
WinMain proto :DWORD,:DWORD,:DWORD,:DWORD
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\gdi32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\gdi32.lib
RGB macro red,green,blue
xor eax,eax
mov ah,blue
shl eax,8
mov ah,green
mov al,red
endm
.data
ClassName db "SimpleWinClass",0
AppName db "Заголовок",0
TestString db "Лабораторна №2",0
FontName db "arial",0
.data?
hInstance HINSTANCE ?
CommandLine LPSTR ?
.code
start:
invoke GetModuleHandle, NULL
mov hInstance,eax
invoke GetCommandLine
invoke WinMain, hInstance,NULL,CommandLine, SW_SHOWDEFAULT
invoke ExitProcess,eax
WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD
LOCAL wc:WNDCLASSEX
LOCAL msg:MSG
LOCAL hwnd:HWND
mov wc.cbSize,SIZEOF WNDCLASSEX
mov wc.style, CS_HREDRAW or CS_VREDRAW
mov wc.lpfnWndProc, OFFSET WndProc
mov wc.cbClsExtra,NULL
mov wc.cbWndExtra,NULL
push hInst
pop wc.hInstance
mov wc.hbrBackground,COLOR_WINDOW+1
mov wc.lpszMenuName,NULL
mov wc.lpszClassName,OFFSET ClassName
invoke LoadIcon,NULL,IDI_APPLICATION
mov wc.hIcon,eax
mov wc.hIconSm,eax
invoke LoadCursor,NULL,IDC_ARROW
mov wc.hCursor,eax
invoke RegisterClassEx, addr wc
INVOKE CreateWindowEx,NULL,ADDR ClassName,ADDR AppName,\
WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,\
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,\
hInst,NULL
mov hwnd,eax
INVOKE ShowWindow, hwnd,SW_SHOWNORMAL
INVOKE UpdateWindow, hwnd
.WHILE TRUE
INVOKE GetMessage, ADDR msg,NULL,0,0
.BREAK .IF (!eax)
INVOKE TranslateMessage, ADDR msg
INVOKE DispatchMessage, ADDR msg
.ENDW
mov eax,msg.wParam
ret
WinMain endp
WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
LOCAL hdc:HDC
LOCAL ps:PAINTSTRUCT
LOCAL hfont:HFONT
.IF uMsg==WM_DESTROY
invoke PostQuitMessage,NULL
.ELSEIF uMsg==WM_PAINT
invoke BeginPaint,hWnd, ADDR ps
mov hdc,eax
invoke CreateFont,24,16,0,0,400,0,0,0,DEFAULT_CHARSET,\
OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,\
DEFAULT_QUALITY,DEFAULT_PITCH or FF_SCRIPT,\
ADDR FontName
invoke SelectObject, hdc, eax
mov hfont,eax
RGB 200,200,50
invoke SetTextColor,hdc,eax
RGB 0,0,255
invoke SetBkColor,hdc,eax
invoke TextOut,hdc,0,0,ADDR TestString,SIZEOF TestString
invoke SelectObject,hdc, hfont
invoke EndPaint,hWnd, ADDR ps
.ELSE
invoke DefWindowProc,hWnd,uMsg,wParam,lParam
ret
.ENDIF
xor eax,eax
ret
WndProc endp
end start
Результати виконання роботи
· Змінюємо шрифт тексту на "ARIAL"
FontName db "arial",0
invoke CreateFont,24,16,0,0,400,0,0,0,DEFAULT_CHARSET,\
OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,\
DEFAULT_QUALITY,DEFAULT_PITCH or FF_SCRIPT,\
ADDR FontName
· Змінюємо шрифт тексту на "Times New Roman"
FontName db "times_new_roman",0
· Змінюємо шрифт тексту на закреслений
invoke CreateFont,70,40,-120,-120,400,0,0,1,DEFAULT_CHARSET,\
· Змінюємо шрифт тексту на підкреслений
invoke CreateFont,70,40,-120,-120,400,0,1,0,DEFAULT_CHARSET,\
асемблер програма createfont
· Змінюємо фон шрифту тексту
RGB 200,200,50
invoke SetTextColor,hdc,eax
RGB 0,0,0
invoke SetBkColor,hdc,eax
· Змінюємо колір шрифту тексту
RGB 255,255,255
invoke SetTextColor,hdc,eax
RGB 0,0,0
invoke SetBkColor,hdc,eax
Висновок: На даній лабораторній роботі, я розробив програму мовою асемблер під Windows в Masm32, що використовує функцію CreateFont для зображення тексту з різними параметрами. Створена програма асемблер у віндовс у масм32 виводить текст на екран в різному оформленні. Функцією CreateFont змінюємо параметри шрифту на закреслений, підкреслений, стиль шрифту, фон.
Размещено на Allbest.ru
Подобные документы
Програмування під DOS мовою низького рівня Асемблер (ASM-86). Функції програми: виведення в довільне місце екрану тексту заданого стилю та кольору, змінення шрифту, розміру літер та напрямку їх виводу. Алгоритм програми, системні вимоги до комп'ютера.
курсовая работа [47,4 K], добавлен 03.06.2009Огляд існуючих методів розробки компіляторів, детальний опис мови. Характеристика та специфіка процесу розробки програми компілятора на рівні блок-схем і тексту програми. Подання тексту компілятора, а також результатів тестування розробленої програми.
курсовая работа [510,2 K], добавлен 03.06.2011Розробка резидентної програми за допомогою мови асемблер, яка дозволить перехопити зміст текстового та графічного екрану у файл (відповідно TXT і BMP). Вибір та обґрунтування методу розв'язки даної задачі. Алгоритм і реалізація програми, системні вимоги.
курсовая работа [14,9 K], добавлен 08.08.2009Розробка програми для тренування швидкого десяти пальцевого набору тексту на клавіатурі за допомогою класів, які будуть містити в собі параметри об’єктів та їх методи. Аналіз об'єкту програмування. Основні принципи об'єктно-орієнтованого програмування.
курсовая работа [1,8 M], добавлен 18.05.2017Теоретичні відомості. Блок-схема. Текст програми. Результати роботи програми. Процедури і функції. Координати, вікна, сторінки. Багатокутники. Дуги, кола, еліпси. Фарби, палітри, заповнення. Збереження і видача зображень. Виведення тексту. Включення драйв
курсовая работа [345,2 K], добавлен 17.12.2005Написання програми для виведення чисел Фібоначчі. Загальна характеристика мови Паскаль. Науковий доробок Леонардо Фібоначчі. Історія і властивості послідовності. Особливості програмування мовою Turbo Pascal. Відкалібрування та синхронізування програми.
курсовая работа [325,1 K], добавлен 09.10.2013Проектування архітектури гри "Тетріс". Аналіз вимог до неї. Вивчення особливостей реалізації, кодування та тестування програми. Алгоритм побудови робочого поля. Вибір мови програмування. Розробка і налагодження тексту програми. Інструкції з експлуатації.
курсовая работа [460,9 K], добавлен 04.03.2014Характеристика предметної області: FTP-server для ОС Windows. Шляхи встановлення FTP-серверу в ОС Windows. Опис мови та середовища програмування, компонентів та функцій програми. Аналіз реалізованої програми FTP-клієнта. Тестовий запуск та опис програми.
курсовая работа [1,7 M], добавлен 22.06.2017Розробка візуальної програми, яка містить головне меню та забезпечує введення-виведення даних у діалоговому вікні. Створення панелі інструментів, рядку стану. Реалізація функції мовою Assembler. Створення та підключення бібліотеки Dll. Робота з файлами.
курсовая работа [370,9 K], добавлен 01.04.2016Огляд Windows 95/98: загальні відомості, аналіз файлової системи. Розробка програми, що виконує всі основні функції файлового менеджера та може використовуватись як повноцінний програмний продукт даного типу. Установка та умови застосування програми.
курсовая работа [360,6 K], добавлен 17.10.2013