Libs/console_coff: Translate comments to English and convert to UTF-8 (#128)
Translated remaining non-English comments to English and convert to UTF-8 Co-authored-by: rgimad <33692565+rgimad@users.noreply.github.com> Reviewed-on: KolibriOS/kolibrios#128 Reviewed-by: Max Logaev <mxlgv@noreply.localhost> Co-authored-by: rgimad <rgimad@noreply.localhost> Co-committed-by: rgimad <rgimad@noreply.localhost>
This commit is contained in:
1 parent
9b08b20cc3
commit
026d2aba40
3 files changed
+150
-149
No files matched your search
@@ -1,5 +1,5 @@
|
||||
; Вспомогательный файл для console.inc - описание scrollbar
|
||||
; Вертикальная прокрутка
|
||||
; Helper file for console.inc - scrollbar definition
|
||||
; Vertical scrolling
|
||||
virtual at 0
|
||||
file 'conscrlv.bmp', 36h
|
||||
; sanity check
|
||||
@@ -28,7 +28,7 @@ if con.vscroll_btn_height*4 + con.vscroll_bgr_height*2 \
|
||||
error 'conscrlv.bmp: invalid dimensions!'
|
||||
end if
|
||||
|
||||
; Загружаем данные BMP, на ходу преобразуя их в данные для 7-й функции
|
||||
; Load BMP data, converting it into data for sysfn 7 on the fly
|
||||
con.vscroll:
|
||||
repeat con.vscroll_height
|
||||
file 'conscrlv.bmp':36h + ((con.vscroll_width*3+3) and not 3)*(con.vscroll_height - %),\
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
; Функции работы с консолью для программ КолибриОС
|
||||
; SPDX-License-Identifier: GPL-2.0
|
||||
; Functions for interaction with the console for KolibriOS programs
|
||||
; diamond, 2006-2008
|
||||
|
||||
; Copyright (C) 2006-2025 KolibriOS team
|
||||
|
||||
format MS COFF
|
||||
|
||||
@@ -56,7 +57,7 @@ START:
|
||||
or eax, -1
|
||||
ret 4
|
||||
|
||||
; Инициализация консоли
|
||||
; Console initialization
|
||||
; void __stdcall con_init(dword wnd_width, dword wnd_height,
|
||||
; dword scr_width, dword scr_height, const char* title);
|
||||
|
||||
@@ -271,13 +272,13 @@ con_write_length:
|
||||
pop esi ebx
|
||||
ret 8
|
||||
|
||||
; Каждый символ классифицируется как один из
|
||||
con.printfc.normal = 0 ; нормальный символ
|
||||
; Each character is classified as one of the following
|
||||
con.printfc.normal = 0 ; normal character
|
||||
con.printfc.percent = 1 ; '%'
|
||||
con.printfc.dot = 2 ; '.'
|
||||
con.printfc.asterisk = 3 ; '*'
|
||||
con.printfc.zero = 4 ; '0'
|
||||
con.printfc.digit = 5 ; ненулевая цифра
|
||||
con.printfc.digit = 5 ; non-null digit
|
||||
con.printfc.plus = 6 ; '+'
|
||||
con.printfc.minus = 7 ; '-'
|
||||
con.printfc.sharp = 8 ; '#'
|
||||
@@ -376,24 +377,24 @@ con_printf:
|
||||
jmp .normal
|
||||
.spec_begin:
|
||||
xor ebx, ebx
|
||||
; bl = тип позиции:
|
||||
; 0 = начало
|
||||
; 1 = прочитан ведущий 0 в спецификации формата
|
||||
; 2 = читаем поле ширины
|
||||
; 3 = читаем поле точности
|
||||
; 4 = прочитано поле размера аргумента
|
||||
; 5 = читаем поле типа
|
||||
; bh = флаги:
|
||||
; 1 = флаг '#', выводить 0/0x/0X
|
||||
; 2 = флаг '-', выравнивание влево
|
||||
; 4 = флаг '0', дополнение нулями
|
||||
; 8 = флаг 'h', короткий аргумент
|
||||
; bl = position type:
|
||||
; 0 = start
|
||||
; 1 = read leading 0 in format specification
|
||||
; 2 = read width field
|
||||
; 3 = read precision field
|
||||
; 4 = read argument size field
|
||||
; 5 = read type field
|
||||
; bh = flags:
|
||||
; 1 = flag '#', output 0/0x/0X
|
||||
; 2 = flag '-', align left
|
||||
; 4 = flag '0', zero padding
|
||||
; 8 = flag 'h', short argument
|
||||
push -1
|
||||
; dword [esp+8] = precision
|
||||
push -1
|
||||
; dword [esp+4] = width
|
||||
push 0
|
||||
; byte [esp] = флаг 0/'+'/' '
|
||||
; byte [esp] = flag 0/'+'/' '
|
||||
.spec:
|
||||
xor eax, eax
|
||||
lodsb
|
||||
@@ -529,7 +530,7 @@ con_printf:
|
||||
@@:
|
||||
push edx
|
||||
xor edx, edx
|
||||
; число в eax, основание системы счисления в ecx
|
||||
; number in eax, radix in ecx
|
||||
@@:
|
||||
cmp dword [esp+16+8], 0
|
||||
jnz .print_num
|
||||
@@ -1777,10 +1778,10 @@ con.data2image:
|
||||
mov al, [esi+1]
|
||||
push eax
|
||||
and al, 0xF
|
||||
mov ebx, eax ; цвет текста
|
||||
mov ebx, eax ; text color
|
||||
pop eax
|
||||
shr al, 4
|
||||
mov ebp, eax ; цвет фона
|
||||
mov ebp, eax ; background color
|
||||
sub ebx, ebp
|
||||
lodsb
|
||||
inc esi
|
||||
@@ -2188,7 +2189,7 @@ con_gets2:
|
||||
sub ebx, 1
|
||||
jle .ret
|
||||
mov byte [esi], 0
|
||||
xor ecx, ecx ; длина уже введённой строки
|
||||
xor ecx, ecx ; length of the already entered string
|
||||
call con.get_data_ptr
|
||||
.loop:
|
||||
call con_getch2
|
||||
@@ -2596,15 +2597,15 @@ con.wake:
|
||||
popad
|
||||
ret
|
||||
|
||||
; Поток окна консоли. Обрабатывает ввод и вывод.
|
||||
; Console window thread. Handles input and output.
|
||||
con.thread:
|
||||
; Поток реагирует на IPC, которое используется только для того, чтобы его можно было "разбудить"
|
||||
; The thread responds to IPC, which is used only so that it can be "waken up"
|
||||
push 40
|
||||
pop eax
|
||||
push 0x80000067 ; program dont getting events mouse, when it dont active
|
||||
pop ebx
|
||||
int 0x40
|
||||
xor ebx,ebx ;clear ebx
|
||||
xor ebx,ebx ; clear ebx
|
||||
mov al, 60
|
||||
mov bl, 1
|
||||
mov ecx, con.ipc_buf
|
||||
@@ -3212,7 +3213,7 @@ con.draw_image:
|
||||
@@:
|
||||
int 0x40
|
||||
push edx
|
||||
; Вычисляем высоту бегунка
|
||||
; Calculate the height of the slider
|
||||
mov ax, dx
|
||||
sub eax, con.vscroll_btn_height
|
||||
mov ecx, eax
|
||||
@@ -3222,7 +3223,7 @@ con.draw_image:
|
||||
jae @f
|
||||
mov al, 5
|
||||
@@:
|
||||
; eax = высота бегунка. Вычисляем положение бегунка
|
||||
; eax = slider height. Calculate the slider position
|
||||
mov [con.vscrollbar_size], eax
|
||||
xchg eax, ecx
|
||||
sub eax, ecx
|
||||
@@ -3232,7 +3233,7 @@ con.draw_image:
|
||||
div ebx
|
||||
pop edx
|
||||
push edx
|
||||
; ecx = высота бегунка, eax = положение
|
||||
; ecx = slider height, eax = position
|
||||
add eax, con.vscroll_btn_height
|
||||
mov [con.vscrollbar_pos], eax
|
||||
mov ebx, con.vscroll_bgr2
|
||||
@@ -3331,8 +3332,8 @@ con.extended_numlock:
|
||||
|
||||
cursor_esc dd 27 + ('[' shl 8)
|
||||
|
||||
; В текущей реализации значения по умолчанию таковы.
|
||||
; В будущем они, возможно, будут считываться как параметры из ini-файла console.ini.
|
||||
; In the current implementation, the default values are:
|
||||
; In the future, they may be read as parameters from the console.ini ini file.
|
||||
con.def_wnd_width dd 80
|
||||
con.def_wnd_height dd 25
|
||||
con.def_scr_width dd 80
|
||||
|
||||
@@ -1,91 +1,91 @@
|
||||
console.obj ¤ъёяюЁЄшЁєхЄ ёыхфє■∙шх ЇєэъЎшш:
|
||||
console.obj экспортирует следующие функции:
|
||||
|
||||
typedef unsigned long dword; /* 32-сшЄэюх схччэръютюх Ўхыюх */
|
||||
typedef unsigned short word; /* 16-сшЄэюх схччэръютюх Ўхыюх */
|
||||
typedef unsigned long dword; /* 32-битное беззнаковое целое */
|
||||
typedef unsigned short word; /* 16-битное беззнаковое целое */
|
||||
|
||||
void __stdcall con_init(dword wnd_width, dword wnd_height,
|
||||
dword scr_width, dword scr_height, const char* title);
|
||||
╚эшЎшрышчрЎш ъюэёюыш. ┬√ч√трхЄё юфшэ Ёрч т эрўрых яЁюуЁрьь√.
|
||||
wnd_width, wnd_height - т√ёюЄр ш °шЁшэр (т ёшьтюырї) тшфшьющ т юъэх ъюэёюыш
|
||||
юсырёЄш;
|
||||
scr_width, scr_height - т√ёюЄр ш °шЁшэр (т ёшьтюырї) тёхщ ъюэёюыш;
|
||||
ы■с√х шч яхЁт√ї 4 ярЁрьхЄЁют ьюуєЄ с√Є№ єёЄрэютыхэ√ т -1 (=0xFFFFFFFF)
|
||||
- шёяюы№чютрЄ№ чэрўхэш яю єьюыўрэш■;
|
||||
title - чруюыютюъ юъэр ъюэёюыш.
|
||||
Инициализация консоли. Вызывается один раз в начале программы.
|
||||
wnd_width, wnd_height - высота и ширина (в символах) видимой в окне консоли
|
||||
области;
|
||||
scr_width, scr_height - высота и ширина (в символах) всей консоли;
|
||||
любые из первых 4 параметров могут быть установлены в -1 (=0xFFFFFFFF)
|
||||
- использовать значения по умолчанию;
|
||||
title - заголовок окна консоли.
|
||||
|
||||
void __stdcall con_exit(bool bCloseWindow);
|
||||
┬√ч√трхЄё яЁш чртхЁ°хэшш яЁюуЁрьь√. ┼ёыш (срщЄют√щ) ярЁрьхЄЁ bCloseWindow
|
||||
эєыхтющ, Єю юъэю ъюэёюыш юёЄр╕Єё эр ¤ъЁрэх фю Єюую ьюьхэЄр, ъръ яюы№чютрЄхы№
|
||||
яюцхырхЄ чръЁ√Є№ хую, яЁш ¤Єюь ъ чруюыютъє фюсрты хЄё ёЄЁюър " [Finished]".
|
||||
Вызывается при завершении программы. Если (байтовый) параметр bCloseWindow
|
||||
нулевой, то окно консоли остаётся на экране до того момента, как пользователь
|
||||
пожелает закрыть его, при этом к заголовку добавляется строка " [Finished]".
|
||||
|
||||
void __stdcall con_set_title(const char* title);
|
||||
╙ёЄрэртыштрхЄ эют√щ чруюыютюъ юъэр ъюэёюыш.
|
||||
Устанавливает новый заголовок окна консоли.
|
||||
|
||||
void __stdcall con_write_asciiz(const char* string);
|
||||
┬√тюфшЄ ASCIIZ-ёЄЁюъє т ъюэёюы№ т Єхъє∙є■ яючшЎш■, яЁюфтшурхЄ Єхъє∙є■ яючшЎш■.
|
||||
Выводит ASCIIZ-строку в консоль в текущую позицию, продвигает текущую позицию.
|
||||
|
||||
void __stdcall con_write_string(const char* string, dword length);
|
||||
└эрыюушўэю con_write_asciiz, эю т√тюфшЄ Ёютэю length ёшьтюыют.
|
||||
Аналогично con_write_asciiz, но выводит ровно length символов.
|
||||
|
||||
int __cdecl con_printf(const char* format, ...)
|
||||
╤ЄрэфрЁЄэр printf шч ANSI C.
|
||||
Стандартная printf из ANSI C.
|
||||
|
||||
dword __stdcall con_get_flags(void);
|
||||
╧юыєўрхЄ чэрўхэшх Їыруют т√тюфр.
|
||||
Получает значение флагов вывода.
|
||||
dword __stdcall con_set_flags(dword new_flags);
|
||||
╙ёЄрэртыштрхЄ чэрўхэшх Їыруют т√тюфр. ┬ючтЁр∙рхЄ ёЄрЁюх чэрўхэшх.
|
||||
╘ыруш (сшЄютр ьрёър):
|
||||
/* ЎтхЄ ЄхъёЄр */
|
||||
Устанавливает значение флагов вывода. Возвращает старое значение.
|
||||
Флаги (битовая маска):
|
||||
/* цвет текста */
|
||||
#define CON_COLOR_BLUE 1
|
||||
#define CON_COLOR_GREEN 2
|
||||
#define CON_COLOR_RED 4
|
||||
#define CON_COLOR_BRIGHT 8
|
||||
/* ЎтхЄ Їюэр */
|
||||
/* цвет фона */
|
||||
#define CON_BGR_BLUE 0x10
|
||||
#define CON_BGR_GREEN 0x20
|
||||
#define CON_BGR_RED 0x40
|
||||
#define CON_BGR_BRIGHT 0x80
|
||||
/* єяЁртыхэшх т√тюфюь */
|
||||
/* управление выводом */
|
||||
#define CON_IGNORE_SPECIALS 0x100
|
||||
/* ┼ёыш Їыру ёсЁю°хэ, ЇєэъЎш шэЄхЁяЁхЄшЁєхЄ ёяхЎшры№э√х ёшьтюы√:
|
||||
10 ('\n') - яхЁхтюф т эрўрыю ёыхфє■∙хщ ёЄЁюъш
|
||||
13 ('\r') - яхЁхтюф т эрўрыю Єхъє∙хщ ёЄЁюъш
|
||||
8 ('\b') - чрсющ (эр ёшьтюы эрчрф)
|
||||
9 ('\t') - Єрсєы Ўш
|
||||
27 ('\033'='\x1B') - эрўрыю Esc-яюёыхфютрЄхы№эюёЄш;
|
||||
шэрўх т√тюфшЄ шї ъръ юс√ўэ√х ёшьтюы√. */
|
||||
/* ╧юффхЁцштрхь√х Esc-яюёыхфютрЄхы№эюёЄш:
|
||||
Esc[<number1>;<number2>;<number3>m - т√сюЁ рЄЁшсєЄют ёшьтюыют:
|
||||
ьюцэю єърч√трЄ№ юфшэ, фтр шыш ЄЁш ъюфр т ы■сюь яюЁ фъх;
|
||||
0 = эюЁьры№эюх шчюсЁрцхэшх (схы√х ёшьтюы√ эр ў╕Ёэюь Їюэх)
|
||||
1 = т√фхыхэшх ЁъюёЄ№■
|
||||
5 = Ёъшщ Їюэ
|
||||
7 = ЁхтхЁёэюх шчюсЁрцхэшх (ў╕Ёэ√х ёшьтюы√ эр схыюь Їюэх)
|
||||
30 = ў╕Ёэ√х ёшьтюы√
|
||||
31 = ъЁрёэ√х ёшьтюы√
|
||||
32 = чхы╕э√х ёшьтюы√
|
||||
33 = ц╕ыЄ√х ёшьтюы√
|
||||
34 = ёшэшх ёшьтюы√
|
||||
35 = ЇшюыхЄют√х ёшьтюы√
|
||||
36 = сшЁ■чют√х ёшьтюы√
|
||||
37 = схы√х ёшьтюы√
|
||||
40 = ў╕Ёэ√щ Їюэ
|
||||
41 = ъЁрёэ√щ Їюэ
|
||||
42 = чхы╕э√щ Їюэ
|
||||
43 = ц╕ыЄ√щ Їюэ
|
||||
44 = ёшэшщ Їюэ
|
||||
45 = ЇшюыхЄют√щ Їюэ
|
||||
46 = сшЁ■чют√щ Їюэ
|
||||
47 = схы√щ Їюэ
|
||||
╤ыхфє■∙шх яюёыхфютрЄхы№эюёЄш яю тшышё№ т тхЁёшш 5 сшсышюЄхъш:
|
||||
Esc[<number>A - яхЁхьхёЄшЄ№ ъєЁёюЁ эр <number> ёЄЁюъ ттхЁї
|
||||
Esc[<number>B - яхЁхьхёЄшЄ№ ъєЁёюЁ эр <number> ёЄЁюъ тэшч
|
||||
Esc[<number>C - яхЁхьхёЄшЄ№ ъєЁёюЁ эр <number> яючшЎшщ тяЁртю
|
||||
Esc[<number>D - яхЁхьхёЄшЄ№ ъєЁёюЁ эр <number> яючшЎшщ тыхтю
|
||||
/* Если флаг сброшен, функция интерпретирует специальные символы:
|
||||
10 ('\n') - перевод в начало следующей строки
|
||||
13 ('\r') - перевод в начало текущей строки
|
||||
8 ('\b') - забой (на символ назад)
|
||||
9 ('\t') - табуляция
|
||||
27 ('\033'='\x1B') - начало Esc-последовательности;
|
||||
иначе выводит их как обычные символы. */
|
||||
/* Поддерживаемые Esc-последовательности:
|
||||
Esc[<number1>;<number2>;<number3>m - выбор атрибутов символов:
|
||||
можно указывать один, два или три кода в любом порядке;
|
||||
0 = нормальное изображение (белые символы на чёрном фоне)
|
||||
1 = выделение яркостью
|
||||
5 = яркий фон
|
||||
7 = реверсное изображение (чёрные символы на белом фоне)
|
||||
30 = чёрные символы
|
||||
31 = красные символы
|
||||
32 = зелёные символы
|
||||
33 = жёлтые символы
|
||||
34 = синие символы
|
||||
35 = фиолетовые символы
|
||||
36 = бирюзовые символы
|
||||
37 = белые символы
|
||||
40 = чёрный фон
|
||||
41 = красный фон
|
||||
42 = зелёный фон
|
||||
43 = жёлтый фон
|
||||
44 = синий фон
|
||||
45 = фиолетовый фон
|
||||
46 = бирюзовый фон
|
||||
47 = белый фон
|
||||
Следующие последовательности появились в версии 5 библиотеки:
|
||||
Esc[<number>A - переместить курсор на <number> строк вверх
|
||||
Esc[<number>B - переместить курсор на <number> строк вниз
|
||||
Esc[<number>C - переместить курсор на <number> позиций вправо
|
||||
Esc[<number>D - переместить курсор на <number> позиций влево
|
||||
Esc[<number1>;<number2>H = Esc[<number1>;<number2>f -
|
||||
єёЄрэютшЄ№ ъєЁёюЁ т яючшЎш■ ё ъююЁфшэрЄрьш <number1>,<number2>
|
||||
Esc[2J - юўшёЄшЄ№ ¤ъЁрэ, яхЁхьхёЄшЄ№ ъєЁёюЁ т ыхт√щ тхЁїэшщ єуюы
|
||||
╤ыхфє■∙шх яюёыхфютрЄхы№эюёЄш яю тшышё№ т тхЁёшш 9 сшсышюЄхъш:
|
||||
установить курсор в позицию с координатами <number1>,<number2>
|
||||
Esc[2J - очистить экран, переместить курсор в левый верхний угол
|
||||
Следующие последовательности появились в версии 9 библиотеки:
|
||||
Esc[J or Esc[0J - Erase everything below cursor
|
||||
Esc[1J - Erase everything above cursor
|
||||
Esc[K - Erase in line
|
||||
@@ -107,83 +107,83 @@ dword __stdcall con_set_flags(dword new_flags);
|
||||
Esc]2<string>ST/BEL - Implemented identical as Esc]0.
|
||||
|
||||
*/
|
||||
/* ёшуэры ю чръЁ√Єшш юъэр ъюэёюыш; яю тшыё т тхЁёшш 6 сшсышюЄхъш;
|
||||
Їыру шуэюЁшЁєхЄё ЇєэъЎшхщ con_set_flags */
|
||||
/* сигнал о закрытии окна консоли; появился в версии 6 библиотеки;
|
||||
флаг игнорируется функцией con_set_flags */
|
||||
#define CON_WINDOW_CLOSED 0x200
|
||||
╟эрўхэшх яю єьюыўрэш■ фы Їыруют = 7.
|
||||
Значение по умолчанию для флагов = 7.
|
||||
|
||||
int __stdcall con_get_font_height(void);
|
||||
┬ючтЁр∙рхЄ чэрўхэшх т√ёюЄ√ °ЁшЇЄр.
|
||||
Возвращает значение высоты шрифта.
|
||||
|
||||
int __stdcall con_get_cursor_height(void);
|
||||
╧юыєўрхЄ чэрўхэшх т√ёюЄ√ ъєЁёюЁр.
|
||||
Получает значение высоты курсора.
|
||||
int __stdcall con_set_cursor_height(int new_height);
|
||||
╙ёЄрэртыштрхЄ чэрўхэшх т√ёюЄ√ ъєЁёюЁр. ┬ючтЁр∙рхЄ ёЄрЁюх чэрўхэшх.
|
||||
╧юя√Єър єёЄрэютшЄ№ чэрўхэшх тэх ъюЁЁхъЄэюую шэЄхЁтрыр (юЄ 0 фю font_height-1)
|
||||
шуэюЁшЁєхЄё .
|
||||
╩єЁёюЁ т√ёюЄ√ 0 эх юЄюсЁрцрхЄё эр ¤ъЁрэх.
|
||||
╟эрўхэшх т√ёюЄ√ яю єьюыўрэш■ - 15% юЄ т√ёюЄ√ °ЁшЇЄр.
|
||||
Устанавливает значение высоты курсора. Возвращает старое значение.
|
||||
Попытка установить значение вне корректного интервала (от 0 до font_height-1)
|
||||
игнорируется.
|
||||
Курсор высоты 0 не отображается на экране.
|
||||
Значение высоты по умолчанию - 15% от высоты шрифта.
|
||||
|
||||
int __stdcall con_getch(void);
|
||||
╤ўшЄ√трхЄ юфшэ ёшьтюы ё ъыртшрЄєЁ√.
|
||||
─ы юс√ўэ√ї ёшьтюыют тючтЁр∙рхЄё ASCII-ъюф. ─ы Ёрё°шЁхээ√ї ёшьтюыют
|
||||
(эряЁшьхЁ, Fx ш ёЄЁхыюўхъ) яхЁт√щ т√чют ЇєэъЎшш тючтЁр∙рхЄ 0,
|
||||
р яютЄюЁэ√щ т√чют тючтЁр∙рхЄ Ёрё°шЁхээ√щ ъюф (яюфюсэю DOS-ЇєэъЎш ь ттюфр).
|
||||
═рўшэр ё тхЁёшш 7 сшсышюЄхъш, яюёых чръЁ√Єш юъэр ъюэёюыш тючтЁр∙рхЄё
|
||||
чэрўхэшх 0.
|
||||
Считывает один символ с клавиатуры.
|
||||
Для обычных символов возвращается ASCII-код. Для расширенных символов
|
||||
(например, Fx и стрелочек) первый вызов функции возвращает 0,
|
||||
а повторный вызов возвращает расширенный код (подобно DOS-функциям ввода).
|
||||
Начиная с версии 7 библиотеки, после закрытия окна консоли возвращается
|
||||
значение 0.
|
||||
|
||||
word __stdcall con_getch2(void);
|
||||
╤ўшЄ√трхЄ юфшэ ёшьтюы ё ъыртшрЄєЁ√. ╠ырф°шщ срщЄ ёюфхЁцшЄ ASCII-ъюф ъыртш°ш
|
||||
(0 фы Ёрё°шЁхээ√ї ёшьтюыют), ёЄрЁ°шщ - Ёрё°шЁхээ√щ ъюф
|
||||
(яюфюсэю BIOS-ЇєэъЎш ь ттюфр).
|
||||
═рўшэр ё тхЁёшш 7 сшсышюЄхъш, яюёых чръЁ√Єш юъэр ъюэёюыш тючтЁр∙рхЄё
|
||||
чэрўхэшх 0.
|
||||
Считывает один символ с клавиатуры. Младший байт содержит ASCII-код клавиши
|
||||
(0 для расширенных символов), старший - расширенный код
|
||||
(подобно BIOS-функциям ввода).
|
||||
Начиная с версии 7 библиотеки, после закрытия окна консоли возвращается
|
||||
значение 0.
|
||||
|
||||
int __stdcall con_kbhit(void);
|
||||
┬ючтЁр∙рхЄ 1, хёыш ърър -Єю ъыртш°р с√ыр эрцрЄр, 0 шэрўх. ─ы ёўшЄ√трэш
|
||||
эрцрЄющ ъыртш°ш яЁхфэрчэрўхэ√ ЇєэъЎшш con_getch ш con_getch2.
|
||||
═рўшэр ё тхЁёшш 6 сшсышюЄхъш, яюёых чръЁ√Єш юъэр ъюэёюыш тёхуфр тючтЁр∙рхЄ 1.
|
||||
Возвращает 1, если какая-то клавиша была нажата, 0 иначе. Для считывания
|
||||
нажатой клавиши предназначены функции con_getch и con_getch2.
|
||||
Начиная с версии 6 библиотеки, после закрытия окна консоли всегда возвращает 1.
|
||||
|
||||
char* __stdcall con_gets(char* str, int n);
|
||||
╤ўшЄ√трхЄ ёЄЁюъє ё ъыртшрЄєЁ√. ┬тюф яЁхЁ√трхЄё яЁш яюёЄєяыхэшш ёшьтюыр
|
||||
эютющ ёЄЁюъш, р Єръцх яю яЁюўЄхэшш n-1 ёшьтюыр (т чртшёшьюёЄш юЄ Єюую, ўЄю
|
||||
яЁюшчющф╕Є Ёрэ№°х). ┬ яхЁтюь ёыєўрх ёшьтюы эютющ ёЄЁюъш Єръцх чряшё√трхЄё т
|
||||
str. ╤ўшЄрээр ёЄЁюър фюяюыэ хЄё эєыхт√ь ёшьтюыюь.
|
||||
═рўшэр ё тхЁёшш 6 сшсышюЄхъш, ЇєэъЎш тючтЁр∙рхЄ єърчрЄхы№ эр ттхф╕ээє■
|
||||
ёЄЁюъє яЁш єёях°эюь ўЄхэшш ш NULL, хёыш юъэю ъюэёюыш с√ыю чръЁ√Єю. ─ю тхЁёшш
|
||||
6 тючтЁр∙рхьюх чэрўхэшх с√ыю эхюяЁхфхыхэю.
|
||||
Считывает строку с клавиатуры. Ввод прерывается при поступлении символа
|
||||
новой строки, а также по прочтении n-1 символа (в зависимости от того, что
|
||||
произойдёт раньше). В первом случае символ новой строки также записывается в
|
||||
str. Считанная строка дополняется нулевым символом.
|
||||
Начиная с версии 6 библиотеки, функция возвращает указатель на введённую
|
||||
строку при успешном чтении и NULL, если окно консоли было закрыто. До версии
|
||||
6 возвращаемое значение было неопределено.
|
||||
|
||||
typedef int (__stdcall * con_gets2_callback)(int keycode, char** pstr, int* pn, int* ppos);
|
||||
char* __stdcall con_gets2(con_gets2_callback callback, char* str, int n);
|
||||
╘єэъЎш яю тшырё№ т тхЁёшш 4 сшсышюЄхъш.
|
||||
╧юыэюёЄ№■ рэрыюушўэр con_gets чр шёъы■ўхэшхь Єюую, ўЄю ъюуфр яюы№чютрЄхы№
|
||||
эрцшьрхЄ эхЁрёяючэрээє■ ъыртш°є, т√ч√трхЄё єърчрээр callback-яЁюЎхфєЁр
|
||||
(ъюЄюЁр ьюцхЄ, эряЁшьхЁ, юсЁрсрЄ√трЄ№ up/down фы шёЄюЁшш ттюфр ш tab фы
|
||||
ртЄюфюяюыэхэш ). ╧ЁюЎхфєЁх яхЁхфр╕Єё ъюф ъыртш°ш ш ЄЁш єърчрЄхы - эр ёЄЁюъє,
|
||||
эр ышьшЄ ш эр Єхъє∙є■ яючшЎш■ т ёЄЁюъх. ╧ЁюЎхфєЁр ьюцхЄ ьхэ Є№ ёюфхЁцшьюх
|
||||
ёЄЁюъш ш ьюцхЄ ьхэ Є№ ёрьє ёЄЁюъє (эряЁшьхЁ, яхЁхЁрёяЁхфхышЄ№ ярь Є№ фы
|
||||
єтхышўхэш ышьшЄр), ышьшЄ, яючшЎш■ т ёЄЁюъх - фы ¤Єюую ш яхЁхфр■Єё єърчрЄхыш.
|
||||
┬ючтЁр∙рхьюх чэрўхэшх: 0=ёЄЁюър эх ьхэ ырё№; 1=ёЄЁюър шчьхэшырё№, эхюсїюфшью
|
||||
єфрышЄ№ ёЄрЁє■ ш т√тхёЄш эютє■; 2=ёЄЁюър шчьхэшырё№, эхюсїюфшью х╕ т√тхёЄш;
|
||||
3=эхьхфыхээю т√щЄш шч ЇєэъЎшш.
|
||||
═рўшэр ё тхЁёшш 6 сшсышюЄхъш, ЇєэъЎш тючтЁр∙рхЄ єърчрЄхы№ эр ттхф╕ээє■
|
||||
ёЄЁюъє яЁш єёях°эюь ўЄхэшш ш NULL, хёыш юъэю ъюэёюыш с√ыю чръЁ√Єю. ─ю тхЁёшш
|
||||
6 тючтЁр∙рхьюх чэрўхэшх с√ыю эхюяЁхфхыхэю.
|
||||
Функция появилась в версии 4 библиотеки.
|
||||
Полностью аналогична con_gets за исключением того, что когда пользователь
|
||||
нажимает нераспознанную клавишу, вызывается указанная callback-процедура
|
||||
(которая может, например, обрабатывать up/down для истории ввода и tab для
|
||||
автодополнения). Процедуре передаётся код клавиши и три указателя - на строку,
|
||||
на лимит и на текущую позицию в строке. Процедура может менять содержимое
|
||||
строки и может менять саму строку (например, перераспределить память для
|
||||
увеличения лимита), лимит, позицию в строке - для этого и передаются указатели.
|
||||
Возвращаемое значение: 0=строка не менялась; 1=строка изменилась, необходимо
|
||||
удалить старую и вывести новую; 2=строка изменилась, необходимо её вывести;
|
||||
3=немедленно выйти из функции.
|
||||
Начиная с версии 6 библиотеки, функция возвращает указатель на введённую
|
||||
строку при успешном чтении и NULL, если окно консоли было закрыто. До версии
|
||||
6 возвращаемое значение было неопределено.
|
||||
|
||||
void __stdcall con_cls();
|
||||
╘єэъЎш яю тшырё№ т тхЁёшш 5 сшсышюЄхъш.
|
||||
╬ўш∙рхЄ ¤ъЁрэ ш яхЁхтюфшЄ ъєЁёюЁ т ыхт√щ тхЁїэшщ єуюы.
|
||||
Функция появилась в версии 5 библиотеки.
|
||||
Очищает экран и переводит курсор в левый верхний угол.
|
||||
|
||||
void __stdcall con_get_cursor_pos(int* px, int* py);
|
||||
╘єэъЎш яю тшырё№ т тхЁёшш 5 сшсышюЄхъш.
|
||||
╟ряшё√трхЄ т *px Єхъє∙є■ ъююЁфшэрЄє ъєЁёюЁр яю юёш x, т *py - яю юёш y.
|
||||
Функция появилась в версии 5 библиотеки.
|
||||
Записывает в *px текущую координату курсора по оси x, в *py - по оси y.
|
||||
|
||||
void __stdcall con_set_cursor_pos(int x, int y);
|
||||
╘єэъЎш яю тшырё№ т тхЁёшш 5 сшсышюЄхъш.
|
||||
╙ёЄрэртыштрхЄ ъєЁёюЁ т яючшЎш■ ё єърчрээ√ьш ъююЁфшэрЄрьш. ┼ёыш ъръющ-Єю шч
|
||||
ярЁрьхЄЁют т√їюфшЄ чр яЁхфхы√ ёююЄтхЄёЄтє■∙хую фшрярчюэр (юЄ 0 фю scr_width-1
|
||||
фы x, юЄ 0 фю scr_height-1 фы y, scr_width ш scr_height с√ыш чрфрэ√ яЁш
|
||||
т√чютх con_init), Єю ёююЄтхЄёЄтє■∙р ъююЁфшэрЄр ъєЁёюЁр эх ьхэ хЄё .
|
||||
Функция появилась в версии 5 библиотеки.
|
||||
Устанавливает курсор в позицию с указанными координатами. Если какой-то из
|
||||
параметров выходит за пределы соответствующего диапазона (от 0 до scr_width-1
|
||||
для x, от 0 до scr_height-1 для y, scr_width и scr_height были заданы при
|
||||
вызове con_init), то соответствующая координата курсора не меняется.
|
||||
|
||||
int __stdcall con_get_input(char* buf, int buflen);
|
||||
Read as many input events as are available and fit in the receive buffer.
|
||||
|
||||
Reference in new issue
Block a user