На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

High-Level Console Input and Output Functions



The ReadFile and WriteFile functions, or the ReadConsole and WriteConsole functions, enable an application to read console input and write console output as a stream of characters. ReadConsole and WriteConsole behave exactly like ReadFile and WriteFile except that they can be used either as wide-character functions (in which text arguments must use Unicode) or as ANSI functions (in which text arguments must use characters from the Windows 3.x character set). Applications that need to maintain a single set of sources to support either Unicode or the ANSI character set should use ReadConsole and WriteConsole.

ReadConsole and WriteConsole can only be used with console handles; ReadFile and WriteFile can be used with other handles (such as files or pipes). ReadConsole and WriteConsole fail if used with a standard handle that has been redirected and is no longer a console handle.
To get keyboard input, a process can use ReadFile or ReadConsole with a handle of the console's input buffer, or it can use ReadFile to read input from a file or a pipe if STDIN has been redirected. These functions only return keyboard events that can be translated into ANSI characters (or Unicode characters in the case of ReadConsole). The input that can be returned includes control key combinations. The functions do not return keyboard events involving the function keys or arrow keys. Input events generated by mouse, window, focus, or menu input are discarded.

If line input mode is enabled (the default mode), ReadFile and ReadConsole do not return to the calling application until the ENTER key is pressed. If line input mode is disabled, the functions do not return until at least one character is available. In either mode, all available characters are read until either no more keys are available or the specified number of characters has been read. Unread characters are buffered until the next read operation. The functions report the total number of characters actually read. If echo input mode is enabled, characters read by these functions are written to the active screen buffer at the current cursor position.

A process can use WriteFile or WriteConsole to write to either an active or inactive screen buffer, or it can use WriteFile to write to a file or a pipe if STDOUT has been redirected. Processed output mode and wrap at EOL output mode control the way characters are written or echoed to a screen buffer.
Characters written by WriteFile or WriteConsole, or echoed by ReadFile or ReadConsole, are inserted in a screen buffer at the current cursor position. As each character is written, the cursor position advances to the next character cell; however, the behavior at the end of a row depends on the screen buffer's wrap at EOL output mode. An application can use the GetConsoleScreenBufferInfo function to determine the current cursor position and the SetConsoleCursorPosition function to set the cursor position.

For an example that uses the high-level console I/O functions, see Using the High-Level Input and Output Functions.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

High-Level КОНСОЛЬНЫЕ Входные и Выходные Функции



ReadFile И функции WriteFile, или ReadConsole и функции WriteConsole, позволяют приложение, чтобы читать консольный вклад и писать консольный выход как поток символов. ReadConsole И WriteConsole ведется себя точно подобно ReadFile и WriteFile за исключением того это они могут быть использованы или широкие-символьные функции (в котором текстовые аргументы должны использовать Уникод) или как функции ANSI (в котором текстовые аргументы должны использовать символы из 3.x набора символов Окна). Приложения, что нужно поддерживать единственный набор источников, чтобы поддерживать или Уникод или набор символов ANSI должны использовать ReadConsole и WriteConsole.

ReadConsole И WriteConsole может только использован консольными ручками; ReadFile И WriteFile может быть использован другими ручками (как например, файлы или трубы). ReadConsole И WriteConsole терпит неудачу если использовано стандартной ручкой, которая переназначена и не - больше консольная ручка.
Чтобы получать ввод данных с клавиатуры, процесс может использовать ReadFile или ReadConsole с ручкой консольного входного буфера, или это может использовать ReadFile, чтобы читать вкладу из файла или труба если STDIN переназначен. Эти функции только возвращают клавишные события, которые могут быть переведены в символы ANSI (или символы Уникода в случае ReadConsole). Вклад, который может быть возвращан включает управляющие ключевые комбинации. Функции не возвращают клавишные события, включающие функциональные ключи или клавиши позиционирования. Входные события генерировались мышью, окном, фокусом, или ввод меню отвергнут.

Если входной режим строки приспособлены ( по умолчанию режим), ReadFile и ReadConsole не возвращается в вызывающее приложение пока клавиша ВВОДА не будет нажата. Если входной режим строки выведены из строя, функции не возвращаются пока по крайней мере один символ не будет доступен. В или режим, все доступные символы прочитаны до или больше клавиши не доступны или определенное количество символов прочитано. Символы Unread буферизованы до следующей операции чтения. Функции сообщают общее число действительно прочитанных символов. Если входной режим эха приспособлены, символы прочитанные этими функциями записаны в активный экранный буфер в текущей позиции курсора.

Процесс может использовать WriteFile или WriteConsole, чтобы записываться на или активный или неактивный экранный буфер, или это может использовать WriteFile, чтобы записываться в файл или труба если STDOUT переназначен. Обработанный выходной режим и завертывается на выходном управлении режима EOL, символы пути записаны или echoed в экранный буфер.
Символы записанные WriteFile или WriteConsole, или echoed ReadFile или ReadConsole, включены в экранный буфер в текущей позиции курсора. Так как каждый символ записан, позиция курсора продвигается в следующую символьную ячейку; тем не менее, поведение в конце колонки зависит от экрана буферизовать wrap в выходном режиме EOL. Приложение может использовать функцию GetConsoleScreenBufferInfo, чтобы определять текущую позицию курсора и функция SetConsoleCursorPosition, чтобы устанавливать позицию курсора.

Для примера, который использует высокоуровневые консольные функции В/В, смотри Используя High-Level Входные и Выходные Функции.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz