Problème avec union REGS et C++ Builder 5 ! [C] - C++ - Programmation
Marsh Posté le 14-05-2002 à 16:49:37
Où tu as vu que c'était réservé Je ne le trouve pas dans l'aide...
Marsh Posté le 14-05-2002 à 17:01:37
antp a écrit a écrit : Où tu as vu que c'était réservé Je ne le trouve pas dans l'aide... |
Si, si, il y a un exemple qui y fait référence, le voici :
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#define VIDEO 0x10
void movetoxy(int x, int y)
{
union REGS regs;
regs.h.ah = 2; /* set cursor position */
regs.h.dh = y;
regs.h.dl = x;
regs.h.bh = 0; /* video page 0 */
int86(VIDEO, ®s, ®s);
}
int main(void)
{
clrscr();
movetoxy(35, 10);
printf("Hello\n" );
return 0;
}
Marsh Posté le 14-05-2002 à 17:06:01
C'est pas un mot réservé, c'est un type défini...
union REGS regs; -> on crée une union de type REGS
Il est défini où ce REGS normalement ?
Marsh Posté le 14-05-2002 à 17:10:20
antp a écrit a écrit : C'est pas un mot réservé, c'est un type défini... union REGS regs; -> on crée une union de type REGS Il est défini où ce REGS normalement ? |
Ce n'est pas un problème de l'union REGS, c'est un problème avec C++ Builder, car quand je prends mon source et que je le compile avec Borland C++ il marche nikel ! As-tu essayé de compiler l'exemple qui est ci-dessus avec le Builder ???
Marsh Posté le 14-05-2002 à 17:11:54
Borland C++Builder 5 et Borland C++ 5.0 me donnent la même erreur, comme quoi REGS n'est pas défini.
Marsh Posté le 14-05-2002 à 17:17:26
antp a écrit a écrit : Borland C++Builder 5 et Borland C++ 5.0 me donnent la même erreur, comme quoi REGS n'est pas défini. |
Bien sure que si, union REGS est utilisé lorce que tu veux faire des interruptions logiciel ou matériel (pour la souris, l'horloge, le clavier, le port série et //...) Avec mon vieux Turbo C++ 3.1 sous DOS ça marche...
Marsh Posté le 14-05-2002 à 17:20:33
Ha Turbo C, mais ici j'ai que BC++5 for Windows, et C++Builder 5...
Marsh Posté le 15-05-2002 à 09:44:50
Faudrait peut-être voir, si dans les include de Borland Builder y a encore un <dos.h> et si oui, si y a une section comme
union REGS
{
#if defined(__DPMI32__)
struct DWORDREGS x;
#else
struct WORDREGS x;
#endif
struct WORDREGS w;
struct BYTEREGS h;
};
(piqué de Borland C 5).
S'il y est défini, pourquoi n'en veut-il pas ?
Marsh Posté le 14-05-2002 à 16:45:17
Salut les gens,
je code un petit soft sous DOS avec C++Builder 5, et le problème que j'ai, c qu'il ne veut pas compiler ma fonction d'initialisation de la souris car il bloque sur le mot réservé REGS...
Quelqu'un a-t-il déjà rencontré ce problème ?
Merci !