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