#1 

12-10-2008 14:46:23

Williwaw
Membres
Date d'inscription:
Messages: 3
IP: 90.25.255.104
Courriel

Bonjour,

Je souhaiterais afficher une variable sur l'écran, j'utilise habituellement :

guienv->addStaticText(L"Le texte que je souhaite afficher",rect<int>(10,10,100,22), true);

Mais si j'attribue, par exemple:
char *Welcomemsg="Je vous souhaite la bienvenue";

Je ne peut pas utiliser la fonction "addStaticText" à cause du "L"...
Comment puis-je faire?


Hors ligne


#2 

12-10-2008 15:38:19

tmyke
Administrateurs
Avatar de tmyke
Date d'inscription:
Messages: 1025
IP: 86.218.187.206
Courriel

La fonction prend en entrée des chaines de caractère UNICODE au format 'wchar_t'.
Donc, il faut que ta chaine soit compatible.
Soit tu écris donc plutôt:

wchar_t *Welcomemsg= L"Je vous souhaite la bienvenue";

tu peux passer aussi par des déclarations du type:

irr::gui::IGUIStaticText * myText;
myText->setText("test text");

par contre, si cela viens d'un soucis de convertions char vers wchar_t, alors il faut je pense
d'abord passer par une fonction de convertion entre les formats de caractères...

Il me semble qu'il existe une fonction qui s'appele mbstowcs, qui permet une conversion char->wchar_t.
un code comme celui-ci devrait marcher:

	char *mtext = "un texte au pif";
	wchar_t welcome[256];
	mbstowcs(welcome, mtext, strlen(mtext));
	guienv->addStaticText( welcome, rect<int>(10,10,266,28), true);

A++


Force et sagesse...

Hors ligne


#3 

14-10-2008 14:36:35

Williwaw
Membres
Date d'inscription:
Messages: 3
IP: 90.12.236.110
Courriel

Merci pour la solution. Ca marche presque parfaitement, un petit soucis persiste :


Hors ligne


#4 

14-10-2008 16:41:38

tmyke
Administrateurs
Avatar de tmyke
Date d'inscription:
Messages: 1025
IP: 86.218.233.97
Courriel

Williwaw Ecris:

Merci pour la solution. Ca marche presque parfaitement, un petit soucis persiste :
http://img507.imageshack.us/my.php?image=strangecharjh3.png

En fait, je pense que cela vient d'un soucis de retour du chariot. Tu n'as pas de fin de chaine, et donc il te restitue
des caractèrse derrières qui n'ont pas lieu d'être jusqu'a atteindre une fin de ligne éventuelle.
En fait, dans le code que je donne plus haut, une modif comme suit pourrait peut-être résoudre le soucis je pense:

	char *mtext = "un texte au pif";
	wchar_t welcome[256];
	mbstowcs(welcome, mtext, strlen(mtext)+1);
	guienv->addStaticText( welcome, rect<int>(10,10,266,28), true);


Force et sagesse...

Hors ligne


#5 

15-10-2008 11:17:10

Williwaw
Membres
Date d'inscription:
Messages: 3
IP: 90.12.236.110
Courriel

Ca fonctionne parfaitement, merci beaucoup.


Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
125 invités en ligne
membre en ligne: -
RSS Feed