forked from KolibriOS/kolibrios
console library version 7; console examples updated
git-svn-id: svn://kolibrios.org@1145 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
5d45c37af3
commit
0dc8dae83d
@ -1225,7 +1225,7 @@ con_getch:
|
||||
ret
|
||||
|
||||
con_getch_closed:
|
||||
or eax, -1
|
||||
xor eax, eax
|
||||
ret
|
||||
|
||||
; int __stdcall con_getch2(void);
|
||||
@ -1255,8 +1255,6 @@ con_gets2:
|
||||
call con.get_data_ptr
|
||||
.loop:
|
||||
call con_getch2
|
||||
cmp eax, -1
|
||||
jz .closed
|
||||
test al, al
|
||||
jz .extended
|
||||
cmp al, 8
|
||||
@ -1413,6 +1411,8 @@ con_gets2:
|
||||
mov al, 0
|
||||
mov ah, 0xF
|
||||
.extended:
|
||||
test ah, ah
|
||||
jz .closed
|
||||
xchg al, ah
|
||||
cmp al, 0x4B
|
||||
jz .left
|
||||
@ -2273,7 +2273,7 @@ con.vscroll_pt dd -1
|
||||
align 16
|
||||
EXPORTS:
|
||||
dd szStart, START
|
||||
dd szVersion, 0x00020006
|
||||
dd szVersion, 0x00020007
|
||||
dd szcon_init, con_init
|
||||
dd szcon_write_asciiz, con_write_asciiz
|
||||
dd szcon_printf, con_printf
|
||||
|
@ -86,7 +86,7 @@ dword __stdcall con_set_flags(dword new_flags);
|
||||
Esc[<number>C - переместить курсор на <number> позиций вправо
|
||||
Esc[<number>D - переместить курсор на <number> позиций влево
|
||||
*/
|
||||
/* сигнал о закрытии окна консоли;
|
||||
/* сигнал о закрытии окна консоли; появился в версии 6 библиотеки;
|
||||
флаг игнорируется функцией con_set_flags */
|
||||
#define CON_WINDOW_CLOSED 0x200
|
||||
Значение по умолчанию для флагов = 7.
|
||||
@ -108,15 +108,15 @@ int __stdcall con_getch(void);
|
||||
Для обычных символов возвращается ASCII-код. Для расширенных символов
|
||||
(например, Fx и стрелочек) первый вызов функции возвращает 0,
|
||||
а повторный вызов возвращает расширенный код (подобно DOS-функциям ввода).
|
||||
Начиная с версии 6 библиотеки, после закрытия окна консоли возвращается
|
||||
значение -1.
|
||||
Начиная с версии 7 библиотеки, после закрытия окна консоли возвращается
|
||||
значение 0.
|
||||
|
||||
word __stdcall con_getch2(void);
|
||||
Считывает один символ с клавиатуры. Младший байт содержит ASCII-код клавиши
|
||||
(0 для расширенных символов), старший - расширенный код
|
||||
(подобно BIOS-функциям ввода).
|
||||
Начиная с версии 6 библиотеки, после закрытия окна консоли возвращается
|
||||
значение -1 (0xFFFF при интерпретации как word).
|
||||
Начиная с версии 7 библиотеки, после закрытия окна консоли возвращается
|
||||
значение 0.
|
||||
|
||||
int __stdcall con_kbhit(void);
|
||||
Возвращает 1, если какая-то клавиша была нажата, 0 иначе. Для считывания
|
||||
|
@ -68,6 +68,8 @@ mainloop:
|
||||
jmp mainloop
|
||||
extended:
|
||||
call [con_getch]
|
||||
test eax, eax
|
||||
jz done
|
||||
push eax
|
||||
push eax
|
||||
push string_extended
|
||||
|
@ -41,7 +41,7 @@ start:
|
||||
; for (;;)
|
||||
; {
|
||||
; con_write_asciiz("Enter string (empty for exit): ");
|
||||
; con_gets(s,256);
|
||||
; if (!con_gets(s,256)) break;
|
||||
; if (s[0] == '\n') break;
|
||||
; con_write_asciiz("You entered: ");
|
||||
; con_write_asciiz(s);
|
||||
@ -52,6 +52,8 @@ mainloop:
|
||||
push 256
|
||||
push s
|
||||
call [con_gets]
|
||||
test eax, eax
|
||||
jz done
|
||||
cmp [s], 10
|
||||
jz done
|
||||
push str2
|
||||
|
@ -41,7 +41,7 @@ start:
|
||||
; for (;;)
|
||||
; {
|
||||
; con_write_asciiz("Enter string (empty for exit): ");
|
||||
; con_gets2(mycallback,s,256);
|
||||
; if (!con_gets2(mycallback,s,256)) break;
|
||||
; if (s[0] == '\n') break;
|
||||
; con_write_asciiz("You entered: ");
|
||||
; con_write_asciiz(s);
|
||||
@ -53,6 +53,8 @@ mainloop:
|
||||
push s
|
||||
push mycallback
|
||||
call [con_gets2]
|
||||
test eax, eax
|
||||
jz done
|
||||
cmp [s], 10
|
||||
jz done
|
||||
push str2
|
||||
|
Loading…
Reference in New Issue
Block a user