OVH Cloud OVH Cloud

[W7.5] souci dans les chaines de caractères

3 réponses
Avatar
dany
bonjour à tous,

j'ignore si vous pourrez m'aider, mais je lance un appel au secours avant de
m'arracher les cheveux !

En construisant une chaine, dans le débuggeur à la fin de la construction,
je vois la chaine "0;1;1;<0>;3;4"
MAIS quand je veux utiliser cette chaine pour la voir à l'écran ou l'envoyer
sur un fichier texte, la chaine s'est mystérieusement tronqué juste avant le
"<0>". Je précise que ce n'est pas moi qui est intentionnellement mis ce
"<0>", normalement c'est sensé être une chaine vide à la place. Je récupère
cette donnée à partir de la base de données puis j'effectue un mapping pour
avoir ces éléments dans un objet. Et donc je récupere cette donnée en direct
via l'objet.
Je précise que si j'écris une chaine à la main pour tester avec "<0>"
dedans, ca marche très bien, ce n'est que dans le débuggeur que je vois
qu'il y a un pb.
Bref, je ne vois pas du tout ce que c'est. Je n'arrive pas à l'intercepter
dans mon code.
J'espere que mon explication n'est pas trop brouillon, mais de toute façon,
je crains que seuls les infortunés à qui cela est déjà arrivé me
comprendront.
Merci de votre aide si jamais cela vous est déjà arrivé.
Dany

3 réponses

Avatar
Marcel.berman
On 16-Dec-2004, "dany" wrote:

bonjour à tous,

j'ignore si vous pourrez m'aider, mais je lance un appel au secours avant
de
m'arracher les cheveux !

En construisant une chaine, dans le débuggeur à la fin de la construction,

je vois la chaine "0;1;1;<0>;3;4"
MAIS quand je veux utiliser cette chaine pour la voir à l'écran ou
l'envoyer
sur un fichier texte, la chaine s'est mystérieusement tronqué juste avant
le
"<0>". Je précise que ce n'est pas moi qui est intentionnellement mis ce
"<0>", normalement c'est sensé être une chaine vide à la place. Je
récupère
cette donnée à partir de la base de données puis j'effectue un mapping
pour
avoir ces éléments dans un objet. Et donc je récupere cette donnée en
direct
via l'objet.
Je précise que si j'écris une chaine à la main pour tester avec "<0>"
dedans, ca marche très bien, ce n'est que dans le débuggeur que je vois
qu'il y a un pb.
Bref, je ne vois pas du tout ce que c'est. Je n'arrive pas à l'intercepter

dans mon code.
J'espere que mon explication n'est pas trop brouillon, mais de toute
façon,
je crains que seuls les infortunés à qui cela est déjà arrivé me
comprendront.
Merci de votre aide si jamais cela vous est déjà arrivé.
Dany



Salut !
Je pense que ton <0> est un caractère ascii de valeur 0 ...
Je me demande si ce n'est pas la manière dont WinDev gèrerait la valeur NULL
pour une chaine de caractères ...
Par hasard, vérifie dans dans l'analyse si, la définition de ta table,
l'option "NULL Supporté" n'est pas validée ...
Si c'est le cas, et si tu as besoin de cette option, quand tu construits ta
chaine, tu devras tester si ton champ est égal à NULL, et si c'est le cas,
envoyer une chaine vide à la place de ton NULL ...

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
Romain PETIT
dany a présenté l'énoncé suivant :
bonjour à tous,



Bonjour,

Comme l'a précisé Marcel, <0> correspond au caractère ascii 0.
C'est un marqueur de fin de chaine courramment utilisé (en WD par
exemple pour les chaines ASCIIZ).

En construisant une chaine, dans le débuggeur à la fin de la construction, je
vois la chaine "0;1;1;<0>;3;4"



Ton problème se situe donc dans la construction de cette chaine.
Vérifie ton code à ce niveau (ou publie le ici).

A+

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
dany
a écrit dans le message de news:


On 16-Dec-2004, "dany" wrote:

bonjour à tous,

j'ignore si vous pourrez m'aider, mais je lance un appel au secours avant
de
m'arracher les cheveux !

En construisant une chaine, dans le débuggeur à la fin de la
construction,

je vois la chaine "0;1;1;<0>;3;4"
MAIS quand je veux utiliser cette chaine pour la voir à l'écran ou
l'envoyer
sur un fichier texte, la chaine s'est mystérieusement tronqué juste avant
le
"<0>". Je précise que ce n'est pas moi qui est intentionnellement mis ce
"<0>", normalement c'est sensé être une chaine vide à la place. Je
récupère
cette donnée à partir de la base de données puis j'effectue un mapping
pour
avoir ces éléments dans un objet. Et donc je récupere cette donnée en
direct
via l'objet.
Je précise que si j'écris une chaine à la main pour tester avec "<0>"
dedans, ca marche très bien, ce n'est que dans le débuggeur que je vois
qu'il y a un pb.
Bref, je ne vois pas du tout ce que c'est. Je n'arrive pas à
l'intercepter

dans mon code.
J'espere que mon explication n'est pas trop brouillon, mais de toute
façon,
je crains que seuls les infortunés à qui cela est déjà arrivé me
comprendront.
Merci de votre aide si jamais cela vous est déjà arrivé.
Dany



Salut !
Je pense que ton <0> est un caractère ascii de valeur 0 ...
Je me demande si ce n'est pas la manière dont WinDev gèrerait la valeur
NULL
pour une chaine de caractères ...
Par hasard, vérifie dans dans l'analyse si, la définition de ta table,
l'option "NULL Supporté" n'est pas validée ...
Si c'est le cas, et si tu as besoin de cette option, quand tu construits
ta
chaine, tu devras tester si ton champ est égal à NULL, et si c'est le cas,
envoyer une chaine vide à la place de ton NULL ...

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



merci pour ton aide, je n'ai pas trouvé l'option "NULL supporté"
en revanche, j'ai remplacé 'caractere" par "chaine" dans le champ et là ca
marche
donc c'est bien un pb du genre "fin de chaine" qui s'insere quand le champ
"caractere" est vide.
c'est bon, j'ai encore mes cheveux !
Dany