Bonjour
Malgré ma lecture de la faq à ce sujet je n'arrive pas à faire disparaitre mon curseur dans la fenetre texte. Je voudrais qu'il n'apparaisse jamais dans tout le programme comment je fais?
Merci d'avance
Xavier
Bonjour
Malgré ma lecture de la faq à ce sujet je n'arrive pas à faire disparaitre mon curseur dans la fenetre texte. Je voudrais qu'il n'apparaisse jamais dans tout le programme comment je fais?
Merci d'avance
Xavier
impossible tu veut faire disparaitre le curseur enmode consoleje crois pas que tu peux faire ca en mode console en mode graphique oui.
utilise la fonction delay(); si tu veux par exemple que le programme s'interrompe .
Salut !
je crois que le curseur prend la couleur du texte, c'est bien ça ?
dans ce cas, après avoir écrit ton texte tu fais un textcolor(couleur_de_l_arrière_plan) et ça fait disparaitre le curseur.
mais bon, je ferais bien d'essayer avant d'en reparler...
a+
Bonjour,
Les consoles ne sont pas normalisées. Il est très difficile de définir une opération autre que "écrire dans la console".
L'utilisation des couleurs, le déplacement à l'intérieur de celle-ci, l'effacement, ... sont des notions spécifiques à la plateforme utilisée.
D'où la question qui tue, sur quelle plateforme veux-tu effacer ton curseur ? Dos ? Windows ? Linux ? Autre ?
@++
j'ai questioner mon prof d'info im m'a dit que c'etait impossible d'enlever le curseur en mode consolea moin de le camoufler avec l'arriere plan comme la dit sheerif
![]()
C'est faux, il est tout à fait possible de le faire disparaître sous Dos... Donc la connaissance de l'environnement est nécessaire.
comme l'indique hdd34, cela dépend de l'OS.
Avec Windows, on utilise les API WIN32
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 program cvis; uses windows; procedure Curseur_Visible (rep : boolean); var ecran_handle : Thandle; curseur_info : TConsoleCursorInfo; ok : boolean; begin ecran_handle := GetStdHandle (STD_OUTPUT_HANDLE); curseur_info.dwSize := 10; curseur_info.bvisible := rep ; ok := SetConsoleCursorInfo (ecran_handle,curseur_info); end; begin writeln ('curseur disparait, appuyez sur entree'); Curseur_Visible (false); readln; writeln ('curseur revient, appuyez sur entree'); Curseur_Visible (true); readln; end.
Pour dos, on peut intégrer de l'assembleur, comme ici:
On utilise pour ça la sous-fonction 01 de l'interruption graphique 10h.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 begin {procédure principale} asm mov ax, 0100h mov cl, 010h mov ch, 010h int 10h end; {Curseur désormais invisible} {....} asm mov ax, 0100h mov cl, 020h mov ch, 020h int 10h end; {Restaure le curseur standard} end.
Plus de détails sur les interruptions : http://lrs.fmi.uni-passau.de/support...upt-57/INT.HTM
a++
voir l'excellent livre "The programmer's PC source book" de thom Hogan. On y trouve en détails tous les interrupts dos + bien d'autres choses.
Partager