Jak w paskalu zwiększyc ilosc wierszy z 25 na więcej np 50?
[glowa] Dzienki
Jak w paskalu zwiększyc ilosc wierszy z 25 na więcej np 50?
[glowa] Dzienki
To o procedurze textmode z często olewanych annałów (zwanych potocznie helpem)...
The following call to TextMode
TextMode(C80 + Font8x8)
will reset the display into 43 lines and 80 columns on an EGA, or 50 lines
and 80 columns on a VGA with a color monitor. TextMode(Lo(LastMode)) always
turns off 43- or 50-line mode and resets the display (although it leaves the
video mode unchanged); while
TextMode(Lo(LastMode) + Font8x8)
will keep the video mode the same, but reset the display into 43 or 50
lines.
If your system is in 43- or 50-line mode when you load a program, the mode
will be preserved by the Crt startup code, and the window variable that
keeps track of the maximum number of lines on the screen (WindMax) will be
initialized correctly.
A jak nie chcesz crt...
const
{scanlines}
_200=0;
_350=1;
_400=2;
{modes}
gr40=0; {grey 40 columns}
co40=1; {color}
gr80=2; {80 columns}
co80=3;
bw80=7; {monochromatic}
{fonts}
_8x16=4;
_8x14=1;
_8x8 =2;
procedure setscreen(mode,scanlines,fontsize:byte);
assembler;
asm
mov al,[scanlines]
mov ah,12h
mov bl,30h
int 10h
mov ax,1103h
xor bl,bl
int 10h
mov al,[mode]
xor ah,ah
int 10h
mov ax,1110h
or al,[fontsize]
xor bl,bl
int 10h
end;
setscreen(co40,_200,_8x16); {200 div 16 linii tekstu}
setscreen(co80,_400,_8x8); {400 div 8 ... = 50}