Дипломированных специалистов «Информатика и вычислительная техника»



Download 12,06 Mb.
Pdf ko'rish
bet235/357
Sana22.02.2022
Hajmi12,06 Mb.
#115195
TuriДиплом
1   ...   231   232   233   234   235   236   237   238   ...   357
Bog'liq
assembler uchebnik dlya vuzov 2-e izd YuRXUW1

Организация высокоуровневого
консольного ввода-вывода
Для высокоуровневого ввода-вывода приложение может использовать файловые
функции
и
File, а также функции консольного ввода-вывода ReadConsole
и
Эти функции обеспечивают косвенный доступ к входному и экран-
ным буферам пульта. Физически эти функции фильтруют записи входного буфе-
ра консоли так, чтобы возвратить ввод как поток символов, игнорируя все другие
записи с расширенной информацией о мыши, клавиатуре и изменении размеров
окна консоли. Отфильтрованный поток символов отображается в окне консоли,
начиная с текущей позиции курсора. Существуют два важных различия в исполь-
зовании пар функций ReadFile\WriteFile и ReadConsole\WriteConsole.
я Поддержка символов Unicode и ANSI. Консольные функции (ReadConsole\
WriteConsole) поддерживают эти наборы, а файловые
— нет.
Функции файлового ввода-вывода могут использоваться для обращения как
к файлам, так и к именованным каналам (устройствам, присоединенным к по-
следовательному интерфейсу). Консольные функции ввода-вывода можно ис-
пользовать только с тремя дескрипторами стандартного ввода-вывода (см. да-
лее описание функций
Из сказанного ранее следует, что функции высокоуровневого ввода-вывода обес-
печивают простой способ обмена (чтения-записи) потоков символов с консолью.


Программирование консольных Windows-приложений 439
Операция чтения высокого уровня реализуется функцией ReadConsole, которая
получает входные символы из буфера ввода консоли и сохраняет их в указанном
буфере:
BOOL
IpBuffer,
DWORD
LPVOID
Параметры этой функции означают следующее:
hConsolelnput — дескриптор входного потока консоли;
IpBuffer — указатель на строку, в которую будет записана вводимая строка сим-
волов;
nNumberOfCharsToRead — размер буфера, указанного IpBuffer;
IpNumberOfCharsRead — количество действительно введенных символов;
IpReserved — этот параметр не используется, поэтому должен задаваться как NULL
Операция записи высокого уровня реализуется функцией
которая
извлекает символы из указанного буфера и записывает их в экранный буфер, на-
чиная с текущей позиции курсора и продвигая ее по мере записи символов.
BOOL
CONST VOID
DWORD
LPDWORD
LPVOID
Параметры этой функции означают следующее:
hConsoleOutput — дескриптор выходного потока консоли;
IpBuffer — указатель на выводимую строку;
nNumberOfCharsToWrite — размер буфера, указанного IpBuffer;
— количество действительно выведенных символов;
IpReserved — этот параметр не используется, поэтому должен задаваться как
Для своей работы эти и некоторые другие консольные функции требуют полу-
чения стандартных дескрипторов ввода-вывода. Значения этих дескрипторов при-
сваиваются параметрам hConsolelnput и hConsoleOutput. По умолчанию стандарт-
ный дескриптор ввода связан с клавиатурой, стандартный дескриптор вывода —
с экраном. Получить стандартный дескриптор ввода-вывода можно с помощью
функции
HANDLE GetStdHandle(DWORD
На вход функции GetStdHandle должно быть подано одно из следующих значе-
ний:
= -10 — дескриптор стандартного входного потока;
-11 — дескриптор стандартного выходного потока;
= -12 — дескриптор стандартного потока ошибок.
Используя функции
ввода-вывода, приложение может управ-
лять цветами текста и фона, которыми должны отображаться символы, записыва-
емые в экранный буфер. Приложению доступны следующие функции высокоуров-
невого консольного ввода-вывода:
эхо-контроль вводимых символов на экране из активного экранного буфера;


440 Глава
Создание Windows-приложений на ассемблере
ввод строки, окончание операции чтения которой происходит при нажатии кла-
виши Enter;
 автоматическая обработка некоторых символов, вводимых с клавиатуры: пере-
вода каретки, нажатия клавиш
и т. д.;
si автоматическая обработка некоторых символов, выводимых на экран: перево-
да строки и каретки, возврата на один символ и т. д.
Функция
предназначена для указания позиции, с кото-
рой начинается выполнение операций чтения-записи в окно консоли:
BOOL
COORD
;
Параметрами этой функции являются стандартный дескриптор вывода hConsole-
Output, полученный функцией
и указатель на структуру COORD с ко-
ординатами новой позиции курсора:
COORD struc
х
0
у
ends
По умолчанию цветовое оформление окна консоли довольно унылое — черный
фон, белый текст. Внести разнообразие во внешний вид окна консоли поможет
функция SetConsoleTextAttribute, с помощью которой можно изменить цвета, уста-
новленные по умолчанию для текста и фона:
BOOL
WORD
Первый параметр — без комментариев, второй определяет цвет текста и фона.
Второй параметр формируется через операцию логического ИЛИ следующих зна-
чений:
т FOREGROUND_BLUE =
- синий текст;
=
- зеленый текст;
= 0004h - красный текст;
=
- текст повышенной яркости;
=
- голубой фон;
= 0020h - зеленый фон;
BACKGROUND_RED =
- красный фон;
=
- фон повышенной яркости.
Для задания белого цвета складываются три цветовых
для зада-
ния черного компоненты не задаются вовсе.

Download 12,06 Mb.

Do'stlaringiz bilan baham:
1   ...   231   232   233   234   235   236   237   238   ...   357




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish