| Le mode 13h en C | |
|
+3Topaze22 M@d_Doc [TheDarkTiger] 7 participants |
Auteur | Message |
---|
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Le mode 13h en C Ven 16 Nov 2007 - 23:06 | |
| bon, bha j'ai un problème, après moult recherches partout, je n'ai trouvé que des interruptions assembleur inopérantes car non compilables sur mon logiciel (CVI et Dev C++).
Ma question est donc plutôt la suivante :
quelqu'un sait il passer en mode 13h en C pur ? (ou à défaut compiler la Graphic.h pour windows ?)
merci beaucoup d'avoir lu ce post ! |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Le mode 13h en C Sam 17 Nov 2007 - 0:42 | |
| mode 13h ?!? _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: Le mode 13h en C Sam 17 Nov 2007 - 1:24 | |
| je sais pas _________________ Topique pour le Projet Hello Mario en préparation. Sorti du topique lorsque la première démo sera disponible.
|
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: Le mode 13h en C Sam 17 Nov 2007 - 12:06 | |
| - Citation :
- Mode 13h is a VGA graphics mode that is easily accessible from DOS programs. It offers a resolution of 320 by 200, with 256 colors (meaning one byte per color).
J'ai trouvé un site qui l'expliquait avec Borland, mais avec DevCPP, c'est à dire avec MinGW je n'en ai pas idée. Je compile en ligne de commande avec MSYS et MinGW d'installés, cependant je ne connaissai pas le mode 13h avant que tu en parles, et je n'ai pas trouvé d'info dans la console, à propos de ce mode, d'après ce que j'ai pu lire ce n'est pas une option à passer au compilateur, mais un code à activer avec la lib: dos.h, ou dpmi.h ou je ne sais laquelle avec gcc. Je t'en dis plus, après demain, lorsque j'aurai eu un 4ème année de l'eXia devant moi. _________________ Mon CV : fr - de - en Tous Ensemble! Réalisons! |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Le mode 13h en C Sam 17 Nov 2007 - 12:08 | |
| ah ok, donc c'est des libs pour faire du euh... beau ms-DOS en 16 couleurs _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: Le mode 13h en C Sam 17 Nov 2007 - 13:03 | |
| 256! Non mais c'est parce que TDT code sur microproc, je pense qu'il bosse avec un petit écran de 320x240 en 256 couleurs. _________________ Mon CV : fr - de - en Tous Ensemble! Réalisons! |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Le mode 13h en C Sam 17 Nov 2007 - 13:36 | |
| ho mon dieu, si seulement c'était ça ça serait le rêve :gniah: non, c'est juste pour embêter les profs qui nous obligent à utiliser leur trois fonctions pourries : get_int ; get_long ; show_message , alors qu'on peut utiliser printf(""); et faire des trucs de tarés ! ou alors, si vous arrivez à faire du texte en couleur dans une console, ça m'ira tout aussi bien j'ai déjà fait un convertisseur images à fenêtre Dos , mais en noir en blanc ... |
|
| |
notiz85 Utilisateur confirmé: Rang *****
Messages : 2004 Localisation : Vendée Projet Actuel : Moteur d'ombre pour un projet plateforme 2D...
| Sujet: Re: Le mode 13h en C Mer 21 Nov 2007 - 15:19 | |
| J'ai déjà chercher pour le texte en couleur mais perso j'ai jamais trouver donc je pense pas que sa existe, puis c'est du DOS... _________________ |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Le mode 13h en C Mer 21 Nov 2007 - 23:32 | |
| si ça existe
ya deux solutions (au moins) :
- les interuptions assembleurs (très simples : deux lignes) (compile po chez moi)
- conio.H (ya versions sur le web, j'en ai essayé , po une ne marchait... )
bref, si vous voyez autre chose ... |
|
| |
CoDeAVE Utilisateur confirmé: Rang **
Messages : 408 Localisation : Québec
| Sujet: Re: Le mode 13h en C Mer 21 Nov 2007 - 23:48 | |
| |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Le mode 13h en C Jeu 22 Nov 2007 - 21:52 | |
| génial !!!! ça marche pinaize, j'ai essayé un code similaire et ça plantait ! merci miles fois !!! |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: Le mode 13h en C Sam 24 Nov 2007 - 13:45 | |
| Merci ça m'aide aussi, parce que y'en a marre de coder toujours des interfaces graphiques pour présenter des programmes pourris, alors si je peux faire de la couleur dans la console je suis content. _________________ Mon CV : fr - de - en Tous Ensemble! Réalisons! |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Le mode 13h en C Sam 24 Nov 2007 - 14:46 | |
| c'est mieux hein ? là je paufine mon convertisseur image-Dos, pour ajouter la couleur :gniah: je ferais peut-être aussi un placeur de caractères ... ha, au fait, j'ai repris le models des couleurs, et j'ai fait une fonctio pour positionner le curceur où on veux. Dos_Ext.H : - Spoiler:
#include <stdio.h> // Les includes #include <stdlib.h> #include <windows.h>
void Color(int couleurDuTexte,int couleurDeFond);
void Goto(int x,int y);
void Color(int couleurDuTexte,int couleurDeFond) // fonction d'affichage de couleurs { HANDLE H = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(H,couleurDeFond*16+couleurDuTexte); }
void Goto(int x,int y) // fonction de déplacement du curceur { COORD coordDest; HANDLE H = GetStdHandle(STD_OUTPUT_HANDLE); coordDest.X=x; coordDest.Y=y; SetConsoleCursorPosition(H,coordDest); }
|
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: Le mode 13h en C Lun 26 Nov 2007 - 12:39 | |
| Je vais m'amuser à faire une gestion des animations je pense. _________________ Mon CV : fr - de - en Tous Ensemble! Réalisons! |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Le mode 13h en C Lun 26 Nov 2007 - 19:52 | |
| houlà, bonne chance !
on s'échangera les programmes après :gniah: |
|
| |
Gab666 Modérateur 'Zut'
Messages : 5340 Localisation : **I move away from the mic to breathe in
| Sujet: Re: Le mode 13h en C Lun 26 Nov 2007 - 22:36 | |
| - Citation :
- #include <stdio.h> // Les includes
#include <stdlib.h> #include <windows.h>
void Color(int couleurDuTexte,int couleurDeFond);
void Goto(int x,int y);
void Color(int couleurDuTexte,int couleurDeFond) // fonction d'affichage de couleurs { HANDLE H = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(H,couleurDeFond*16+couleurDuTexte); }
void Goto(int x,int y) // fonction de déplacement du curceur { COORD coordDest; HANDLE H = GetStdHandle(STD_OUTPUT_HANDLE); coordDest.X=x; coordDest.Y=y; SetConsoleCursorPosition(H,coordDest); } Petite précision, habituellement on met la fonction dans le .c et les prototypes dans le .h sans oublier biensur quelque directives de préprocesseur pour éviter que le fichier soit inclu deux fois(exemple : #pragma once). _________________ PIS MANIAC PREND DES BAINS !
|
|
| |
CoDeAVE Utilisateur confirmé: Rang **
Messages : 408 Localisation : Québec
| Sujet: Re: Le mode 13h en C Mar 27 Nov 2007 - 3:52 | |
| C'est vraiment plus sympa de mettre de la couleur dans notre console en ! |
|
| |
daminetreg Administrateur
Messages : 16998 Localisation : Siege du CBNA! Projet Actuel : Site Web du CBNA, version beta :
| Sujet: Re: Le mode 13h en C Mar 27 Nov 2007 - 12:43 | |
| - Gab666 a écrit:
-
- Citation :
- #include <stdio.h> // Les includes
#include <stdlib.h> #include <windows.h>
void Color(int couleurDuTexte,int couleurDeFond);
void Goto(int x,int y);
void Color(int couleurDuTexte,int couleurDeFond) // fonction d'affichage de couleurs { HANDLE H = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(H,couleurDeFond*16+couleurDuTexte); }
void Goto(int x,int y) // fonction de déplacement du curceur { COORD coordDest; HANDLE H = GetStdHandle(STD_OUTPUT_HANDLE); coordDest.X=x; coordDest.Y=y; SetConsoleCursorPosition(H,coordDest); } Petite précision, habituellement on met la fonction dans le .c et les prototypes dans le .h sans oublier biensur quelque directives de préprocesseur pour éviter que le fichier soit inclu deux fois(exemple : #pragma once). Je suppose qu'il l'a filé comme ça pour pas avoir à coller le contenu d'un header. :nezrouge: Moi pour éviter d'inclure de fois je m'amuse à faire un ifndef, puis un define. Mais pragma once est moins idiot... _________________ Mon CV : fr - de - en Tous Ensemble! Réalisons! |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Le mode 13h en C Mar 27 Nov 2007 - 21:56 | |
| - Citation :
- Je suppose qu'il l'a filé comme ça pour pas avoir à coller le contenu d'un header. nezrouge
ha non, désolé de décevoir (c'est le contenu de mon point H :gniah: ) Mais je ne connais le C que depuis deux mois, et, pour vous situer ce que l'on apprend en cours, on fait les boucles for et les tableaux en ce moment ... (je les utilises depuis deux mois , avant tous les autres donc XD) donc, bref, je fait ce point h pour n'avoir qu'a faire #INCLUDE "Dos_Ext.H" en début de programme (conio.h etc ... boaf, autant les charger avec un .H qui ajoute les couleurs non ? en plus, je crois que si je charge pas conio avant windows et avant d'utiliser mon code, ça foire...) J'espère en effet que ce sera utile à pas mal de monde ^^ |
|
| |
Gab666 Modérateur 'Zut'
Messages : 5340 Localisation : **I move away from the mic to breathe in
| Sujet: Re: Le mode 13h en C Mar 27 Nov 2007 - 23:29 | |
| - TheDarkTiger a écrit:
- donc, bref, je fait ce point h pour n'avoir qu'a faire #INCLUDE "Dos_Ext.H" en début de programme (conio.h etc ... boaf, autant les charger avec un .H qui ajoute les couleurs non ? en plus, je crois que si je charge pas conio avant windows et avant d'utiliser mon code, ça foire...)
Si windows dépend d'une librairie standard elle devrait l'inclure donc pas besoin de t'occuper de l'ordre. Pour les includes c'est encore la même chose que t'auras à faire mais, là, tu auras Dos_Ext.c qui inclue Dos_Ext.h(qui contient les prototypes) et ensuite qui déclare les fonctions. Dam -> Oui on peut très bien faire ça aussi #ifndef DOS_EXT_H #define DOS_EXT_H //Contenu #endif _________________ PIS MANIAC PREND DES BAINS !
|
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Le mode 13h en C Mer 28 Nov 2007 - 18:57 | |
| mais ya pas de Dos_Ext.C :gniah: |
|
| |
Gab666 Modérateur 'Zut'
Messages : 5340 Localisation : **I move away from the mic to breathe in
| Sujet: Re: Le mode 13h en C Mer 28 Nov 2007 - 22:35 | |
| - [TheDarkTiger] a écrit:
- mais ya pas de Dos_Ext.C :gniah:
Tu le crée et tu mes tes fonctions à l'intérieur _________________ PIS MANIAC PREND DES BAINS !
|
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Le mode 13h en C Jeu 29 Nov 2007 - 21:18 | |
| ha ? un H c'est pas 'propre' bon, alors, puisque tu connais mieux le C que moi (heureusement d'ailleurs :gniah: ), tu pourra surement m'aider ma prof de Génie Logiciel m'a proposé de faire une librairie 'propre' pour distribuer aux autres de l'IUT , quels conseils peut tu me donner ? (hormis un code clair et des commentaires partout ?) |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Le mode 13h en C Jeu 29 Nov 2007 - 21:29 | |
| une lib avec des comm? Moi je la ferais ultra compensée et une doc extérieur, c'est quand même plus pratique, non? _________________ Tous les icones de gm utilisables sur le cbna ICI |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: Le mode 13h en C Jeu 29 Nov 2007 - 21:39 | |
| boaf, on est sous CVI, et on peut ouvrir une lib en cliquant sur le prototype ou l'appel, alors, pourquoi s'embêter ? |
|
| |
Gab666 Modérateur 'Zut'
Messages : 5340 Localisation : **I move away from the mic to breathe in
| Sujet: Re: Le mode 13h en C Jeu 29 Nov 2007 - 23:17 | |
| - [TheDarkTiger] a écrit:
- ha ?
un H c'est pas 'propre'
bon, alors, puisque tu connais mieux le C que moi (heureusement d'ailleurs :gniah: ), tu pourra surement m'aider
ma prof de Génie Logiciel m'a proposé de faire une librairie 'propre' pour distribuer aux autres de l'IUT , quels conseils peut tu me donner ? (hormis un code clair et des commentaires partout ?) Ça l'est mais en général c'est plus pratique mettre les prototypes dans le .h inclure les librairies (tierces ou standard) utilisées et dans le .c simplement écrire les fonctions. Les commentaires ça dépend de la personne, personnellement, en général si je veux un code clair je préfère avoir par exemple si tu déclares une structure, fonction ou peu importe ce qu'elle fait décrit de façon simple. À moins de quelquechose d'assez complexe ou si c'est pour apprendre à quelqu'un, les commentaires à l'intérieur des fonctions pour expliquer ça ne sert pas à tant de choses que ça d'expliquer son code. L'indenter devrais suffire(en général). L'important d'une librairie c'est que ce soit le plus modulaire possible, plus tu peux séparer les parties de la librairie plus tu le fais et c'est pareil pour quand tu fais un jeu par exemple. Je vais te donner un exemple concret. Si t'as à faire un moteur de plateforme/affichage du jeu donc un module s'occupe de gèrer l'affichage de la fenetre lui ne dépend de personne maintenant j'ai besoin de faire des ennemies et un hero ou des powerups par exemple ! Tu essais de les réunirs ensemble dans un grand module, instance, que chacun dépendrait de ce dernier(hero, powerups, ennemies etc.) mais sans pour autant que hero dépende de ennemie donc on peut très bien en ajouter un autre sans que plus rien ne fonctionne. Plus c'est structuré et modulaire mieux c'est bien que ce genre de façon de penser s'applique plus au C++ on peut très bien penser de la même façon en C. Une autre chose importante est pour les noms de garder les mêmes convention pour pas avoir à se poser des questions des fois sur la casse d'une fonction ou d'une structure. Enfin, c'est une façon de voir les choses tu peux très bien organiser tes affaires d'une façon différente sans que ce soit mauvais chaque méthode a ses avantages et désavantages par exemple ce que je te montre aide souvent plus à comprendre l'idée des objets en C++. _________________ PIS MANIAC PREND DES BAINS !
|
|
| |
Contenu sponsorisé
| Sujet: Re: Le mode 13h en C | |
| |
|
| |
| Le mode 13h en C | |
|