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 :

[Win] Recherche de header pour faire tourner un ancien programme


Sujet :

C++

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 14
    Points : 6
    Points
    6
    Par défaut [Win] Recherche de header pour faire tourner un ancien programme
    Bonjour,

    Je dois développer pour mon stage un programme en C++ pour commender et acquérir des données d'appareils de mesures avec une carte IEEE 488. Comme je n'ai jamais fait ça, j'ai demandé des renseignements et j'ai pu trouver sur un vieux PC de la boîte un programme en C++ qui fait la même chose mais avec des appareils différents. Le problème, c'est que le programme ne fonctionne pas sur XP. Un problème de header apparement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #include <iostream.h>
    #include <stdlib.h>
    #include <string.h>
    #include <conio.h>
    #include <stdio.h>
    #include <dos.h>
    #include <graphics.h>
    #include <math.h>
    Il semblerait que graphics.h ne marche plus sur windows, alors est-ce que je peux le faire tourner en ajoutant le header ?
    De même, est-ce que les fonctions du types (ibwrt, ibrd, ...) comme dans le programme ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    double mesu()
    {
    double fra;
    char reponse1[12]="";
    ibwrt(pico,"ENTER\x0A\x0D",7);
    ibrd(pico,&reponse1,12);
    ibwrt(pico,"ABORT\x0A\x0D",7);
    ibclr(pico);
    ibloc(pico);
    ibonl(pico,0);
    fra=atof(reponse1);
    return(fra);
    }
    ... fonctionne encore sous windows XP

    Merci

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    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 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Rien de tout cela ne marchera sous un Windows moderne.
    Tu pourras recompiler le code pour DOS si tu reprends le vieux TurboC, mais je pense qu'il plantera à l'exécution...

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 304
    Points : 36 804
    Points
    36 804
    Par défaut interface?
    Bonsoir,
    Apparament, ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    double mesu()
    {
    double fra;
    char reponse1[12]="";
    ibwrt(pico,"ENTER\x0A\x0D",7);
    ibrd(pico,&reponse1,12);
    ibwrt(pico,"ABORT\x0A\x0D",7);
    ibclr(pico);
    ibloc(pico);
    ibonl(pico,0);
    fra=atof(reponse1);
    return(fra);
    }
    Semble correspondre à des primitives qui écrivent dans les registres de la carte.
    Sous un OS 'moderne', tu devrais passer par un driver et utiliser l'API correspondante.
    Il me semble difficile de faire tourner cela ailleurs sans ré-écrire (au moins) cette partie là.

    - W
    ... fonctionne encore sous windows XP

    Merci[/QUOTE]

  4. #4
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    D'accord, merci pour vos réponses. Je me doutais qu'il fallait que je reprenne tout le code.

    J'ai regardé la documentation du fournisseur de la carte IEEE 488, mais il y a des choses que je ne comprends pas trop. Je vais ouvrir un autre sujet pour ça.

    Merci encore !

  5. #5
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Semble correspondre à des primitives qui écrivent dans les registres de la carte.
    Sous un OS 'moderne', tu devrais passer par un driver et utiliser l'API correspondante.
    Sur un OS moderne mais orienté temps réel, il y aura quand même probablement des instructions de ce genre.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [BO 5.1.8][INSTALL]Logiciels nécessaires pour faire tourner BO ?
    Par scalpa63 dans le forum Administration-Migration
    Réponses: 6
    Dernier message: 20/02/2007, 10h51
  2. Réponses: 16
    Dernier message: 01/02/2006, 22h05
  3. Réponses: 4
    Dernier message: 09/12/2005, 15h48
  4. recherche de module pour faire des graphiques
    Par Ickou dans le forum Modules
    Réponses: 1
    Dernier message: 01/11/2005, 22h20
  5. Réponses: 2
    Dernier message: 11/07/2002, 08h31

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