Bonjour, Je vous propose un nouvel élément à utiliser : [VT100] Positionnement curseur et code ANSI
[VT100] Positionnement curseur et code ANSI
Qu'en pensez-vous ?
Bonjour, Je vous propose un nouvel élément à utiliser : [VT100] Positionnement curseur et code ANSI
[VT100] Positionnement curseur et code ANSI
Qu'en pensez-vous ?
Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation
Lisez le magazine de developpez.com. Mes tutos : http://pottiez.developpez.com
La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français
N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .
Bonjour,
Voici une version avec quelques nouvelles séquences (j'y ai ajouté les quelques touches aussi)
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183 /*! * \defgroup grpVT100 VT100 * @{ */ // VT100 : ANSI escape code #define CSI "\x1B[" /*!< Séquence escape ANSI */ #if defined(_MSDOS) || defined(_WIN32) || defined(__CYGWIN32__) || defined(__CYGWIN__) #define CRLF "\n\r" /*!< Retour à la ligne (WINDOWS) */ #else #define CRLF "\n" /*!< Retour à la ligne (LINUX) */ #endif /*! * \defgroup actecrVT100 Actions sur l'écran d'un terminal * @{ */ // VT100 : Actions sur l'écran d'un terminal #define CLEAREOL CSI "K" /*!< Clear End Of Line */ #define CLEARLCR CSI "0K" /*!< Clear Line Cursor Right */ #define CLEARLCL CSI "1K" /*!< Clear Line Cursor Left */ #define CLEARELN CSI "2K" /*!< Clear Entire LiNe */ #define CLEAREOS CSI "J" /*!< Clear End Of Screen */ #define CLEARCDW CSI "0J" /*!< Clear Curseur DoWn */ #define CLEARCUP CSI "1J" /*!< Clear Curseur UP */ #define CLEARSCR CSI "2J" CSI ";H" /*!< Clear SCReen */ /*! * @} */ /*! * \defgroup actcurVT100 Actions sur le curseur * @{ */ // VT100 : Actions sur le curseur #define HIDECURSOR CSI "?25l" /*!< Fait disparaitre le curseur */ #define SHOWCURSOR CSI "?25h" /*!< Affiche le curseur à l'écran */ #define GOTOYX CSI "%.2d;%.2dH" /*!< Positionne le curseur en (y,x) */ #define CURSORFORWARD CSI "%dC" /*!< Avance le curseur de %d caractères */ #define CURSORBACKWARD CSI "%dD" /*!< Recule le curseur de %d caractères */ #define SAVCURSORPOS CSI "s" /*!< Sauve la position du curseur */ #define RESCURSORPOS CSI "u" /*!< Restore la position du curseur */ #define INSERTMOD CSI "4h" /*!< Mode insertion */ #define OVERWRITEMOD CSI "4l" /*!< Mode de non insertion */ #define DECSTBM CSI "%.2d;%.2dr" /*!< Positionne la marge haute et basse */ /*! * @} */ /*! * \defgroup actcarVT100 Actions sur les caractères affichables * @{ */ // VT100 : Actions sur les caractères affichables #define CA_RESET CSI "00m" /*!< Reset */ #define CA_BRIGHT CSI "01m" /*!< Gras */ #define CA_NOBRIGHT CSI "22m" /*!< Normal */ #define CA_UNDERLINE CSI "04m" /*!< Souligné */ #define CA_NOUNDERLINE CSI "24m" /*!< Non souligné */ #define CA_BLINKING CSI "05m" /*!< Clignotant */ #define CA_NOBLINKING CSI "25m" /*!< Non clignotant */ #define CA_REVERSE CSI "07m" /*!< Inverse vidéo */ #define CA_NOREVERSE CSI "27m" /*!< Vidéo non inversée */ #define CA_HIDDEN CSI "08m" /*!< Invisible */ #define CA_NOHIDDEN CSI "28m" /*!< Visible */ /*! * @} */ /*! * \defgroup actcoulVT100 Couleurs du texte * @{ */ // VT100 : Couleurs du texte #define CL_BLACK CSI "22;30m" /*!< Noir */ #define CL_RED CSI "22;31m" /*!< Rouge */ #define CL_GREEN CSI "22;32m" /*!< Vert */ #define CL_BROWN CSI "22;33m" /*!< Brun */ #define CL_BLUE CSI "22;34m" /*!< Bleu */ #define CL_MAGENTA CSI "22;35m" /*!< Magenta */ #define CL_CYAN CSI "22;36m" /*!< Cyan */ #define CL_LIGHTGRAY CSI "22;37m" /*!< Gris */ #define CL_DARKGRAY CSI "01;30m" /*!< Gris foncé */ #define CL_LIGHTRED CSI "01;31m" /*!< Rouge clair */ #define CL_LIGHTGREEN CSI "01;32m" /*!< Vert clair */ #define CL_YELLOW CSI "01;33m" /*!< Jaune */ #define CL_LIGHTBLUE CSI "01;34m" /*!< Bleu clair */ #define CL_LIGHTMAGENTA CSI "01;35m" /*!< Magenta clair */ #define CL_LIGHTCYAN CSI "01;36m" /*!< Cyan clair */ #define CL_WHITE CSI "01;37m" /*!< Blanc */ /*! * @} */ /*! * \defgroup actcoulfondVT100 Couleurs du fond * @{ */ // VT100 : Couleurs de fond #define BK_BLACK CSI "22;40m" /*!< Noir */ #define BK_RED CSI "22;41m" /*!< Rouge */ #define BK_GREEN CSI "22;42m" /*!< Vert */ #define BK_YELLOW CSI "22;43m" /*!< Jaune */ #define BK_BLUE CSI "22;44m" /*!< Bleu */ #define BK_MAGENTA CSI "22;45m" /*!< Magenta */ #define BK_CYAN CSI "22;46m" /*!< Cyan */ #define BK_WHITE CSI "22;47m" /*!< Blanc */ /*! * @} */ /*! * \defgroup deftouchVT100 Quelques touches mono-code * @{ */ // VT100 : Quelques touches mono-code #define V_DEL 0x08 /*!< Touche DEL */ #define V_TAB 0x09 /*!< Touche TABulation */ #define V_ENTER 0x0D /*!< Touche ENTER */ #define V_ESC 0x1B /*!< Touche ESCape */ #define V_CTRLA 0x01 /*!< Touche CTRL+A */ #define V_CTRLB 0x02 /*!< Touche CTRL+B */ #define V_CTRLC 0x03 /*!< Touche CTRL+C */ #define V_CTRLD 0x04 /*!< Touche CTRL+D */ #define V_CTRLE 0x05 /*!< Touche CTRL+E */ #define V_CTRLF 0x06 /*!< Touche CTRL+F */ #define V_CTRLG 0x07 /*!< Touche CTRL+G */ #define V_CTRLH 0x08 /*!< Touche CTRL+H */ #define V_CTRLI 0x09 /*!< Touche CTRL+I */ #define V_CTRLJ 0x0A /*!< Touche CTRL+J */ #define V_CTRLK 0x0B /*!< Touche CTRL+K */ #define V_CTRLL 0x0C /*!< Touche CTRL+L */ #define V_CTRLM 0x0D /*!< Touche CTRL+M - Attention: identique à V_ENTER */ #define V_CTRLN 0x0E /*!< Touche CTRL+N */ #define V_CTRLO 0x0F /*!< Touche CTRL+O */ #define V_CTRLP 0x10 /*!< Touche CTRL+P */ #define V_CTRLQ 0x11 /*!< Touche CTRL+Q */ #define V_CTRLR 0x12 /*!< Touche CTRL+R */ #define V_CTRLS 0x13 /*!< Touche CTRL+S */ #define V_CTRLT 0x14 /*!< Touche CTRL+T */ #define V_CTRLU 0x15 /*!< Touche CTRL+U */ #define V_CTRLV 0x16 /*!< Touche CTRL+V */ #define V_CTRLW 0x17 /*!< Touche CTRL+W */ #define V_CTRLX 0x18 /*!< Touche CTRL+X */ #define V_CTRLY 0x19 /*!< Touche CTRL+Y */ #define V_CTRLZ 0x1A /*!< Touche CTRL+Z */ /*! * @} */ /*! * \defgroup def3touchVT100 Quelques touches triple-code * @{ */ // VT100 : Quelques touches triple-code /* Structure d'une touche : ESC<code1><code2> Exp : Flêche Haute = ESC[A ==> V_ESC + VCD1 + V_FLCH Exp : Touche F1 = ESCOA ==> V_ESC + VCD2 + V_F1 */ #define VCD1 '[' /*!< Code 1 */ #define V_FLCH 'A' /*!< Flêche haute */ #define V_FLCB 'B' /*!< Flêche basse */ #define V_FLCD 'C' /*!< Flêche droite */ #define V_FLCG 'D' /*!< Flêche gauche */ #define VCD2 'O' /*!< Code 2 */ #define V_F1 'P' /*!< Touche F1 */ #define V_F2 'Q' /*!< Touche F2 */ #define V_F3 'R' /*!< Touche F3 */ #define V_F4 'S' /*!< Touche F4 */ #define V_F5 'T' /*!< Touche F5 */ #define V_F6 'U' /*!< Touche F6 */ #define V_F7 'V' /*!< Touche F7 */ #define V_F8 'W' /*!< Touche F8 */ #define V_F9 'X' /*!< Touche F9 */ #define V_F10 'Y' /*!< Touche F10 */ #define V_F11 'Z' /*!< Touche F11 */ #define V_F12 'A' /*!< Touche F12 */ /*! * @} * @} */
- Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !
- Travailler dur n'a jamais tué personne, mais pourquoi prendre le risque (Edgar Bergen)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager