Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment tester la valeur vide d'une rubrique au format RTF de fichier ou d'un champ RTF d'état.

4 réponses
Avatar
Eric Marcastel
Bonjour,

Je voudrais controler la valeur vide d'un champ RTF dans un état ou d'une
rubrique RTF de fichier voir d'une variable chaine de caractère.
Avant, du temps de la V7.5, j'avais trouvé une astuce, la fonction
RTFVersTexte(Fichier.rubriqueRTF) fonctionnait sans problème dans un état ou
ailleurs...mais voilà, avec la V8 cela ne fonctionne plus. A vrai dire si je
me tiens à la doc, c'est normal RTFVersTexte() ne fonctionne qu'avec un
champ de saisie ou une chaine, mais pas avec une variable, un champ état,
une rubrique fichier....ça manque.....

De plus, le test suivant Fichier.RubriqueRTF="" ne fonctionne pas
correctement, car il suffit qu'un champs RTF soit pointé avec la souris pour
qu'il soit chargé avec tout les caractères de définition de police, dans ce
cas la valeur affichée est bien vide, mais le test ="" renvois faux!!!

Il me faudrait une solution, j'ai migré mon application en V8, et je suis
bloqué..

eric marcastel

4 réponses

Avatar
Marcel.berman
Salut !


On 30-Jan-2004, "Eric Marcastel" wrote:

De plus, le test suivant Fichier.RubriqueRTF="" ne fonctionne pas
correctement, car il suffit qu'un champs RTF soit pointé avec la souris
pour
qu'il soit chargé avec tout les caractères de définition de police, dans
ce
cas la valeur affichée est bien vide, mais le test ="" renvois faux!!!



Tu ne devrais pas tester
champRTF= "",
mais
RTFversTexte(champRTF) = ""...
car ton champ RTF "vide" à l'affichage contient quand même toutes les
balises RTF ...


Pour le reste , voici une porposition de contournement à la noix ...
Au début du projet, tu ouvres une fenêtre invisible ne contenant qu'un champ
RTF.
Chaque fois que tu veux tester une rubrique, une variable un champ état, tu
attribues la valeur à tester à ton champ et tu testes ton champ ...
Bon je sais, cela bourffe des ressources, c'est pas élégant ... mais cela
devrait fonctionner non ?

J'ai pas testé ... je propose une piste ...

Bien à toi !
--
Marcel Berman
c/o Managing Business SPRL
Allée du Petit Paris, 11
B - 1410 - Waterloo
Tel : +32 2 351.60.64
Fax : +32 2 351.45.78
Gsm : +32 475.799.477
Avatar
Eric Marcastel
Rebonjour,

Merci pour la réponse,

> Tu ne devrais pas tester
> champRTF= "",
> mais
> RTFversTexte(champRTF) = ""...
> car ton champ RTF "vide" à l'affichage contient quand même toutes les
> balises RTF ...
Cela est impossible justement car la fonction RTFversTexte ne fonctionne
qu'avec des champ de saisie et des chaines de caractère (constante exemple :
"ma chaine") en V8.

Chaque fois que tu veux tester une rubrique, une variable un champ état,


tu
attribues la valeur à tester à ton champ et tu testes ton champ ...
Bon je sais, cela bourffe des ressources, c'est pas élégant ... mais cela
devrait fonctionner non ?


J'ai pas testé mais je trouve trés compliqué de faire de cette façon:
dommage pour un tel logiciel, surtout que cela fonctionnait en V7.5....

eric marcastel
Avatar
Marcel.berman
Salut !


On 2-Feb-2004, "Eric Marcastel" wrote:

> Tu ne devrais pas tester
> champRTF= "",
> mais
> RTFversTexte(champRTF) = ""...
> car ton champ RTF "vide" à l'affichage contient quand même toutes
> les
> balises RTF ...



C'est la raison pour laquelle je proposais une fenêtre cachée ouverte à
l'ouverture du projet avec un champ RTF !


J'ai pas testé mais je trouve trés compliqué de faire de cette façon:
dommage pour un tel logiciel, surtout que cela fonctionnait en V7.5....



C'est pas si compliqué, il suffit de faire une fonction globale du genre :

MyRTFVersTexte(cRTFTexte)
MaFenRTF.MonChampRTF = cRTFTexte
renvoyer RTFVersTexte(MaFenRTF.MonChampRTF)

Le jour ( s'il arrive ) où une fonction WD permettra de résoudre ton
problème, tu n'ouvres plus cette fameuse fenêtre et tu remplaces partout
dans ton code ta fonction par celle de WD ...
C'est le propre des contournements que de remplacer quelques chose de simple
qui devrait fonctionner par quelque chose de plus compliqué qui fonctionne
...
Encore que dans ce cas, la fonction RTFVersTexte() fait précisément ce
qu'elle annonce, rien de plus, rien de moins ... et donc, il ne s'agit pas
de contournement au sens propre du mot.
Tu avais utilisé une fonctionnalité non documentée ... et elle a disparu ...

Enfin ... tu fais comme tu veux ...

Bien à toi

--
Marcel Berman
c/o Managing Business SPRL
Allée du Petit Paris, 11
B - 1410 - Waterloo
Tel : +32 2 351.60.64
Fax : +32 2 351.45.78
Gsm : +32 475.799.477
Avatar
Eric Marcastel
ReBonjour,

Je vais essayer ta solution, mais en attendant j'ai continué à essayer de
comprendre.

La fonction RTFVersTexte (Fichier.RubriqueRTF) fonctionne dans une rupture
d'état, mais pas dans le corps!!!
Exemple:
- Si RTFVersTexte (Fichier.RubriqueRTF) <>"" alors -> fonctionne dans la
rupture, mais provoque une erreur dans le corps d'une édition....

Eric marcastel