Виведення тексту у вікні

Розробка програми мовою асемблер під 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.