Traitement devc++ en mode console et gestion de clavier

Description

¦Gèrecomplètementt les entrées sorties
en mode console

Je me suis inspiré des exemples fournis sur ce site et
dans http://www.gametutorials.com/¦Tutorials/
mis à la disposition depuis le site DEVC++

le concept n'est pas nouveau en soi ont l'utilisait en 1985
mais une chose est sur c'est que vos programmes même s'ils n'utilisent pas la sourie pour gérer une base de données style stock etc.. ils s'en porteront que mieux
ps( la gestion entrée à partir de ReadConsoleInput ne marche pas sous DEVC++
ou la saisie pur et dur et vous pouvez en faire le test ??? avec les exemples fournis par microsoft je pense qu'il y a du code propriétaire qui va avec windows ou dos pour le MSC++)

J'ai donc opté pour la gestion de clavier avec getc()

il y a une autre technique avec WriteFile(...) ReadFile(...)

@plus

Source / Exemple :


exemple:
#include "JPL_include.h"

int main(int argc, char *argv[])
{
CRT_Console();
clr_scr();
SetConsoleTitle("JPL_SCREEN");
set_cursor(_ON);
 Draw_winFrm(0,0,0,40,6,TEXTE_ROUGE , FOND_BLEU,Trait_1);
 Draw_winTxt(0,"fen 0 mon 0 texte",2,1, TEXTE_BLANK , FOND_ROUGE);
 Draw_winTxt(0,"fen 0 mon 1 texte",2,2, TEXTE_BLANK , SCREEN_FOND );
 Draw_winTxt(0,"fen 0 mon 2 texte",2,3, TEXTE_NOIR , FOND_JAUNE);
 Draw_winTxt(0,"fen 0 mon 3 texte",2,4, TEXTE_BLEU , FOND_BLANK);
 Draw_window(0);
 Draw_Txt("Numerique.:",0, 19, TEXTE_NOIR , FOND_BLANK);
 K_bord(numerique);

p_Field_ = KBD_FIELD (12, 19, 10);
 Draw_Txt(p_Field_,50, 19, TEXTE_NOIR , FOND_CYAN);

 Draw_MnuFrm(1,25,0,25,12,TEXTE_JAUNE , SCREEN_ROUGE,Trait_1,TEXTE_BLANK);
 Draw_MnuWtr(1,"Menu 1 mon 0 texte");
 Draw_MnuWtr(1,"Menu 1 mon 1 texte");
 Draw_MnuWtr(1,"Menu 1 mon 2 texte");
 Draw_MnuWtr(1,"Menu 1 mon 3 texte");
 Draw_MnuWtr(1,"Menu 1 mon 4 texte");
 Draw_Menu(1);
 Draw_Txt("Menu:",0, 20, TEXTE_NOIR , FOND_BLANK);
 K_Menu(1);

 Draw_MnuOff(1);
 Draw_winFrm(1,50,0,30,12,TEXTE_ROUGE ,SCREEN_VERT,Trait_2);
 Draw_winTxt(1,"fen 2 mon 0 texte",2,1, TEXTE_BLANK , FOND_ROUGE);
 Draw_winTxt(1,"fen 2 mon 1 texte",2,2, TEXTE_BLANK , SCREEN_FOND );
 Draw_winTxt(1,"fen 2 mon 2 texte",2,3, TEXTE_NOIR , FOND_JAUNE);
 Draw_winTxt(1,"fen 2 mon 3 texte",2,4, TEXTE_BLEU , FOND_BLANK);
 Draw_winTxt(1,"fen 2 mon 4 texte",2,8,TEXTE_BLANK , SCREEN_FOND );
 Draw_window(1);
 Draw_Txt("Alpha-Numerique",0, 21, TEXTE_NOIR , FOND_BLANK);

 K_bord(alphanumerique);
 p_Field_ = KBD_FIELD (16, 21, 20);
 Draw_Txt(p_Field_,DspEcr[1].PosX + 2 , 10, TEXTE_NOIR , FOND_CYAN);

 Draw_winSav(1);
 Draw_winFrm(2,50,0,30,12,TEXTE_ROUGE , SCREEN_NOIR,Trait_2);
 Draw_winTxt(2,"fen 4 mon 0 texte",2,1, TEXTE_BLANK , FOND_ROUGE);
 Draw_winTxt(2,"fen 4 mon 1 texte",2,2, TEXTE_BLANK , SCREEN_FOND );
 Draw_winTxt(2,"fen 4 mon 2 texte",2,3, TEXTE_NOIR , FOND_JAUNE);
 Draw_winTxt(2,"fen 4 mon 3 texte",2,4, TEXTE_BLEU , FOND_BLANK);
 Draw_winTxt(2,"fen 4 mon 4 texte",2,10,TEXTE_BLANK , SCREEN_FOND );
 Draw_window(2);
 Draw_Txt("Alpha.:",0, 22, TEXTE_NOIR , FOND_BLANK);
 K_bord(alpha);
 Draw_winClr (2);
 Draw_window(1);
 Draw_Txt("All.:",0, 26, TEXTE_NOIR , FOND_BLANK);
 K_bord(all);

 Draw_winClr (0);
 Draw_window(2);

CloseHandle(Console_SCR);
CRT_Console();
SetConsoleTitle("MARIE_SCREEN");
clr_scr();
Draw_window(0);
Draw_Txt("Fin de Traitement", 01,30, TEXTE_NOIR , FOND_BLANK);

 Draw_Txt("Tous Caractères.:",0, 27, TEXTE_NOIR , FOND_BLANK);
  K_bord(all);
  return 0;
}

Conclusion :


venez faire un tour http://www.ombrebleu.com/wxsrc/src/

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.