[Langage C] Interface graphique : style DOS?

Interface graphique : style DOS? [Langage C] - Programmation

Marsh Posté le 09-04-2002 à 22:42:28    

salut,
 
Je pense qu'il est possible de réaliser en langage C une "interface graphique" (tres simple) du style DOS. J'ai trouvé quelques éléments de réponse: il faut utiliser les fonctions window() , clrscr() , gotoxy(), textcolor(),...
Mais ces fonctions ne sont pas reconnues par Visual C++ 6 !?!?
 
alors je ne comprend plus...
 
Quelqu'un peut m'aider?
Y a t'il un autre moyen de faire une interface graphique en C ?

Reply

Marsh Posté le 09-04-2002 à 22:42:28   

Reply

Marsh Posté le 09-04-2002 à 22:44:17    

yepyep a écrit a écrit :

Y a t'il un autre moyen de faire une interface graphique en C ?


Je suppose que tu parles d'une interface texte, pas graphique...
Pour ça, il y a ncurses, c'est bigrement bien foutu.

 

[jfdsdjhfuetppo]--Message édité par Jar Jar--[/jfdsdjhfuetppo]


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
Reply

Marsh Posté le 09-04-2002 à 22:48:06    

Je parle d'une interface style DOS en texte biensur.
 
Pour ncurses je connais pas dutout, ca semble tourner sur Unix; mais mon appli devra tourner sous en environnement windows...
 
Merci quand meme
 

Jar Jar a écrit a écrit :

Je suppose que tu parles d'une interface texte, pas graphique...
Pour ça, il y a ncurses, c'est bigrement bien foutu.  
 
 



Reply

Marsh Posté le 09-04-2002 à 22:52:14    

yepyep a écrit a écrit :

Pour ncurses je connais pas dutout, ca semble tourner sur Unix; mais mon appli devra tourner sous en environnement windows...


http://www.cygwin.com/
 
ncurses est fourni en standard dedans.


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
Reply

Marsh Posté le 09-04-2002 à 23:49:04    

ok, mais le probleme c'est que je dois develloper sur MS Visual C++ . peut etre que je pourrai developper sous Borland Turbo C a la limite...
 

Jar Jar a écrit a écrit :

http://www.cygwin.com/
 
ncurses est fourni en standard dedans.  



Reply

Marsh Posté le 09-04-2002 à 23:53:15    

yepyep a écrit a écrit :

ok, mais le probleme c'est que je dois develloper sur MS Visual C++ . peut etre que je pourrai developper sous Borland Turbo C a la limite...


Là c'est peut-être possible, mais je ne sais pas comment.
Et à part ncurses, il y a conio, mais je crois que c'est loin d'être aussi pratique.


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
Reply

Marsh Posté le 10-04-2002 à 01:05:52    

C'est quoi exactement ncurse?
Ca tourne sous quel OS?
Pourquoi ca ne marche pas sous Visual C++?
Est-ce que ca reconnait les séquences d'échappement?

Reply

Marsh Posté le 10-04-2002 à 08:00:24    

Le projet VC++ pour lequel gotoxy(), textcolor(),... ne sont pas reconnus (bien que conio.h), il est bien en mode CONSOLE (fenêtre DOS depuis Windows) ? pas en projet "normal Windows".

Reply

Marsh Posté le 10-04-2002 à 09:08:30    

Attention, Turbo C va te faire un executable DOS (oublie ta dll cygwin)
Mais il me semble que les fonctions dont tu parles sont dispos dans Turbo C ...
En verifiant vite fait, je suis tombé sur ca :
http://csciwww.etsu.edu/bailes/2210/VisualC++.htm
Mais bon, tant qu'a faire, utilises cygwin.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 10-04-2002 à 09:51:34    

Tout a fait, le projet pour lequel ca ne marche pas en en mode console.
Et j'ai mis pleins d'include stdio.h, stdlib.h, conio.h, ctype.h, math.h mais ca ne marche pas...
 
Quelqu'un a une idée?
 

CARBON_14 a écrit a écrit :

Le projet VC++ pour lequel gotoxy(), textcolor(),... ne sont pas reconnus (bien que conio.h), il est bien en mode CONSOLE (fenêtre DOS depuis Windows) ? pas en projet "normal Windows".  



Reply

