ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Forum AtoutFox : Attention avec la fonction MAX(eExpression1, eExpression2 [, eExpression3 ...]) avec des strings...   

Sujet

rss Flux RSS des derniers messages

Vous devez vous identifier pour pouvoir poser une question ou répondre.

mar. 30 août 2022, 20h24

Francis Faure
France France

atoutfox.public.association

Attention avec la fonction MAX(eExpression1, eExpression2 [, eExpression3 ...]) avec des strings...



Je dû 'intervenir' sur un programme (que je n'ai pas écris) qui utilise la fonction MAX avec 2 variables de type chaines. (je n'avais pas remarqué que l'on pouvait utiliser des chaines en paramètre)

Après plusieurs heures de débuggage j'ai identifié le problème sur la ligne du type :

sVar = MAX(sVar1, sVar2)


j'ignorais que l'on pouvait utiliser la fonction MAX() avec des chaines : je l'ai toujours utilisé avec des numériques...

exemple :
sVar = MAX("99""95"&& attendu "99"
* Résultat "99" OK




mais voilà dans l'exécution du programme c'était (illustration) :

sVar = MAX("100""99"&& attendu "100"
* Résultat "99" KO !


c'est la misère...
En fait il semble que la longueur de la chaine soit prise en compte ou autre : donc attention...

car les tests suivants fonctionnent
MAX("100"" 99"&& avec un espace
MAX("100"" 99"&& avec 2 espaces
MAX("100""099"&& préfixée


juste un partage de galère et de perte de temps...

pour un prochain "Quizz"... (s'il y en a un...)

Cordialement



Journal

GLS pense que ce message est la bonne réponse ou qu'il est utile
Permalink : http://www.atoutfox.org/nntp.asp?ID=0000019999
20 088 messages dans le forum • Liste complète des messages

Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3