Affichage d'un tableau de char dans une fenetre [Résolu]

Benjam18
Messages postés
13
Date d'inscription
mardi 27 mai 2008
Dernière intervention
30 juin 2008
- 13 juin 2008 à 10:21 - Dernière réponse : Benjam18
Messages postés
13
Date d'inscription
mardi 27 mai 2008
Dernière intervention
30 juin 2008
- 19 juin 2008 à 16:32
Bonjour à vous, j'aurai besoin de vous pour realiser un programme qui m'afficherai une fenetre et un message; j'ai un programme en console de ce genre :

#include

using namespace std;


void main()


{
int i;
char tab [12];
for (i=0;i++;i<12)
{
   tab[i]=a;
   cout<<"tab "<<i<<"="<<tab[i]<<endl;
}


}   

Comme vous pouvez le voir ce programme affiche mon tableau, mais ce en mode console, ma question est je pense simple pour vous : Comment afficher le plus simplement du mon de ceci (mon tableau de char) dans une fenetre ?

PS: J'ai chercher et reussi a afficher du texte dans une fenetre mais cependant pas mon tableau de char c'est pourquoi j'insiste sur ce tableau de char.

Merci à vous tous
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Benjam18
Messages postés
13
Date d'inscription
mardi 27 mai 2008
Dernière intervention
30 juin 2008
- 19 juin 2008 à 16:32
3
Merci
Ok, pour moi tout est résolu, je vous remerci (enfin surtout toi SAKingdom) toutes tes reponses m'ont ete tres utiles.

Merci Benjam18 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de Benjam18
Neo_Fr
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Dernière intervention
10 novembre 2014
- 13 juin 2008 à 11:30
0
Merci
Salut,
Le plus simple c'est la message box:
MessageBox(0, tab, 0, 0x40);

Neo_Fr
Commenter la réponse de Neo_Fr
SAKingdom
Messages postés
3213
Date d'inscription
lundi 7 novembre 2005
Dernière intervention
16 février 2009
- 13 juin 2008 à 16:04
0
Merci
Important de préciser que pour faire afficher une chaîne de caractère, elle doit se terminer par un caractère nul.

int i;
char tab [12];
for (i=0;i < 11;i++)
{
   tab[i]='a';
}
tab[i] = 0;

En passent, la syntaxe de ta boucle for n'est pas bonne. Tu as inversé la section de l'action à effectuer et celle de la condition à respecter (les 2 dernières cases).

C++ (@++)<!--
Commenter la réponse de SAKingdom
Benjam18
Messages postés
13
Date d'inscription
mardi 27 mai 2008
Dernière intervention
30 juin 2008
- 16 juin 2008 à 08:58
0
Merci
Ok donc si je comprend bien, mon code donnerai :

#include

using namespace std;
void main()

{
int i;
char tab [13];
for (i=0;i<12;i++)
{
   tab[i]=a;
   cout<<"tab "<<i<<"="<<tab[i]<<endl;
}
tab[12]=0;

MessageBox(0, tab, 0, 0x40);

}   

J'ai essayer ce code dans un projet console Win32 vide ( avec visual studio 2005). Mais il me dit :
                                 error c3861 :"MessageBox" : identificateur introuvable

Manquerait-il un include ?
Ce n'est pas un projet console qu'il fallait utilisé ?

Je vous remercie encore si vous pouvé m'aidé (encore plus Neo et SAKingdom)
Commenter la réponse de Benjam18
SAKingdom
Messages postés
3213
Date d'inscription
lundi 7 novembre 2005
Dernière intervention
16 février 2009
- 16 juin 2008 à 17:22
0
Merci
#include <windows.h>

C++ (@++)<!--
Commenter la réponse de SAKingdom
Benjam18
Messages postés
13
Date d'inscription
mardi 27 mai 2008
Dernière intervention
30 juin 2008
- 17 juin 2008 à 09:44
0
Merci
Voici le code finale,  j'ai du rajouter quelques lignes pour reussir à afficher mon tableau  

#include
#include <windows.h>
#include
#include

using namespace std;
void main()

{
int i;
char tab [13];
for (i=0;i<12;i++)
{
   tab[i]=a;
   cout<<"tab "<"Titre de la fenêtre "
,0);

}   

Je vous remercie tous encore une fois.
Commenter la réponse de Benjam18
SAKingdom
Messages postés
3213
Date d'inscription
lundi 7 novembre 2005
Dernière intervention
16 février 2009
- 17 juin 2008 à 17:15
0
Merci
Tu aurais pus appeler MessageBoxA pour afficher directement ton tableau de char:

MessageBoxA( NULL, tab, "Titre de la fenêtre "
,0);

C++ (@++)<!--
Commenter la réponse de SAKingdom
Benjam18
Messages postés
13
Date d'inscription
mardi 27 mai 2008
Dernière intervention
30 juin 2008
- 18 juin 2008 à 11:43
0
Merci
Merci SAKingdom en effet ta solution est plus simple et plus besoin de tant d'include !!
Mais j'ai une autre question, existe t-il une astuce pour afficher un 0 car dans mon programme, je remplie mon tableau autrement et je me trouve quelques fois avec un 0 dans mon tableau, et mon affichage s'arrte prematurement. (je voudrai afficher ce 0 et ce qui suit). Merci
Commenter la réponse de Benjam18
Benjam18
Messages postés
13
Date d'inscription
mardi 27 mai 2008
Dernière intervention
30 juin 2008
- 18 juin 2008 à 14:28
0
Merci
Pour l'instant j'ai résolu en remplaçant le 0(zéro) par un O (ho). Je n'ai pas trouvé trace d'une quelconque façon de changé le caractére de fin de chaîne (ce qui me semble normal).
Commenter la réponse de Benjam18
SAKingdom
Messages postés
3213
Date d'inscription
lundi 7 novembre 2005
Dernière intervention
16 février 2009
- 18 juin 2008 à 19:19
0
Merci
Attention, il y a une différence en une valeur NULL (0) et le caractère 0 ('0'). Le caractère '0' devrais s'afficher sans problème étant donnée que ça valeur n'est pas NULL (il vaut 0x30 je crois).

Une valeur NULL (0) ne peut-être afficher et c'est bien normal.

Si tu veux convertir un chiffre (j'ai bien écris chiffre pas nombre)en un caractère lisible, suffis de lui incrémenter 0x30 (la valeur du caractère 0).

a = chiffre+'0';

C++ (@++)<!--
Commenter la réponse de SAKingdom

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.