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

Turbo Pascal Discussion :

Comment obtenir les informations système ?


Sujet :

Turbo Pascal

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 94
    Par défaut Comment obtenir les informations système ?
    Salut,

    y a-t-il un moyen de récupérer les informations système telles que le type du processeur, le système d'exploitation installé, la taille de la mémoire vive... en Turbo Pascal ?

    Et merci.

  2. #2
    Membre éclairé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Par défaut
    Bien sur, il faut utiliser l'assembleur dans la plupart des cas, apres tu peut recuperer quelques infos avec les fonctions de l'unité dos.

    Si tu as turbo pascal 7, regarde le programme demo bgi.pas, il te montre comment récupéré les info principales en utilisant l'assembleur. Si tu ne trouve pas, je te renverrai un message avec du code (j'en ai un dans mes archives).

  3. #3
    Membre émérite
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Par défaut
    En Turbo Pascal pur, je suis presque sûr que non, mais je peux me tromper.

    Mais avec des routines externes écrites en assembleur, ou intégrées en inline (quelle galère ! ), oui, tout est possible même en 16 bits.

    Pour le type de processeur, quelques recherches sur Google m'ont permis de trouver ça, par exemple :

    http://alasir.com/software/cpuinfo/

    J'ai jeté un œil à la version dos, l'exécutable principal est une toute petite routine écrite en C, qui doit être très facile à traduire en Pascal, mais tout le reste c'est de l'assembleur pour appeler la fonction CPUID et gérer la réponse.

    Maintenant, étant sous Windows 64 bits, je n'ai même pas pu tester l'exécutable, puisqu'on ne peut pas lancer de routine 16 bits. Et si je lance ça sous un XP 32 bits, même sous émulateur, j'obtiens l'écran en pièce jointe.

    Les informations sont correctes.

    Plutôt encourageant, mais à mon avis ça relève de l'assembleur, pas du Pascal. Il n'y a pas d'assembleur intégré, dans TP.

    Edit : grillé par titeee. Le problème avec bgi.pas, c'est que ça date des années 80, si mes souvenirs sont justes, ça utilise les interruptions dos/bios et ça m'étonnerait fort qu'il retourne une information correcte d'un système fabriqué 20 ans plus tard... mais encore une fois, je peux me tromper.
    Images attachées Images attachées  

  4. #4
    Membre éclairé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Par défaut
    Oui, c'est galère mais possible. Comme tu dis, tu dois faire ça en assembleur.
    Un site ou tu pourras trouver ton bonheur http://kd5col.info/swag/HARDWARE/index.html



    Edit : ça dépend de son ordi si il est en 16bit, ça marchera

  5. #5
    Membre émérite
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Par défaut
    Maintenant, la solution de facilité, ce serait de récupérer un petit paquet d'exécutables système DOS, façon cpuinfo.exe, assez récents pour être pertinents, et les lancer à partir de son programme en TP, quitte à passer par des fichiers texte.

    Moi c'est ce que je ferais si j'étais pris par l'urgence.

    Une autre adresse, je ne sais pas si c'est utile :

    http://www.eunet.bg/simtel.net/msdos/sysinfo.html

    Tout un paquet d'utilitaires DOS.

  6. #6
    Membre éclairé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Par défaut
    Citation Envoyé par CapJack Voir le message
    Maintenant, la solution de facilité, ce serait de récupérer un petit paquet d'exécutables système DOS, façon cpuinfo.exe, assez récents pour être pertinents, et les lancer à partir de son programme en TP,
    Bonne idée, j'aurais fais pareil.

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 94
    Par défaut
    merci pour vos réponses. c'est un peu moche en pascal

  8. #8
    Membre émérite
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Par défaut
    Ben, en Turbo Pascal, oui, parce que c'est un environnement qui date, quand même.

    Maintenant, dire que "c'est moche en Pascal", c'est aller un peu vite en besogne en sous-estimant la puissance du langage.

    Pour ce type d'applicatif système, il suffit à mon sens de se diriger vers un compilateur plus récent, c'est tout.
    Free Pascal est un bon exemple. Assembleur intégré, et compilation 32/64 bits.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/05/2012, 19h44
  2. Réponses: 2
    Dernier message: 22/05/2012, 15h21
  3. Réponses: 4
    Dernier message: 23/09/2008, 18h40
  4. Réponses: 6
    Dernier message: 31/03/2008, 11h10

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