IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Conversion C++ 1990 à Dev C++


Sujet :

C++

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 17
    Points : 2
    Points
    2
    Par défaut Conversion C++ 1990 à Dev C++
    Bonjour à tous,
    Y a-t-il quelqu’un qui pourrait me renseigner sur un ancien programme que j’avais fait dans les années 1993 et que je voudrais reprendre sur dev c++, apparemment beaucoup de problème avec le graphisme le code est est si dessous ou en pièce jointe :


    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
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    /***************************************************************************
    Programme : digitalisation pour TARM
    Auteur    : ROBER SERGE
    Date      : 30/10/1993
    ****************************************************************************/
    #include <dos.h>
    #include <stdlib.h>
    #include <string.h>
    #include <io.h>
    #include <ctype.h>
    #include <graphics.h>
    #include <stdio.h>
    #include <conio.h>
    #include <bios.h>
     
    short cpt=0,np=0,xdp=0,bl,bll,apd;
    int xd,yd,sx,sy,vid,da,dp,dap,v=0,col=12;
    FILE *in;
    void fload();
    void fquit();
     
    main()
    {
    int code,cara;
    if (_setvideomode(_VRES16COLOR) !=0)
     {
     _clearscreen(_GCLEARSCREEN);
     _setcliprgn(0,0,639,479);
     _rectangle(_GBORDER,0,0,639,479);
     _rectangle(_GBORDER,479,0,479,479);
     _rectangle(_GBORDER,479,35,639,35);
     _rectangle(_GBORDER,479,230,639,230);
     _settextcolor(15);
     _settextposition(2,67);
     _outtext("DISPLAY\n");
     _settextcolor(11);
     _settextposition(4,62);
     _outtext("Name   :");
     _settextposition(6,62);
     _outtext("Nb pts :");
     _settextposition(6,71);
      printf("%d",np);
     _settextposition(8,62);
     _outtext("Blanck :");
     _settextcolor(15);
     _settextposition(11,67);
     _outtext("RS Laser");
     _settextposition(13,63);
     _outtext("Copyright 1994(c)");
     _settextcolor(11);
     _settextposition(17,62);
     _outtext("F1 : Load");
     _settextposition(18,62);
     _outtext("F2 : Quit");
     _settextposition(20,62);
     _outtext("Nb XY  :");
     _settextposition(21,62);
     _outtext("Coord X:    Y:");
     _settextposition(22,62);
     _outtext("Nb Delt:");
     _settextposition(23,62);
     _outtext("Delta X:    Y:");
     
     
     while((cara=getch())!= '\r')
       if(cara != 0) {}
     
         else
          {
           code=getch();
           if (code==59) fload();
           else if (code==60) {_setvideomode(_DEFAULTMODE);break;}
           else continue;
           }
     
     _setvideomode(_DEFAULTMODE);
     }
      else
       {
        _setvideomode(_DEFAULTMODE);
        printf ("MODE VIDEO NON SUPPORTE\n");
        }
    }
    /***************************************************************************
                             CHARGEMENT DES IMAGES
    ****************************************************************************/
    void fload()
     
    {
    int a=0x11,b=0x10,c=15,cpt,sw=0,dx,dy,tes=0,test=0,nd=0,nde=0;
    fpos_t  posi;
    short x,xx,rx,y,yy,ty,xy,ry,np,ex,ey;
    FILE *fichier;
    char ligne[8];
    np=0;
    _settextposition(4,71);
    _outtext("        ");
    _settextcolor(15);
    _settextposition(27,04);
    _outtext("8 LETTRES MAX.");
    _settextposition(28,04);
    _outtext("Entrez le nom du fichier :");
    _settextcolor(11);
     gets(ligne);
    _setcliprgn(1,1,478,478);
    _clearscreen(_GVIEWPORT);
    _settextposition(4,71);
     printf("%s",ligne);
      if((fichier=fopen(ligne,"r"))==NULL)
       {
          _settextposition(28,10);
          _outtext("Impossible d'ouvrir le fichier");
          return;
       }
    rewind(fichier);
    while(!feof(fichier))
      {  xy=fgetc(fichier);
         for ( ; sw!=1 ; xy=fgetc(fichier) )
    /****************************************************************************
                           RECHERCHE & CALCUL DE LA MATRIX
    ****************************************************************************/
    	 if(xy==a)sw=1;
         if(xy==a){}
    	else
    	  {
    	     for (cpt=1 ; !feof(fichier) && xy!=a ; cpt++)
    		 {
    		    if (cpt==1)
    		       {
    			 x=xy;
    			 if(x<127)xx=x+128;
    			   else xx=x-128;
    		       }
    		    else if (cpt==2)
    		      {
    			y=xy;
    			if(y<127)yy=y+128;
    			  else yy=y-128;
    			    ty=255-yy;
    			    rx=xx*1.8710937;
    			    ry=ty*1.8710937;
    			    np=np+1;
    			    nd=nd+1;
    			    _settextposition(21,71);
    			     printf("%X",x);
    			    _settextposition(21,77);
    			     printf("%X",y);
    			    _settextposition(20,71);
    			    printf("%d",nd);
    			    _setcolor(c);
    			    _setpixel(rx,ry);
    		      }
    		    else if (cpt>=3)
    		      {
    			if(xy==0x10)
    			  {
    			     xy=fgetc(fichier);
    			     if(xy==0x80)
    				  {
    				     _settextposition(8,71);
    				     printf("OPEN ");
    				     c=15;
    				     xy=fgetc(fichier);
    				 }
    			     if(xy==0x00)
    			     {
    			       _settextposition(8,71);
    			       printf("CLOSE");
    			       c=10;
    			       xy=fgetc(fichier);
    			   }
    			 }
    			if(xy==00) {}
    			   else
    			     {
    				dx=xy/b;
    				dy=xy%b;
    				ex=dx-8;
    				ey=dy-8;
    				xx=xx+ex;
    				yy=yy+ey;
    				ty=255-yy;
    				rx=xx*1.8710937;
    				ry=ty*1.8710937;
    				np=np+1;
    				nde=nde+1;
    			       _settextposition(23,71);
    				printf("   ");
    			       _settextposition(23,77);
    				printf("   ");
    			       _settextposition(23,71);
    				printf("%X",dx);
    			       _settextposition(23,77);
    				printf("%X",dy);
     
    				_settextposition(22,71);
    				printf("%d",nde);
    				_setcolor(c);
    				_setpixel(rx,ry);
    			    }
    		      }
    		    xy=fgetc(fichier);
    		   _settextposition(6,71);
    		    printf("%d",np);
    		 }
    	    if(feof(fichier));
    	  }
      }
    fclose(fichier);
    }

    Merci d'avance. Serge
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Bonjour,
    1. Quitte à passer à du C++, tu devrais prendre un EDI plus récent que Dev-C++ (Code::Blocks par exemple).
    2. Ah, les graphismes sur terminal... Il me semble que le plus portable pour ça, c'est la bibliothèque pdcurses (l'autre solution étant d'abandonner le TUI pour passer à un terminal "bête" ou à une vraie application fenêtrée).
    3. Ton code possède un nombre dérangeant de variables globales, variables déclarées mais non-référencées, variables au nom non-informatif, usages de fonctions non-sécurisées (comme gets()), nombres magiques (pourquoi 1.8710937?), usages incorrects de feof()...Le nombre de commentaires dérange aussi, mais dans l'autre sens.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 17
    Points : 2
    Points
    2
    Par défaut Code::Blocks
    Bonjour,
    Tous d’abord un grand merci pour la réponse, je sais qu’il y a un paquet de variable inutile car a la base le programme est plus conséquent et j’ai récupéré la partie « lecture de fichier » qui fonctionne très bien sous dos.
    Du fait hier j’ai essayer le Code::Blocks avec le graphics.h a rajouter, mais bon, même une simple fenêtre c’est tout un art de programmation surtout d’un Windows a l’autre.
    Donc actuellement je travaille avec Win 7 pro intégrale, dans l’espoir de savoir tiré quelque chose de la ?, ce n’est pas gagné !, je me posais la question serai ce pas plus facile sous VB, qui je pense est plus adéquat pour se genre de programme.
    Bien à toi.

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Aurais-tu un échantillon de fichier à traiter pour qu'on voie un peu mieux à quoi la sortie est censée ressembler?
    Donc actuellement je travaille avec Win 7 pro intégrale, dans l’espoir de savoir tiré quelque chose de la ?, ce n’est pas gagné !, je me posais la question serai ce pas plus facile sous VB, qui je pense est plus adéquat pour se genre de programme.
    De préférence VB.Net ou C#, je conseillerais: ça permet un affichage graphique assez facilement.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Je pense que le plus gros problème de ce code, c'est qu'il est pratiquement impossible à porter sur une plate-forme qui n'a pas les mêmes capacités d'affichage facile (positionnement du texte au pixel près, etc.) parce que la lecture du fichier est complètement entrelacée avec l'affichage. Il n'y a pas de lecture vers une représentation mémoire indépendante du reste.

    Puis il y a les autres problèmes, comme l'absence totale de commentaires, les noms de variable à une ou deux lettres, qui font qu'on ne peut même pas comprendre ce que le code est censé faire, surtout sans échantillon de fichier.

    L'usage incorrect de feof() complique encore les choses, parce qu'on a facilement peur que le code marche "par accident" et que le corriger casse en fait son fonctionnement...

    Enfin, voici le code ré-indenté, avec des "stubs" des fonctions graphiques pour que ça compile sous Windows (j'ai utilisé Visual Studio, mais ça devrait aussi pouvoir compiler sous Code::Blocks). J'ai ajouté des commentaires sur les accolades fermantes pour qu'on voie plus facilement à quoi ça fait référence.
    J'ai aussi changé les short en int parceque sinon j'avais des warnings de conversion presque partout, à cause des promotions d'entiers sur les opérations mathématiques. Mais si ça a une influence sur le déroulement du code, ça veut dire qu'il était encore pire que je pensais.

    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
    #include <stdio.h>
    #include <windows.h>
     
    void _settextposition(int x, int y) { printf("_settextposition(%d, %d)\n", x, y); }
    void _outtext(char const *s) { printf("_outtext(%s)\n", s); }
    void _setcliprgn(int a, int b, int c, int d) { printf("_setcliprgn(%d, %d, %d, %d)\n", a, b, c, d); }
    void _clearscreen(char const *s) { printf("_clearscreen(%s)\n", s); }
    void _settextcolor(int c) { printf("_settextcolor(%s)\n", c); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), (WORD)c); }
    void _setpixel(int x, int y) { printf("_setpixel(%d, %d)\n", x, y); }
    void _setcolor(int c) {  printf("_setcolor(%s)\n", c);  }
     
    #define _GVIEWPORT "_GVIEWPORT"
     
    void fload()
    {
    	int a=0x11,b=0x10,c=15,cpt,sw=0,dx,dy,tes=0,test=0,nd=0,nde=0;
    	fpos_t  posi;
    	int x,xx,rx,y,yy,ty,xy,ry,np,ex,ey;
    	FILE *fichier;
    	char ligne[FILENAME_MAX];
    	np=0;
    	_settextposition(4,71);
    	_outtext("        ");
    	_settextcolor(15);
    	_settextposition(27,04);
     
    	_outtext("8 LETTRES MAX.");
    	_settextposition(28,04);
    	_outtext("Entrez le nom du fichier :");
    	_settextcolor(11);
    	fgets(ligne, FILENAME_MAX, stdin);
    	_setcliprgn(1,1,478,478);
    	_clearscreen(_GVIEWPORT);
    	_settextposition(4,71);
    	printf("%s",ligne);
     
    	if((fichier=fopen(ligne,"r"))==NULL)
    	{
    		_settextposition(28,10);
    		_outtext("Impossible d'ouvrir le fichier");
    		return;
    	}
    	rewind(fichier);
     
    	while(!feof(fichier))
    	{
    		xy=fgetc(fichier);
    		for ( ; sw!=1 ; xy=fgetc(fichier) )
    			/****************************************************************************
                            RECHERCHE & CALCUL DE LA MATRIX
                            ****************************************************************************/
    			if(xy==a)sw=1;
    		if(xy==a){}
    		else
    		{
    			for (cpt=1 ; !feof(fichier) && xy!=a ; cpt++)
    			{
    				if (cpt==1)
    				{
    					x=xy;
    					if(x<127)xx=x+128;
    					else xx=x-128;
    				}
    				else if (cpt==2)
    				{
    					y=xy;
    					if(y<127)yy=y+128;
    					else yy=y-128;
    					ty=255-yy;
    					rx=xx*1.8710937;
    					ry=ty*1.8710937;
    					np=np+1;
    					nd=nd+1;
    					_settextposition(21,71);
    					printf("%X",x);
    					_settextposition(21,77);
    					printf("%X",y);
    					_settextposition(20,71);
    					printf("%d",nd);
    					_setcolor(c);
    					_setpixel(rx,ry);
    				}
    				else if (cpt>=3)
    				{
    					if(xy==0x10)
    					{
    						xy=fgetc(fichier);
    						if(xy==0x80)
    						{
    							_settextposition(8,71);
    							printf("OPEN ");
    							c=15;
    							xy=fgetc(fichier);
    						}
    						if(xy==0x00)
    						{
    							_settextposition(8,71);
    							printf("CLOSE");
    							c=10;
    							xy=fgetc(fichier);
    						}
    					}
    					if(xy==00) {}
    					else
    					{
    						dx=xy/b;
    						dy=xy%b;
    						ex=dx-8;
    						ey=dy-8;
    						xx=xx+ex;
    						yy=yy+ey;
    						ty=255-yy;
    						rx=xx*1.8710937;
    						ry=ty*1.8710937;
    						np=np+1;
    						nde=nde+1;
    						_settextposition(23,71);
    						printf("   ");
    						_settextposition(23,77);
    						printf("   ");
    						_settextposition(23,71);
    						printf("%X",dx);
    						_settextposition(23,77);
    						printf("%X",dy);
     
    						_settextposition(22,71);
    						printf("%d",nde);
    						_setcolor(c);
    						_setpixel(rx,ry);
    					}
    				} //successive ifs on cpt
    				xy=fgetc(fichier);
    				_settextposition(6,71);
    				printf("%d",np);
    			} //inner for
    			if(feof(fichier)); //this does nothing!
    		} //else of the big if
    	} //outer while
    	fclose(fichier);
    }
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 17
    Points : 2
    Points
    2
    Par défaut Médinoc déjà un grand merci de te penchez sur le cas
    Bonjour,
    Déjà un grand merci de te penchez sur le cas de lecture du fichier touts se que je sais t’envoie ses le PDF en pièce jointe avec je pense un peux toutes les explications, le fichier source est déjà dans la discutions.
    Dans le PDF tu trouveras, les explications, l’écran de sortie et le fichier Hexa qu’il a lu pour afficher sa a l’écran.
    De mon coter j’essaye sur Code::Blocks j’arrive a recréé un peux le concept mais je n’arrive pas a afficher les variable : type les nombres de points par exemple, ou entré le nom de fichier il est vrai que depuis 93 pas mal de chose on changer.
    Du genre au lieu de printf(%d,pts) ; maintenant c’est outtext(posx,posy,var) ;
    Si au cas où je peux toujours t’envoie mon mail perso comme cela des que j’ai le tient je serais t’envoie un fichier Hexa que je ne sais pas mettre en pièce joindre.
    Bon je continue avec acharnement pour trouver l’astuce des syntaxes dans graphics.h.

    Encore Merci.
    Serge
    Images attachées Images attachées

  7. #7
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 17
    Points : 2
    Points
    2
    Par défaut error
    Bonjour,
    Je suis un peux dégouter, hier toutes l’après midi pas de problème avec Code ::Blocks j’ai oser éteindre mon pc le soir quand je l’ai rallumé avec le petit soft que je testais voila la good news « Error » :

    ||=== Build: Debug in digittest (compiler: GNU GCC Compiler) ===|
    C:\Program Files\CodeBlocks\MinGW\bin\..\lib\gcc\mingw32\5.1.0\..\..\..\libmingw32.a(main.o):main.c:(.text.startup+0xa7)||undefined reference to `WinMain@16|
    ||error: ld returned 1 exit status|
    ||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 2 second(s)) ===|
    Et avec n’importe quelle source que je teste ???.
    je ne suis pas du genre a abandonner mais la ses Windows dépasse l’entendement. J’irais presque a dire vive le Ms Dos.
    De plus j’ai du rallumer mon portable avec le bon vieux XP qui est plus stable que toute les versions de Windows qui on suivit, car sur les autres version il ne veux même pas compiler ??.
    Si par le plus grand des hasard tu a une idée elle est la bien venue.

    Merci.

    Serge

  8. #8
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 17
    Points : 2
    Points
    2
    Par défaut émulateur c++ sous windows
    Bonjour,

    Connait tu cette émulateur car si j'ai cela touts est régler.

    Voici le lien :


    Merci
    Serge

  9. #9
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 562
    Points : 7 628
    Points
    7 628
    Par défaut
    Pour ton problème de cette nuit. C'est dû au fait que tu crées un projet Windows graphique alors qu'il faut créer un fichier Windows console dans ton cas. A moins de porter l'ensemble du code sous Windows, ce qui reste une possibilité (il n'y aura plus la fonction main() mais une machinerie basée sur la fonction WinMain() à la place.)

    Pour l'émulateur, ça serait la piste de ne pas recompiler le code mais l'utiliser tel quel dans un émulateur. Là attention plus le temps passe moins les émulateurs fonctionneront.

    Le code n'est pas bien grand, le comprendre et le réécrire ne devrait être si compliqué.

  10. #10
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 611
    Points
    30 611
    Par défaut
    Salut,

    Avant tout, j'aimerais te poser une question idiote : dois tu absolument garder cette approche dos :question;

    L'alternative étant étant donné que tu dois quand même moderniser ton code (autrement, tu n'aurais pas poser de question ici) de partir sur un nouveau projet fonctionnant en mode fenêtré avec une IHM classique, avec menus, zone d'éditions, boutons et autres labels; sans oublier une zone de raytracing (car c'est ce que tu fais, sommes toutes) confortable.

    Ce genre d'IHM peut être mise en place en ... 1/2heure avec Qt ou QML, le gros de la difficulté portant sur la zone de raytracing (et dans la récupération des données, bien sur ) ... ou pas.

    Mais le gros avantage de Qt, c'est d'être une bibliothèque graphique tout à fait portable, que tu pourras utiliser pour fournir ton application sous windows, linux ou mac sans aucun problème.

    Quant au programme dont tu montre la video, j'aurais tendance à dire qu'il s'agit de turbo C++ : l'EDI que borland a sorti avant même que le C++ ne soit standardisé.

    Cet outil n'arrangerait rien à ton problème, car le compilateur associé à cet outil date ... des années 90, et est spécifiquement développé pour les windows de l'époque (je suspecte d'ailleurs que ton projet actuel ait été développé à l'époque avec cet EDI particulier )

    Par contre, si tu as encore un exécutable qui fonctionne, l'une des solution pourrait être -- tout simplement -- d'installer une machine virtuelle sous windows 95 / 98 sur ton windows 10, et de faire tourner le programme dessus
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  11. #11
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 17
    Points : 2
    Points
    2
    Par défaut programme sous une autres platforme ?
    Bonjour,

    Je ne tiens pas spécialement à le faire tourner sous dos mais voila :
    J’ai le fichier exécutable qui fonctionne, mais il y a un léger bug dedans c’est pourquoi je voudrais le modifier car j’ai un paquet d’image à importer.
    Effectivement ce programme je l’ai fait en 93 avec turbo c++ sous dos.

    J’ai la source l’exécutable si il y a moyen de le retranscrire assez facilement sur une autre plateforme pourquoi pas.

    Le seul souci je ne connais pas les IHM, QT ou QML, c’est quoi es quoi donc ???

    Bien à toi.

    Serge

  12. #12
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 611
    Points
    30 611
    Par défaut
    Alors, à mon sens, une fois l'interface (graphique) du programme créée, le reste devrait pouvoir se faire assez facilement

    Qt (et non QT, qui est autre chose : c'est le sigle de QuickTime, même s'il n'est plus utilisé depuis mathuzalem ) est un framework qui était à l'origine déstiné à fournir une bibliothèque de création d'IHM (interface homme machine) et qui a évolué au point de fournir un tas de possibilités qui s'écartent finalement de plus en plus de cet objectif d'origine.

    C'est un projet développé en C++ pour le C++, opensource (donc tout à fait gratuit à l'utilisation), portable (tu peux compiler ton application pour la faire fonctionner sous windows, linux et mac au besoin) qui dispose d'une très grosse communauté pour t'aider (et qui dispose même de sa propre section sur ce forum), qui supporte les habitudes prises avec les dernières normes du langage (C++1, C++14 et C++17), susceptible d'être utilisé avec la plupart des compilateurs et des EDI (environnement de développement) récents, et qui te permettra -- grâce à son designer -- de créer l'interface graphique en ... 20 cliques à peu près.

    Bref, c'est un framework qui présente énormément d'avantages et auquel il n'est pas inutile d'accorder quelques heures d'apprentissage

    Pour te donner une idée, ce framework m'a permis de créer une IHM ressemblant àNom : ray.png
Affichages : 291
Taille : 25,3 Ko
    En à peine vingt minutes

    Avoue que c'est quand même fort proche de ton programme originel non

    QML est un langage (déclaratif, si cela présente un intérêt) développé par Qt qui permet d'adapter Qt à encore plus de situations.
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  13. #13
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 17
    Points : 2
    Points
    2
    Par défaut Ouaaaaaa
    Sa a l'air génial.

    c'est bien vrai mais sa ressemble fort a la plateforme VB ou je me trompe ?

    Serge

  14. #14
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 611
    Points
    30 611
    Par défaut
    Ca ressemble en fait à ce que tu pourrais faire avec n'importe quelle bibliothèque de gestion d'interface graphique...

    Tu sais, une interface graphique, ce n'est jamais qu'une représentation des habitudes que les utilisateurs ont prises avec le temps : les boutons et les zones d'éditions sont rectangulaires, les menus sont en haut de la fenêtre, les éléments qui peuvent être "regroupés entre eux" sont entouré d'un rectangle, ...

    Toutes les bibliothèques fournissent les même notions (menu, zone d'édition, boutons, label, ... ) pour représenter les mêmes habitudes. Il n'y a donc rien d'étonnant à ce que le résultat de l'une ressemble à s'y méprendre au résultat de l'autre

    Pour paraphraser Fox Mulder : "la vrai différence est ailleurs", entre autres
    • Dans le langage utilisé (VB n'a rien à voir avec C++, qui n'a rien à voir avec java ou avec C)
    • la philosophie de la bibliothèque
    • dans la manière de manipuler les éléments graphiques
    • j'en passe, et sans doute de meilleures

    Par contre, je rejoins Médinoc : si nous pouvions au moins avoir un des fichiers que ton application utilise comme exemple (et tant qu'à faire, la partie du code qui comprend l'affichage que tu as gentiment pris soin d'écarter), nous aurions bien plus facile à faire nos propres essais
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  15. #15
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 17
    Points : 2
    Points
    2
    Par défaut Bonjour,Fichier Hex ou exe ou c
    Bonjour,

    Se n'est pas que je veux cacher mais sur le forum on n'arrive pas a envoyer des fichiers Hexa ??

    Pour le fichier Hexa spi1_1 celui dispo sur Gihtub vu que je suis déjà membre depuis un bout de temps.

    Serge

    Heu merci Koala pour le conseille.
    Images attachées Images attachées
    Fichiers attachés Fichiers attachés

  16. #16
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 611
    Points
    30 611
    Par défaut
    Vire moi en vitesse cette adresse mail que je ne saurais voir!

    Ce n'est pas parce que je refuse de prendre contact par mail avec toi, c'est surtout pour t'éviter d'être envahi par les spam

    Sinon, pourquoi ne créerais tu pas un répertoire git (chez framagit ou github) pour ton projet, sur lequel tu pourrais mettre les fichiers binaires

    Cela te permettait, outre un partage aisé des fichiers, de garder l'historique des modifications, et ca, c'est un must to have à l'heure actuelle
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  17. #17
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 17
    Points : 2
    Points
    2
    Par défaut Fichier Hexa
    Voila,

    pour downloader le fichier sur github : recherche Fichier-Spir all github.


    Merci à vous.

    Serge

  18. #18
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 611
    Points
    30 611
    Par défaut
    Pour la cause, je m'attendais à recevoir un lien vers le répertoire git qui m'aurait permis de trouver un des fichiers d'exemple, car, la recherche que tu me propose m'envoie ==>ICI<==.
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  19. #19
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 17
    Points : 2
    Points
    2
    Par défaut Fichier-Spir
    Oups il faut écrire Fichier-spir ou le lien https://github.com/Orion1070/Fichier-Spir.

  20. #20
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 17
    Points : 2
    Points
    2
    Par défaut Qt
    Bonjour,

    J'ai télécharger Qt je doit dire assez chaud pour manier directement quand même ?

    J'essaye sa a l'ai pas mal du tout mais c'est tout un nouveaux concept a gérer.

    A tester.

    Serge

Discussions similaires

  1. conversion vers Dev-Cpp
    Par khazna dans le forum Dev-C++
    Réponses: 4
    Dernier message: 11/02/2007, 14h49
  2. Dev-C++
    Par Anonymous dans le forum Dev-C++
    Réponses: 16
    Dernier message: 21/09/2002, 14h06
  3. [Conversions] Millisecondes...
    Par agh dans le forum Langage
    Réponses: 2
    Dernier message: 06/08/2002, 12h25
  4. [DEV-C++]#import de fichier .tlb
    Par pdl dans le forum Dev-C++
    Réponses: 6
    Dernier message: 19/07/2002, 23h46
  5. Réponses: 2
    Dernier message: 05/06/2002, 13h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo