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 :

Comment programmer sous dos ?


Sujet :

C++

  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    309
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 309
    Par d�faut Comment programmer sous dos ?
    Je voudrais cr�er un logiciel fonctionnant sous dos en mode 80x25x16 couleurs, je crois que ont doit utiliser les int du bios pour cela, mais comment s'en servir sous c++ ? est-ce que je dois faire du asm ?

    Je voudrais pouvoir:
    m'assurer que mon �cran est en 80x25x16
    �crire du texte � l'�cran dans les couleurs que je veux. m�me avec du fond, comme par exemple blanc clair sur fond bleu.
    pouvoir changer l'apparence du curseur, le faire disparaitre aussi.

    bref, pouvoir faire tout ce qui est possible cot� graphique en dos, mais avec du 80x25

    Question: est-ce qu'un programme dos est toujours oblig� de se retrouver dans une fenetre de commande windows ou si on peut "forcer" le programme a ne s'afficher qu'en plein �cran ?

    Ou si il y aurait moyen de mettre la fenetre dos windows en plein �cran ?

    merci

  2. #2
    Membre chevronn� Avatar de xxiemeciel
    Inscrit en
    Juin 2005
    Messages
    371
    D�tails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 371
    Par d�faut
    Salut,

    bon je suis pas sure du tout, mais il me semble qu'avec les dernieres version de windows tu ne peux plus avoir du dos en plein ecran a moins de redemarrer specifiquement en mode dos ou alors avec une disquette de demarrage.

    Le dos est maintenant plus consid�r� comme un shell que comme un OS a part. Je ne suis meme plus sur que windows soit bas� sur dos (ce qui etait le cas dans les anciennes versions) et il me semble que tu ne pourras pas utiliser MSDOS seul (c'est a dire sans ouvrir une fenetre depuis windows) si ton disque dur est en NTFS.

    Maintenant je pense que tu devrais attendre que quelqu'un qui en connait plus sur le sujet confirme ou infirme ce que je viens de dire

    XXiemeciel

  3. #3
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Enfin, tu peux toujours faire alt+entr�e sur un programme DOS (� supposer qu'il marche) ou Win32 console...

    Sur touts les programmes que j'avais fais sous DOS � l'�poque, les appels � la librairie standard marchent toujours, mais les semi-graphiques en mode console (programmes qui utilisent le truc du segment B800) ne marchent pas (sauf un, et j'ai l'impression que la seule diff�rence qu'il avait avec les autres, c'est qu'il appelle une fonction du compilo microsoft ( _getvideoconfig() ) avant de s'amuser � tripoter l'�cran...


    Bref, �a d�pend des programmes, et des compilos DOS utilis�s (Borland C++ pour DOS, Microsoft QuickC...)
    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.

  4. #4
    Expert confirm�

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par d�faut
    Faut pas confondre DOS et console. Une console Windows fait 80x25x16, et tu peux changer la couleur via les bonnes fonctions (SetConsoleTextAttribute...). Mais tu auras bien programme Win32.
    Si tu fais un programme DOS, 16 bits, faut manipuler le BIOS VGA (int 10h) ou bien �crire l� o� il faut en m�moire VGA.

  5. #5
    Membre �clair�
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    309
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 309
    Par d�faut
    ok

    mais dans quel lib sont les fonctions SetConsoleTextAttribute, .. ?

    je ne sais pas encore quel compilateur utiliser, j'avais pens� � gcc

    donc je pourrais faire un programme win32, c'�tait plus �a mon id�e que du "vrai" dos Mais tout en restant en 80x25x16

    Ou ce que j'avais pens� aussi c'�tait "�muler" du 80x25x16 en faisant une fenetre windows au fond noir et en affichage les caract�res de la table ascii selon une �chelle pr�cise qui seraient stock� dans des fichiers bmp.

    Qu'en pensez-vous ?

    Sauf que je me demande, un caractere a combien de pixel en hauteur et en largeur sous dos ? pour pouvoir transposer cela aux bonne dimensions sur une r�solution de 1024x768 pour que cela puisse arriver � faire 80 colonnes par 25 :

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    34
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 34
    Par d�faut
    Le plus simple pour t'amuser est de t�l�charger le compilateur Turbo C++ 1.0 de Borland (tu trouveras le lien sur le site). Ensuite, apr�s l'avoir install�, ouvre l'aide et fait une recherche sur "graphics.h". Tu vas y trouver toute une s�rie de fonctions qui te permettront de cr�er un programme graphique sous DOS, de mani�re tr�s simple (il suffit de consulter les exemples fournis avec l'aide).

    Seuls imp�ratifs:

    - Passer en mode plein �cran (appui sur ALT+ENTREE),
    - Bien indiquer le chemin des fichiers BGI.

  7. #7
    Expert confirm�

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par d�faut
    Citation Envoy� par AsmCode
    mais dans quel lib sont les fonctions SetConsoleTextAttribute, .. ?
    Win32, donc <windows.h> et kernel32.lib. N'importe quel compilo Win32 permet de l'utiliser.
    je ne sais pas encore quel compilateur utiliser, j'avais pens� � gcc
    Y'a VC++ 2005 aussi, gratuit (version express)

    donc je pourrais faire un programme win32, c'�tait plus �a mon id�e que du "vrai" dos Mais tout en restant en 80x25x16

    Ou ce que j'avais pens� aussi c'�tait "�muler" du 80x25x16 en faisant une fenetre windows au fond noir et en affichage les caract�res de la table ascii selon une �chelle pr�cise qui seraient stock� dans des fichiers bmp.

    Qu'en pensez-vous ?
    ben c'est tr�s dur � faire, et surtout c'est d�j� fait par Windows. Alors � quoi bon. Le seul truc c'est qu'il permet de redimensionner en hauteur.

    Sauf que je me demande, un caractere a combien de pixel en hauteur et en largeur sous dos ? pour pouvoir transposer cela aux bonne dimensions sur une r�solution de 1024x768 pour que cela puisse arriver � faire 80 colonnes par 25 :
    La console Windows g�re le mode plein �cran (ALT+ENTREE). L'affichage est alors bascul� en mode texte, 80x25x16, le m�me qu'au boot du PC. Le texte est g�r� par la carte graphique, comme sous DOS. C'est la m�me chose. On peut basculer en plein �cran via le code (sous NT, avec SetConsoleDisplayMode).

    graphics.h et bgi, c'est du DOS 16 bits, avec le tr�s vieux Turbo C++, bien loin du standard, que personnelement je te d�conseille pour faire du C++.

  8. #8
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Pour dessiner sur la console, je d�conseile la version SetConsoleTextAttribute() + �criture, car elle buggue d�s que la console commence � scroller (au bout de 300 lignes, par d�faut, sous XP).

    Pour pouvoir �crire librement de n'importe quelle couleur sur la console, je conseille WriteConsoleOutput().
    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.

  9. #9
    Membre �clair�
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    309
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 309
    Par d�faut
    Merci

    Je vais commencer par cela, si j'ai d'autres questions, je reviendrai les poser

Discussions similaires

  1. comment programmer sous word?
    Par sebac dans le forum VBA Word
    R�ponses: 0
    Dernier message: 29/07/2009, 11h13
  2. Probl�me d�appel d�un programme sous dos
    Par dot-_-net dans le forum C
    R�ponses: 8
    Dernier message: 15/11/2007, 12h23
  3. [VB.NET] COmment compiler sous DOS
    Par olbi dans le forum VB.NET
    R�ponses: 1
    Dernier message: 14/06/2007, 11h26
  4. [D�butant] Lancer un programme sous DOS
    Par snipre dans le forum MATLAB
    R�ponses: 4
    Dernier message: 25/05/2007, 15h22
  5. programmer sous dos
    Par AsmCode dans le forum C++
    R�ponses: 2
    Dernier message: 28/11/2005, 18h16

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