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

Benjam18 13 Messages postés mardi 27 mai 2008Date d'inscription 30 juin 2008 Dernière intervention - 13 juin 2008 à 10:21 - Dernière réponse : Benjam18 13 Messages postés mardi 27 mai 2008Date d'inscription 30 juin 2008 Dernière intervention
- 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 13 Messages postés mardi 27 mai 2008Date d'inscription 30 juin 2008 Dernière intervention - 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 653 Messages postés mardi 6 décembre 2005Date d'inscription 10 novembre 2014 Dernière intervention - 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 3213 Messages postés lundi 7 novembre 2005Date d'inscription 16 février 2009 Dernière intervention - 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 13 Messages postés mardi 27 mai 2008Date d'inscription 30 juin 2008 Dernière intervention - 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 3213 Messages postés lundi 7 novembre 2005Date d'inscription 16 février 2009 Dernière intervention - 16 juin 2008 à 17:22
0
Merci
#include <windows.h>

C++ (@++)<!--
Commenter la réponse de SAKingdom
Benjam18 13 Messages postés mardi 27 mai 2008Date d'inscription 30 juin 2008 Dernière intervention - 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 3213 Messages postés lundi 7 novembre 2005Date d'inscription 16 février 2009 Dernière intervention - 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 13 Messages postés mardi 27 mai 2008Date d'inscription 30 juin 2008 Dernière intervention - 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 13 Messages postés mardi 27 mai 2008Date d'inscription 30 juin 2008 Dernière intervention - 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 3213 Messages postés lundi 7 novembre 2005Date d'inscription 16 février 2009 Dernière intervention - 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.