Nickolay.info. Алгоритмы. Отключение текстового курсора в окне консоли Паскаля

На Паскале нетрудно отключить обычный текстовый курсор в окне консоли.

Ниже приводится листинг с 2 процедурами и пример на них.

Процедура console_cursor_off; отключает курсор DOS в начале работы программы, а console_cursor_on; восстанавливает его перед выходом.

uses dos,crt;

procedure console_cursor_off;
var r: registers;
begin
 r.Ah:=1;
 r.Ch:=32;
 Intr($10,r)
end;

procedure console_cursor_on;
var r: registers;
begin
 r.Ah:=1;
 r.Cx:=3;
 Intr($10,r)
end;


begin
 console_cursor_off;
 clrscr;
 gotoxy (30,15);
 write ('test string');
 gotoxy (30,25);
 write ('another test');
 repeat until keypressed;
 console_cursor_on;
end.

Тип данных registers описан в модуле Dos, так что нужно подключить этот модуль (в других сборках Паскаля это может быть модуль с именем WinDOS).

Процедуры сработают в Borland'овском Паскале, имеющем дело с "настоящей" консолью DOS (или "эмулированной" средствами Windows DOS-консолью), соответственно, поддерживающем прерывания DOS. О работе во Free Pascal, Pascal ABC или подобных Windows-компиляторах (интерпретаторах) с Паскаля ничего не могу сказать.

Рейтинг@Mail.ru

вверх гостевая; E-mail