[C] Problème avec union REGS et C++ Builder 5 !

Problème avec union REGS et C++ Builder 5 ! [C] - C++ - Programmation

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 !

Reply

Marsh Posté le 14-05-2002 à 16:45:17   

Reply

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...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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;
}

Reply

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 ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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 ???

Reply

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.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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...

Reply

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...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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  :pt1cable: ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed