Modifier la taille de l'écran texte
Bonjour
Je travaille avec l'unité CRT, et j'en suis un adepte.
Je sais qu'on peut modifier la taille de la fenêtre CRT avant le démarrage du programme ou dans le réglage de l'environnement du compilateur.
Cependant j'aimerais aller plus loin dans la difficulté et modifier la taille de la fenêtre CRT en cours de programme.
Petite fenêtre (80 col, 80 lig) pour une partie du programme et 200 col, 80 lig pour une autre partie.
j'ai bien essayé un tuto Turbo Pascal :
Citation:
Code:
1 2 3 4 5 6 7
| Type
TTextScreen = Array [1..25, 1..80] of Record
Ch : Char;
Color : Byte;
end;
Var
TextScreen : TTextScreen absolute $B800:$0000; |
Par la suite, il suffit d'écrire directement dans la variable TextScreen pour placer un caractère sur l'écran :
Code:
1 2 3 4 5
| Procedure WriteChar (X, Y : Byte; Ch : Char; FgColor, BkColor : Byte);
Begin
TextScreen[Y, X].Ch := Ch;
TextScreen[Y, X].Color := (BkColor shl 4) or (FgColor and 15);
End; |
Ce que j'ai écrit :
Code:
1 2 3 4 5 6 7 8 9
| TYPE
TTEXTSCREEN = ARRAY [1..80,1..200] OF RECORD
CH : CHAR;
COLOR : BYTE;
END;
VAR
TEXTSCREEN : TTEXTSCREEN ABSOLUTE $B800:$0000; |
Mais le compilateur me jette à l'instruction absolute.
Avez-vous une idée ?
Merci