Je viens de me rendre compte que la fonction ExtraitChaine()
avec TAB ou autre comme séparateur ne me renvoyait plus EOT
à la fin de la boucle, mais une chaine vide.
Je suis en 315p.
Est-ce quelqu'un a ce problème aussi ou alors ce pourrait être lié
à un problème de config.
Merci
Yves
Code de test ci-dessous :
ch,ch1 est une chaîne = ""
x est entier = 0
POUR x = 1 A 10
ch1 += NumériqueVersChaine(x,"05d")+TAB
FIN
Trace(ch1)
x = 0
BOUCLE
x ++
ch = ExtraitChaîne(ch1,x)
Trace(x,ch)
SI ch = EOT ALORS Trace(" sortie avec EOT") ; SORTIR
SI ch = "" ALORS Trace("sortie avec chaine vide") ; SORTIR
FIN
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Yves.83
Petite précision : si vous remplacez les dernières lignes par : SI ch = EOT ALORS Trace(" sortie avec EOT") ; SORTIR SI ch = "" ALORS Trace("j'ai une chaine vide") FIN vous verrez la ligne 11 - chaine vide et la 12 - EOT
"Yves.83" a écrit dans le message de news: 41655d23$0$7199$
Bonjour à tous
Je viens de me rendre compte que la fonction ExtraitChaine() avec TAB ou autre comme séparateur ne me renvoyait plus EOT à la fin de la boucle, mais une chaine vide. Je suis en 315p. Est-ce quelqu'un a ce problème aussi ou alors ce pourrait être lié à un problème de config. Merci Yves
Code de test ci-dessous :
ch,ch1 est une chaîne = "" x est entier = 0
POUR x = 1 A 10 ch1 += NumériqueVersChaine(x,"05d")+TAB FIN Trace(ch1) x = 0 BOUCLE x ++ ch = ExtraitChaîne(ch1,x) Trace(x,ch) SI ch = EOT ALORS Trace(" sortie avec EOT") ; SORTIR SI ch = "" ALORS Trace("sortie avec chaine vide") ; SORTIR FIN
Petite précision :
si vous remplacez les dernières lignes par :
SI ch = EOT ALORS Trace(" sortie avec EOT") ; SORTIR
SI ch = "" ALORS Trace("j'ai une chaine vide")
FIN
vous verrez la ligne 11 - chaine vide et la 12 - EOT
"Yves.83" <yves.piot.83@wanadoo.fr> a écrit dans le message de news:
41655d23$0$7199$8fcfb975@news.wanadoo.fr...
Bonjour à tous
Je viens de me rendre compte que la fonction ExtraitChaine()
avec TAB ou autre comme séparateur ne me renvoyait plus EOT
à la fin de la boucle, mais une chaine vide.
Je suis en 315p.
Est-ce quelqu'un a ce problème aussi ou alors ce pourrait être lié
à un problème de config.
Merci
Yves
Code de test ci-dessous :
ch,ch1 est une chaîne = ""
x est entier = 0
POUR x = 1 A 10
ch1 += NumériqueVersChaine(x,"05d")+TAB
FIN
Trace(ch1)
x = 0
BOUCLE
x ++
ch = ExtraitChaîne(ch1,x)
Trace(x,ch)
SI ch = EOT ALORS Trace(" sortie avec EOT") ; SORTIR
SI ch = "" ALORS Trace("sortie avec chaine vide") ; SORTIR
FIN
Petite précision : si vous remplacez les dernières lignes par : SI ch = EOT ALORS Trace(" sortie avec EOT") ; SORTIR SI ch = "" ALORS Trace("j'ai une chaine vide") FIN vous verrez la ligne 11 - chaine vide et la 12 - EOT
"Yves.83" a écrit dans le message de news: 41655d23$0$7199$
Bonjour à tous
Je viens de me rendre compte que la fonction ExtraitChaine() avec TAB ou autre comme séparateur ne me renvoyait plus EOT à la fin de la boucle, mais une chaine vide. Je suis en 315p. Est-ce quelqu'un a ce problème aussi ou alors ce pourrait être lié à un problème de config. Merci Yves
Code de test ci-dessous :
ch,ch1 est une chaîne = "" x est entier = 0
POUR x = 1 A 10 ch1 += NumériqueVersChaine(x,"05d")+TAB FIN Trace(ch1) x = 0 BOUCLE x ++ ch = ExtraitChaîne(ch1,x) Trace(x,ch) SI ch = EOT ALORS Trace(" sortie avec EOT") ; SORTIR SI ch = "" ALORS Trace("sortie avec chaine vide") ; SORTIR FIN
Romain PETIT
Dans son message précédent, Yves.83 a écrit :
Bonjour à tous
Bonjour,
Est-ce quelqu'un a ce problème aussi ou alors ce pourrait être lié à un problème de config.
Plutôt un problème de programmation... Tu as 10 TAB donc tu boucles 11 fois, la 11ème fois tu récupères une chaine vide... A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
Dans son message précédent, Yves.83 a écrit :
Bonjour à tous
Bonjour,
Est-ce quelqu'un a ce problème aussi ou alors ce pourrait être lié
à un problème de config.
Plutôt un problème de programmation...
Tu as 10 TAB donc tu boucles 11 fois, la 11ème fois tu récupères une
chaine vide...
A+
--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Est-ce quelqu'un a ce problème aussi ou alors ce pourrait être lié à un problème de config.
Plutôt un problème de programmation... Tu as 10 TAB donc tu boucles 11 fois, la 11ème fois tu récupères une chaine vide... A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
ZryMel
Hello
en effet il te "manque 1 tour"
essaye ce code :
ch,ch1 est une chaîne = "" x est entier = 1
ch1 = NumériqueVersChaine(x,"05d") POUR x = 2 A 10 ch1 += TAB+NumériqueVersChaine(x,"05d") FIN Trace(ch1) x = 0 BOUCLE x ++ ch = ExtraitChaîne(ch1,x) Trace(x,ch) SI ch = EOT ALORS Trace(" sortie avec EOT") ; SORTIR SI ch = "" ALORS Trace("sortie avec chaine vide") ; SORTIR FIN
-- ZryMel
Hello
en effet il te "manque 1 tour"
essaye ce code :
ch,ch1 est une chaîne = ""
x est entier = 1
ch1 = NumériqueVersChaine(x,"05d")
POUR x = 2 A 10
ch1 += TAB+NumériqueVersChaine(x,"05d")
FIN
Trace(ch1)
x = 0
BOUCLE
x ++
ch = ExtraitChaîne(ch1,x)
Trace(x,ch)
SI ch = EOT ALORS Trace(" sortie avec EOT") ; SORTIR
SI ch = "" ALORS Trace("sortie avec chaine vide") ; SORTIR
FIN
ch1 = NumériqueVersChaine(x,"05d") POUR x = 2 A 10 ch1 += TAB+NumériqueVersChaine(x,"05d") FIN Trace(ch1) x = 0 BOUCLE x ++ ch = ExtraitChaîne(ch1,x) Trace(x,ch) SI ch = EOT ALORS Trace(" sortie avec EOT") ; SORTIR SI ch = "" ALORS Trace("sortie avec chaine vide") ; SORTIR FIN
-- ZryMel
Yves.83
Merci pour vos réponses, mais ce qui n'est pas exact alors c'est la ligne de l'aide : Résultat = La constante EOT si <Rang > est plus grand que le nombre de séparateurs contenus dans la chaîne. et donc il faut considérer la fin de chaine comme un séparateur supplémentaire car quand j'ai le rang = 11 et le nombre de TAB = 10 , je n'ai pas EOT
Je vais donc m'adapter. merci encore Yves
"Romain PETIT" a écrit dans le message de news:
Dans son message précédent, Yves.83 a écrit : > Bonjour à tous
Bonjour,
> Est-ce quelqu'un a ce problème aussi ou alors ce pourrait être lié > à un problème de config.
Plutôt un problème de programmation... Tu as 10 TAB donc tu boucles 11 fois, la 11ème fois tu récupères une chaine vide... A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
Merci pour vos réponses, mais ce qui n'est pas exact alors c'est la ligne de
l'aide :
Résultat = La constante EOT si <Rang > est plus grand que le nombre de
séparateurs contenus dans la chaîne.
et donc il faut considérer la fin de chaine comme un séparateur
supplémentaire
car quand j'ai le rang = 11 et le nombre de TAB = 10 , je n'ai pas EOT
Je vais donc m'adapter. merci encore
Yves
"Romain PETIT" <VoirM@Signature.fin> a écrit dans le message de news:
mn.3c1b7d4a2c1ecb72.2248@Signature.fin...
Dans son message précédent, Yves.83 a écrit :
> Bonjour à tous
Bonjour,
> Est-ce quelqu'un a ce problème aussi ou alors ce pourrait être lié
> à un problème de config.
Plutôt un problème de programmation...
Tu as 10 TAB donc tu boucles 11 fois, la 11ème fois tu récupères une
chaine vide...
A+
--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Merci pour vos réponses, mais ce qui n'est pas exact alors c'est la ligne de l'aide : Résultat = La constante EOT si <Rang > est plus grand que le nombre de séparateurs contenus dans la chaîne. et donc il faut considérer la fin de chaine comme un séparateur supplémentaire car quand j'ai le rang = 11 et le nombre de TAB = 10 , je n'ai pas EOT
Je vais donc m'adapter. merci encore Yves
"Romain PETIT" a écrit dans le message de news:
Dans son message précédent, Yves.83 a écrit : > Bonjour à tous
Bonjour,
> Est-ce quelqu'un a ce problème aussi ou alors ce pourrait être lié > à un problème de config.
Plutôt un problème de programmation... Tu as 10 TAB donc tu boucles 11 fois, la 11ème fois tu récupères une chaine vide... A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
michel.chanu
Bonjour!
Personnellement, et depuis toujours avec WINDEV, je teste Resultat comme suit:
si Resultat = EOT et pas (Resultat ~= "") alors ...
Bien sur il faut être certain que Resultat renvoie toujours une chaine non vide.
Bon dev...
Bonjour!
Personnellement, et depuis toujours avec WINDEV, je teste Resultat comme suit:
si Resultat = EOT et pas (Resultat ~= "") alors
...
Bien sur il faut être certain que Resultat renvoie toujours une chaine non vide.
Personnellement, et depuis toujours avec WINDEV, je teste Resultat comme suit:
si Resultat = EOT et pas (Resultat ~= "") alors ...
Bien sur il faut être certain que Resultat renvoie toujours une chaine non vide.
Bon dev...
michel.chanu
Re bonjour!
Heureusement que je vais prendre un peu de repos la semaine prochaine!
Je me suis mélangé les crayons entre <<SI>> et <<TANT QUE>>. Voilà les bonnes syntaxes:
// Dans un boucle (p.ex.) boucle Resultat = ExtraitChaine(...) SI (Resultat ~= "") ou (Resultat = eot) alors sortir // Traitements... fin
// Avec <<Tant Que>> Resultat = ExtraitChaine(...) TANT QUE (Resultat <> EOT) et pas (Resultat ~= "") //Traitements... Resultat = ExtraitChaine(...) fin
Je précise que ce genre de problème m'est apparu depuis la version 4.1 de Windev.
Bon DEV...
Re bonjour!
Heureusement que je vais prendre un peu de repos la semaine prochaine!
Je me suis mélangé les crayons entre <<SI>> et <<TANT QUE>>. Voilà les
bonnes syntaxes:
// Dans un boucle (p.ex.)
boucle
Resultat = ExtraitChaine(...)
SI (Resultat ~= "") ou (Resultat = eot) alors sortir
// Traitements...
fin
// Avec <<Tant Que>>
Resultat = ExtraitChaine(...)
TANT QUE (Resultat <> EOT) et pas (Resultat ~= "")
//Traitements...
Resultat = ExtraitChaine(...)
fin
Je précise que ce genre de problème m'est apparu depuis la version 4.1
de Windev.
Heureusement que je vais prendre un peu de repos la semaine prochaine!
Je me suis mélangé les crayons entre <<SI>> et <<TANT QUE>>. Voilà les bonnes syntaxes:
// Dans un boucle (p.ex.) boucle Resultat = ExtraitChaine(...) SI (Resultat ~= "") ou (Resultat = eot) alors sortir // Traitements... fin
// Avec <<Tant Que>> Resultat = ExtraitChaine(...) TANT QUE (Resultat <> EOT) et pas (Resultat ~= "") //Traitements... Resultat = ExtraitChaine(...) fin
Je précise que ce genre de problème m'est apparu depuis la version 4.1 de Windev.
Bon DEV...
Romain PETIT
Dans son message précédent, Yves.83 a écrit :
Merci pour vos réponses, mais ce qui n'est pas exact alors c'est la ligne de l'aide : Résultat = La constante EOT si <Rang > est plus grand que le nombre de séparateurs contenus dans la chaîne. et donc il faut considérer la fin de chaine comme un séparateur supplémentaire car quand j'ai le rang = 11 et le nombre de TAB = 10 , je n'ai pas EOT
Oui, la chaine vide renvoyée correspond à ce qui est entre le dernier <TAB> et la fin de la chaine. La doc est effectivement mal rédigée, il faut plutôt lire : Résultat = La constante EOT si <Rang> est plus grand que (le nombre de séparateurs + 1) contenus dans la chaîne .
Je vais donc m'adapter. merci encore
Ce comportement (et la doc citée) existe depuis toujours.. (en tout cas depuis WD55)
A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
Dans son message précédent, Yves.83 a écrit :
Merci pour vos réponses, mais ce qui n'est pas exact alors c'est la ligne de
l'aide :
Résultat = La constante EOT si <Rang > est plus grand que le nombre de
séparateurs contenus dans la chaîne.
et donc il faut considérer la fin de chaine comme un séparateur
supplémentaire
car quand j'ai le rang = 11 et le nombre de TAB = 10 , je n'ai pas EOT
Oui, la chaine vide renvoyée correspond à ce qui est entre le dernier
<TAB> et la fin de la chaine.
La doc est effectivement mal rédigée, il faut plutôt lire :
Résultat = La constante EOT si <Rang> est plus grand que (le nombre de
séparateurs + 1) contenus dans la chaîne .
Je vais donc m'adapter. merci encore
Ce comportement (et la doc citée) existe depuis toujours.. (en tout cas
depuis WD55)
A+
--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Merci pour vos réponses, mais ce qui n'est pas exact alors c'est la ligne de l'aide : Résultat = La constante EOT si <Rang > est plus grand que le nombre de séparateurs contenus dans la chaîne. et donc il faut considérer la fin de chaine comme un séparateur supplémentaire car quand j'ai le rang = 11 et le nombre de TAB = 10 , je n'ai pas EOT
Oui, la chaine vide renvoyée correspond à ce qui est entre le dernier <TAB> et la fin de la chaine. La doc est effectivement mal rédigée, il faut plutôt lire : Résultat = La constante EOT si <Rang> est plus grand que (le nombre de séparateurs + 1) contenus dans la chaîne .
Je vais donc m'adapter. merci encore
Ce comportement (et la doc citée) existe depuis toujours.. (en tout cas depuis WD55)
A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)