begin process at 2012 02 09 21:45:02
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > TEXTE DE COULEUR EN CONSOLE DOS ( VC6)

TEXTE DE COULEUR EN CONSOLE DOS ( VC6)


 Description

Cliquez pour voir la capture en taille normale
utilisation des APIs
ce code montre comment ecrire en differentes couleurs dans une console DOS32
affiche un logo en bleu clair et fait un scanne du cossier courrant  et affiche le resultat en vert.

Source

  • #define _WIN32_WINNT 0x0300
  • #include <windows.h>
  • #include <stdio.h>
  • #include <string.h>
  • #include <conio.h>
  • #include <shlobj.h>
  • #define PATH 0x104
  • #include <shlwapi.h>
  • #pragma comment(lib,"shlwapi.lib")
  • WIN32_FIND_DATA FileData;
  • HANDLE hSearch,fc;
  • DWORD dwAttrs;
  • BOOL fFinished = FALSE;
  • HDC hdc;
  • CONSOLE_SCREEN_BUFFER_INFO csbiInfo;
  • char path[PATH];
  • char buffer[0x64];
  • char Buffer1[PATH];
  • char Buffer[PATH];
  • char szHome[PATH];
  • char Result[PATH];
  • char szNewPath[PATH];
  • int x=0x00;
  • void logo(){
  • SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x0b);
  • printf("ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»\nº Example de couleur texte Conosle º\nº Votre nom de compagnie º\nº Adresse º\nº http://www.monsiteweb.com º\nÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\n");
  • }
  • void ScanneFolder(char * dossier){
  • SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x0a);
  • hSearch = FindFirstFile("*.*", &FileData);
  • if (hSearch == INVALID_HANDLE_VALUE) { printf("Aucun fichier trouv‚."); return;}
  • while (!fFinished) {
  • sprintf(szNewPath,"%s\\%s", dossier,FileData.cFileName); //chemin complet
  • x++; //incremente valeur de x
  • GetShortPathName(szNewPath,Buffer1,256);
  • PathCompactPath(hdc,szNewPath,200); //compactage de texte pur n'afficher que 200 pixels
  • printf("%.3d\t%s\t%s\n",x,szNewPath,Buffer1); // affiche le resultat
  • if (!FindNextFile(hSearch, &FileData)) {
  • if (GetLastError() == ERROR_NO_MORE_FILES) {
  • printf("‚num‚ration termin‚e.");
  • fFinished = TRUE;
  • } else {
  • printf("ERREUR: Impossible de trouver le fichier suivant .");
  • return;
  • }
  • }
  • }
  • FindClose(hSearch);
  • CloseHandle(fc);
  • }
  • int main(){
  • logo();
  • SetConsoleTitle("Titre de l'application");
  • GetCurrentDirectory(256,szHome);
  • ScanneFolder(szHome) ;
  • Sleep(5000); //utile pour retarder la fermeture 1s =1000
  • return 0;
  • }
#define  _WIN32_WINNT  0x0300
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <shlobj.h>
#define PATH 0x104
#include <shlwapi.h>
#pragma comment(lib,"shlwapi.lib")

WIN32_FIND_DATA FileData;
HANDLE hSearch,fc;
DWORD dwAttrs;
BOOL fFinished = FALSE;
HDC hdc;
CONSOLE_SCREEN_BUFFER_INFO csbiInfo;

char path[PATH];
char buffer[0x64];
char Buffer1[PATH];
char Buffer[PATH];
char szHome[PATH];
char Result[PATH];
char szNewPath[PATH];
int x=0x00;

void logo(){
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x0b);
	printf("ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»\nº  Example de couleur texte Conosle º\nº    Votre nom de compagnie         º\nº Adresse                           º\nº http://www.monsiteweb.com         º\nÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\n");
}

void  ScanneFolder(char * dossier){
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x0a);
	hSearch = FindFirstFile("*.*", &FileData); 
        if (hSearch == INVALID_HANDLE_VALUE) {     printf("Aucun fichier trouv‚.");     return;} 
		while (!fFinished) { 
		sprintf(szNewPath,"%s\\%s", dossier,FileData.cFileName); //chemin complet
		x++; //incremente valeur de x
		GetShortPathName(szNewPath,Buffer1,256);
		PathCompactPath(hdc,szNewPath,200); //compactage de texte pur n'afficher que 200 pixels
				printf("%.3d\t%s\t%s\n",x,szNewPath,Buffer1);   // affiche le resultat
				if (!FindNextFile(hSearch, &FileData))     {
			if (GetLastError() == ERROR_NO_MORE_FILES)         { 
                                printf("‚num‚ration termin‚e."); 
				fFinished = TRUE; 
			} else   { 
            printf("ERREUR: Impossible de trouver le fichier suivant ."); 
            return;
			} 
		}
	} 
	FindClose(hSearch);
	CloseHandle(fc);     
}

int main(){
	logo();
    SetConsoleTitle("Titre de l'application");
	GetCurrentDirectory(256,szHome);
    ScanneFolder(szHome) ;
    Sleep(5000); //utile pour retarder la fermeture  1s =1000
	return 0;
}

 Conclusion

je trouves moins monotone une aplis console en couleur non ?


 Sources du même auteur

Source avec Zip EXEMPLE COMPLET RELATIF A MON EXEMPLE DE TOOLTIP PERSONALISÉ...
CRÉER UN TOOLTIP EN FORME DE BULLE SOUS WINDOWS AVEC UNE IMA...
LISTEUR DE FICHIER DOS
Source avec Zip Source avec une capture CRÉATION D'UN RACOURCI POUR WINDOWS AVEC INTERFACE SIMPLIFIÉ...
Source avec Zip Source avec une capture EX METTRE UNE ICONE SUR UN BOUTON AVEC MFC

 Sources de la même categorie

Source avec Zip ÉDITEUR DE RECTANGLES EN CONSOLE par seoseo
CONVERSION DE FICHIER EN FICHIER BMP par seoseo
Source avec Zip DETECTEUR EJP par idpro
Source avec Zip Source avec une capture SHOP MANAGER CONSOLE SUR WINDOWS par antho974
Source avec Zip JOUR DE NAISSANCE par fredg19

Commentaires et avis

Commentaire de Kirua le 25/08/2004 02:15:31

il n'y a pas moyen de faire ça de manière portable?

Commentaire de djl le 25/08/2004 08:16:27

ce sont des appels systemes (forcement, le c ne connait pas la console), il faudrait une bibliotheque portable qui encapsule ces appels
ya ncurses sous linux et je crois que  ca va etre porté sous windows

Commentaire de Nebula le 25/08/2004 10:54:35

Pour les maniaques de la portabilités, y'a MinGW qui fournit un compilateur (GCC, que j'utilise) et un shell Bash (donc, qui gère les séquences ANSI, que je n'utilise pas en revanche). Et pour les maniaques du portable instable, y'a Cygwin :p

Commentaire de douggyfresh le 26/08/2004 18:46:48

Je n'en peux dire trop, car j'ai copie la source puis essaye de la compiler sous Borland C++ 5.01. Ben, ca ne marche pas. Donc, avec quel compilateur ca marche? Et comment peut on la rendre compatible avec Borland C++ 5.01.

Commentaire de Papy67 le 27/08/2004 05:14:04

douggyfresh -> pour info ca ete ecris avec VC6
ton pb prvient probablement de l'entete :
shlwapi.h
suis pas sur que Borland la fournisse
vire du code :
#include <shlwapi.h>
#pragma comment(lib,"shlwapi.lib")
et dans la fonction ScanneFolder
// PathCompactPath(hdc,szNewPath,200);

Commentaire de rosco91 le 01/06/2007 16:11:19

Trés joli source!!! Et comment fait-on si l'on veut copier une seule phrase en couleur??

Merci d'avance..

Commentaire de Papy67 le 08/06/2007 20:59:11

rosco91

tu utilise la fonction

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x0b);//id de la couleur desiree
printf("tapes ton texte\n");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0xFF);//poru recuperer ton prompteur en blanc :)

Commentaire de rosco91 le 11/06/2007 08:47:05

ok!! Ben merci beaucoup pour m'avoir répondu. Je n'avais pas pensé à cette technique, elle n'est pas mauvaise!!! Encore une fois merci!!

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,434 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales