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.
Version imprimable
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.
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).
:ccool:
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 ! 8O), 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. 8O
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. ;)
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 :mouarf:
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. :P
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.
merci pour vos réponses. c'est un peu moche en pascal
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. ;)