PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → ChampRTF = "" ne fonctionne pas
ChampRTF = "" ne fonctionne pas
Débuté par jp.bloch, 22 fév. 2006 15:30 - 5 réponses
Posté le 22 février 2006 - 15:30
Dans un état, un champ RTF dans un tableau est rempli avec une rubrique RTF, sauf si un paramètre demande qu'il ne soit pas imprimé.

J'ai donc dans l'événement avant Impression du champ le code :

SI gbNePasImprimer ALORS
ChampRTF = ""
FIN

En mode Debug, je contrôle ChampRTF qui est bien vide.
Mais il s'imprime quand même.

Si je change le type de champ en Normal (pas RTF), cela fonctionne.

Quelle instruction faut-il utiliser ?

Merci de votre aide.
Jean-Pierre
Posté le 22 février 2006 - 16:33
Je suis également dans les RTF.
Apparement lorsqu'on écrit "" dans un champ RTF voici le contenu du champ :
"{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
\viewkind4\uc1\pard\f0\fs20\par
}"
Cela correspond bel et bien à "" en RTF.
Personnellement pour tester si un champ RTF est vide je fais RTFversTexte(RTF)=""
Mais dans le cas d'une édition je coche "ne pas imprimer si vide" et il ne s'imprime pas.
Tu peux essayer en faisant pas programmation :

Si RTFversTexte(RTF)="" alors
MonRTF..visible=Faux
sinon
MonRTF..visible=Vrai
Fin
Posté le 22 février 2006 - 16:45
Bonjour,

pourquoi ne pas essayer plutot avec:

ChampRTF=Null ?
Parce que "" ce n'est pas rien c'est une chaîne vide...
Posté le 22 février 2006 - 17:09
Merci pour ta réponse.

Je n'ai pas trouvé d'option "Ne pas imprimer si vide" pour un champ RTF.
Où cela se trouve-t-il ?

J'ai testé MonRTF..visible = Faux mais cela supprime le cadre de la celulle du tableau, ce qui n'est pas très esthétique...

Je continue de cherche...

Jean-Pierre
Posté le 22 février 2006 - 17:09
Bonne idée, mais je viens de tester et cela donne le même résultat !!!!

Merci
Jean-Pierre
Posté le 23 février 2006 - 08:41
As tu coché la case Retourne NULL si vide dasn la description du champ RTF dasn l'onglet général ????

Jean-Pierre Bloch a écrit :
Dans un état, un champ RTF dans un tableau est rempli avec une rubrique RTF, sauf si un paramètre demande qu'il ne soit pas imprimé.

J'ai donc dans l'événement avant Impression du champ le code :

SI gbNePasImprimer ALORS
ChampRTF = ""
FIN

En mode Debug, je contrôle ChampRTF qui est bien vide.
Mais il s'imprime quand même.

Si je change le type de champ en Normal (pas RTF), cela fonctionne.

Quelle instruction faut-il utiliser ?

Merci de votre aide.
Jean-Pierre