Mise en forme d'un texte depuis XML

[Résolu]
Signaler
Messages postés
137
Date d'inscription
dimanche 24 avril 2005
Statut
Membre
Dernière intervention
7 août 2008
-
Messages postés
1058
Date d'inscription
jeudi 24 juillet 2003
Statut
Modérateur
Dernière intervention
14 février 2009
-
Hallo !

Bon, alors aujourd'hui, problème gonflant. Pas compliqué d'un gramme,
je suppose, mais ça m'abîme le système nerveux. Je simplifie au max mon
explication :

J'ai un fichier XML qui contient les informations pour mettre en forme
un texte dans flash. Ex : <texte valeur="bla bla bla bla bla"
bold="0" italic="0" underline="0" color="0xff0000" />

Les valeurs sont récup dans flash pour le "TextFormat"
Je récupère
bien les bonnes valeurs, la couleur, etc... no problemo, mais peu
importe c'que je spécifie pour bold, italic et underline, il me rend le
texte gras, italique et souligné.

Ca se présente donc sous cette forme :
montextformat.bold=(etc..).attributes.bold; (le
"(etc..).attributes.bold" peut avoir la valeur "0" ou "false", ça rend
pas).

Y a-t-il une explication rationnelle ou suis-je (encore) dans un cas de pur délire flashesque ?

12 réponses

Messages postés
1596
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
9 juin 2011
2
T'as essayé avec:



maintexte.bold=Number(baliseun[2].attributes.bold);



?



@+! Samy
Messages postés
1058
Date d'inscription
jeudi 24 juillet 2003
Statut
Modérateur
Dernière intervention
14 février 2009

salut

pour mettre en forme le text utilise le formatage html
text en gras
<li>liste à puces</li>
[url lien]

etc....
tu peux aussi utiliser une feuille de style css pour definir le formatage.

http://showcases.club.fr/
Messages postés
137
Date d'inscription
dimanche 24 avril 2005
Statut
Membre
Dernière intervention
7 août 2008

Merci d'avoir répondu. Malheureusement, c'est là qu'est la contrainte
:/ Tout doit être pris du XML... Et pis même, c'est pas LOGIQUE que ça
marche pas, c'pour ça que j'ai envie de m'obstiner :)
Messages postés
1058
Date d'inscription
jeudi 24 juillet 2003
Statut
Modérateur
Dernière intervention
14 février 2009

tu peux formater via ActionScript à l'aide de la class textFormat

extrait de la doc flash :


http://showcases.club.fr/
Messages postés
137
Date d'inscription
dimanche 24 avril 2005
Statut
Membre
Dernière intervention
7 août 2008

J'ai du mal m'exprimer :)

Le texte est déjà mis en forme avec TextFormat. D'un point de vue strictement objectif, tout est PARFAIT.

Le code ressemble à ça :

maintexte.color=baliseun[2].attributes.color;

maintexte.font=baliseun[2].attributes.font;

maintexte.bold=baliseun[2].attributes.bold;

etc...

Les valeurs sont bien récupérées du xml ; pour "color", "font", "size", c'est nickel-chrome-au-poil-comme-sur-des-roulettes.

Ce qui me fait hurler, c'est précisément ça :

maintexte.bold=baliseun[2].attributes.bold; (l'expression "baliseun[2].attributes.bold" a une valeur de 0, mais le texte reste gras)

Alors que si je tape clairement

maintexte.bold=0;

Là, il comprend et le texte perd son gras. Et c'est la même chose pour le underline et l'italic.

C'est aussi logique que la multiplication soustractive, la douleur apaisante ou l'obscurité éblouissante.
Messages postés
1058
Date d'inscription
jeudi 24 juillet 2003
Statut
Modérateur
Dernière intervention
14 février 2009

ok désolé
c'est une question existantiel en faite

http://showcases.club.fr/
Messages postés
137
Date d'inscription
dimanche 24 avril 2005
Statut
Membre
Dernière intervention
7 août 2008

Ui, dans un sens :)

Mais ça me rend vraiment dingue. Si je dois te montrer mon code et mon
fichier XML, tu vas me dire "c'est construit pile poil comme il faut,
ça marche". Une fois compilé, plus rien n'obéit aux lois de l'action
script.

Comme si je lui dis "Eau flotte" d'un côté et "flotte H2O" de
l'autre, et qu'il n'arrive pas à faire la soudure pour me dire qu'en
fin de compte "Eau = H2O".
J'vais finir par me taper une alternative du genre :

if(truc.attributes.bold != 1) {

montextformat = 0;

}

C'est à n'y rien comprendre ! Merci quand même pour ta tentative d'aide :)
Messages postés
1058
Date d'inscription
jeudi 24 juillet 2003
Statut
Modérateur
Dernière intervention
14 février 2009

y'a un truc qui me chiffonne j'ai surment encore loupe un épisode, pourquoi 1 et 0?
c'est true/false ??????

http://showcases.club.fr/
Messages postés
137
Date d'inscription
dimanche 24 avril 2005
Statut
Membre
Dernière intervention
7 août 2008

1 ou 0, true ou false, noir ou blanc, sucré ou salé, avec ou sans piment, string ou culotte, quelle différence ?

J'ai tout essayé, c'est PAREIL (quoique ça m'étonne pas qu'il me rende pas mon texte normalement quand j'lui dis bold="salé").

J'ai trouvé une méthode alternative, qui va quadrupler mes lignes de code :

if(baliseun[2].attributes.bold == 0 || baliseun[2].attributes.bold != 1) {

maintexte.bold=0;

}

else {

maintexte.bold=1;

}

A répéter pour italique et soulignement.........
Messages postés
137
Date d'inscription
dimanche 24 avril 2005
Statut
Membre
Dernière intervention
7 août 2008

Maintenant oui, j'ai essayé.
Et.... GODDAMMIT, CA FONCTIONNE !
J'savais bien qu'c'était tout con :)
Merci man, et bien vu !
Messages postés
1596
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
9 juin 2011
2
Chez moi, c'est gotfedammy lol



On récupère des String à partir de XML...donc Number() ça m'a déjà sauvé plus d'une fois...



@+! Samy
Messages postés
1058
Date d'inscription
jeudi 24 juillet 2003
Statut
Modérateur
Dernière intervention
14 février 2009

sauvé la vie !!

http://showcases.club.fr/