Marsh Posté le 10-04-2002 à 09:51:34   

Reply

Marsh Posté le 10-04-2002 à 10:04:39    

Yepyep : pour info, le DOS, c'est mort :D


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 10-04-2002 à 10:10:40    

Ace17 a écrit a écrit :

C'est quoi exactement ncurse?
Ca tourne sous quel OS?
Pourquoi ca ne marche pas sous Visual C++?
Est-ce que ca reconnait les séquences d'échappement?


Ncurses, c'est une implémentation de la norme XSI Curses qui fournit des fonctions très bien foutues pour gérer l'affichage d'objets complexes dans un terminal, avec la couleur, le gras, le soulignement... Je crois que c'est aussi la seule implémentation qui ne soit pas buggée à mort.
 
C'est une implémentation pour Unix, donc ça marche sous Linux, BSD, Solaris, etc. et aussi sous Windows avec cygwin, qui fournit une couche d'émulation unix.
 
Ça ne marche pas sous Visual C++ parce qu'il ne gère pas cygwin. D'ailleurs, je ne crois pas que la licence de cygwin le permette (GPL pure, interdisant tout lien avec un logiciel propriétaire), ou alors en achetant une licence à Redhat (qui possède les droits du truc).
 
Qu'appelles-tu séquences d'échappement ? Les séquences qu'on utilise habituellement dans un terminal pour générer la couleur ?
Celles-là, il fait mieux que les gérer, c'est lui qui les génère. Tu n'as pas à t'en occuper, tu lui dis « affiche-moi du texte en rouge sur fond vert à la ligne 5, à partir de la colonne 3 ».


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
Reply

Marsh Posté le 10-04-2002 à 10:35:29    

Tetragrammaton IHVH a écrit a écrit :

Yepyep : pour info, le DOS, c'est mort :D  




 
Pas du tout :na:. Il a encore de beaux jours devant lui pour ceux qui ont grandi avec (sur les vieilles machines)... :D

Reply

Marsh Posté le 10-04-2002 à 11:43:02    

HelloWorld a écrit a écrit :

 
Mais il me semble que les fonctions dont tu parles sont dispos dans Turbo C ...




 
Effectivement j'ai réussit a compiler un programme de test qui contient des textbackground() et textcolor() avec Borland C++ Compiler 5.5 , mais ce compilateur est tellement mer***** que je n'arrive plus a compiler un autre prog...:ouch:
Je me suis aidé de http://www.developpez.com/glouise/BC55demarrage.htm pour créer les .bat mais je ne m'en sort plus ... j'ai une erreur de lancement de ilink32 ... :fou:  
 
HELP PLEASE! :hello:

Reply

Marsh Posté le 10-04-2002 à 12:45:14    

Il y a peut-être une erreur dans les modifs (c'est vite fait ! :D)? Si l'ancien programme exemple fonctionne, ça vient pas de la machine/config.

Reply

Marsh Posté le 11-04-2002 à 10:59:49    

CARBON_14 a écrit a écrit :

 
 
Pas du tout :na:. Il a encore de beaux jours devant lui pour ceux qui ont grandi avec (sur les vieilles machines)... :D  




 
Et alors, moi aussi j'ai découvert l'info avec le DOS mais faut savoir évoluer dans la vie :lol:
De plus depuis Win2k, il n'y a plus de DOS.
 
Enfin, il est 10x plus simple de faire une fenêtre graphique sous windows que de bidouiller des gotoXY pour faire un semblant d'interface en mode caractère tout vilain qui nous ramène 15 ans en arrière.

 

[jfdsdjhfuetppo]--Message édité par Tetragrammaton IHVH--[/jfdsdjhfuetppo]


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 11-04-2002 à 11:33:10    

Tetragrammaton IHVH a écrit a écrit :

Enfin, il est 10x plus simple de faire une fenêtre graphique sous windows que de bidouiller des gotoXY pour faire un semblant d'interface en mode caractère tout vilain qui nous ramène 15 ans en arrière.


On voit que tu n'as pas essayé ncurses, car ça n'a rien d'archaïque, et ça permet de faire très simplement des interfaces très riches.
 
Dans les deux cas, c'est sûr que si c'est pour faire une boîte de dialogue oui/non, ça va très vite à programmer, oui...


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed