Problème pour calculer la longueur du contenu du chaîne fixe, soit:
chaine as string * 100 'string longueur fixe = 100 octets
cheineX as string ' string longueur indéterminée
--------------------------
Ensuite, si je fais:
chaine = "123"
len(chaîne), j'aurais 100 de longueur car ma chaîne est "as string * 100"
Donc je ne pourrais pas avoir la longueur du contenu, sauf si elle est
pleine
--------------------------
Donc, je voudrais savoir quelle est l'opération correcte des deux qui
suivent pour connaître la longueur de la chaîne:
En fait vous l'aurez compris, le problème est de savoir si le Trim (sur une
chaîne de longueur fixe que l'on transfert dans une chaîne à longueur
variable, pour en connaître la taille) va laisser d'abord faire le transfert
puis retasser (je peux le faire tout seul, mais c'est le mécanisme de
fonctionnement qui m'intéresse, si vous avez des infos générales pour tout
ce qui s'applique à ce principe?), dans ce cas nous aurons la longueur du
contenu, OU, si le Trim va tenter d'abord de retasser la chaîne de longueur
fixe, et ne le pouvant pas, le Len va renvoyer le contenant ???
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Ce message est plein de virus "certifiés"
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
------------------------------------------
Attention, cela déclare une chaine de 100 caractères et non de 100 octets ! En VB, les chaine sont en Unicode donc 2 octets par caractères ! On a donc LenB(MaChaine)=2*Len(MaChaine).
Juste une remarque, je te déconseille l'utilisation de la fonction Trim(), préfère utiliser Trim$() qui travaille directement en string. Cela vaut pour la plupart des fonctions de traitement de chaine.
Comme ta chaine est fixe, il faut déjà la trimer puis faire un len :
Dim strMaChaine As String * 100 strMaChaine = "salut !" MsgBox Len(Trim$(strMaChaine))
Si tu veux passer par une variable intermédiaire non fixe, ce sera la même chose :
Dim strMaChaine As String * 100, strChaine As String strMaChaine = "salut !" strChaine = Trim$(strMaChaine) MsgBox Len(strChaine)
En fait vous l'aurez compris, le problème est de savoir si le Trim (sur une chaîne de longueur fixe que l'on transfert dans une chaîne à longueur variable, pour en connaître la taille) va laisser d'abord faire le transfert puis retasser (je peux le faire tout seul, mais c'est le mécanisme de fonctionnement qui m'intéresse, si vous avez des infos générales pour tout ce qui s'applique à ce principe?), dans ce cas nous aurons la longueur du contenu, OU, si le Trim va tenter d'abord de retasser la chaîne de longueur fixe, et ne le pouvant pas, le Len va renvoyer le contenant ???
Dans le code :
Dim strMaChaine As String * 100 strMaChaine = "salut !" MsgBox Len(Trim$(strMaChaine))
La chaine strMaChaine va être trimée en mémoire, dans un autre espace, pour être renvoyée à la fonction Len(). Pour tenter de trimer la chaine sur elle même, on ferait ceci : strMaChaine = Trim$(strMaChaine) Mais ca en changerait rien.
Dans le code :
Dim strMaChaine As String * 100, strChaine As String strMaChaine = "salut !" strChaine = Trim$(strMaChaine) MsgBox Len(strChaine)
La chaine strMaChaine va être trimée par la fonction puis stockée dans strChaine.
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ http://apisvb.europe.webmatrixhosting.net/
Attention, cela déclare une chaine de 100 caractères et non de 100 octets !
En VB, les chaine sont en Unicode donc 2 octets par caractères ! On a donc
LenB(MaChaine)=2*Len(MaChaine).
Juste une remarque, je te déconseille l'utilisation de la fonction Trim(),
préfère utiliser Trim$() qui travaille directement en string. Cela vaut pour
la plupart des fonctions de traitement de chaine.
Comme ta chaine est fixe, il faut déjà la trimer puis faire un len :
Dim strMaChaine As String * 100
strMaChaine = "salut !"
MsgBox Len(Trim$(strMaChaine))
Si tu veux passer par une variable intermédiaire non fixe, ce sera la même
chose :
Dim strMaChaine As String * 100, strChaine As String
strMaChaine = "salut !"
strChaine = Trim$(strMaChaine)
MsgBox Len(strChaine)
En fait vous l'aurez compris, le problème est de savoir si le Trim
(sur une chaîne de longueur fixe que l'on transfert dans une chaîne à
longueur variable, pour en connaître la taille) va laisser d'abord
faire le transfert puis retasser (je peux le faire tout seul, mais
c'est le mécanisme de fonctionnement qui m'intéresse, si vous avez
des infos générales pour tout ce qui s'applique à ce principe?), dans
ce cas nous aurons la longueur du contenu, OU, si le Trim va tenter
d'abord de retasser la chaîne de longueur fixe, et ne le pouvant pas,
le Len va renvoyer le contenant ???
Dans le code :
Dim strMaChaine As String * 100
strMaChaine = "salut !"
MsgBox Len(Trim$(strMaChaine))
La chaine strMaChaine va être trimée en mémoire, dans un autre espace, pour
être renvoyée à la fonction Len(). Pour tenter de trimer la chaine sur elle
même, on ferait ceci :
strMaChaine = Trim$(strMaChaine)
Mais ca en changerait rien.
Dans le code :
Dim strMaChaine As String * 100, strChaine As String
strMaChaine = "salut !"
strChaine = Trim$(strMaChaine)
MsgBox Len(strChaine)
La chaine strMaChaine va être trimée par la fonction puis stockée dans
strChaine.
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
Attention, cela déclare une chaine de 100 caractères et non de 100 octets ! En VB, les chaine sont en Unicode donc 2 octets par caractères ! On a donc LenB(MaChaine)=2*Len(MaChaine).
Juste une remarque, je te déconseille l'utilisation de la fonction Trim(), préfère utiliser Trim$() qui travaille directement en string. Cela vaut pour la plupart des fonctions de traitement de chaine.
Comme ta chaine est fixe, il faut déjà la trimer puis faire un len :
Dim strMaChaine As String * 100 strMaChaine = "salut !" MsgBox Len(Trim$(strMaChaine))
Si tu veux passer par une variable intermédiaire non fixe, ce sera la même chose :
Dim strMaChaine As String * 100, strChaine As String strMaChaine = "salut !" strChaine = Trim$(strMaChaine) MsgBox Len(strChaine)
En fait vous l'aurez compris, le problème est de savoir si le Trim (sur une chaîne de longueur fixe que l'on transfert dans une chaîne à longueur variable, pour en connaître la taille) va laisser d'abord faire le transfert puis retasser (je peux le faire tout seul, mais c'est le mécanisme de fonctionnement qui m'intéresse, si vous avez des infos générales pour tout ce qui s'applique à ce principe?), dans ce cas nous aurons la longueur du contenu, OU, si le Trim va tenter d'abord de retasser la chaîne de longueur fixe, et ne le pouvant pas, le Len va renvoyer le contenant ???
Dans le code :
Dim strMaChaine As String * 100 strMaChaine = "salut !" MsgBox Len(Trim$(strMaChaine))
La chaine strMaChaine va être trimée en mémoire, dans un autre espace, pour être renvoyée à la fonction Len(). Pour tenter de trimer la chaine sur elle même, on ferait ceci : strMaChaine = Trim$(strMaChaine) Mais ca en changerait rien.
Dans le code :
Dim strMaChaine As String * 100, strChaine As String strMaChaine = "salut !" strChaine = Trim$(strMaChaine) MsgBox Len(strChaine)
La chaine strMaChaine va être trimée par la fonction puis stockée dans strChaine.
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ http://apisvb.europe.webmatrixhosting.net/
le_troll
Merci camarade :o)
-- Merci, @+, bye, Joe troll75 AROBASE iFrance POINT com ------------------------------------------ Ce message est plein de virus "certifiés" Le_Troll, éleveur de Trolls depuis César, qui disait: Avec une hache, celui qui tient le manche a toujours raison ! ------------------------------------------
"ng" a écrit dans le message de news:
Salut,
> soit: chaine as string * 100 'string longueur fixe = 100 octets Attention, cela déclare une chaine de 100 caractères et non de 100 octets
!
En VB, les chaine sont en Unicode donc 2 octets par caractères ! On a donc LenB(MaChaine)=2*Len(MaChaine).
> -1- chaineX = Trim(chaine) ' ==== 400 OU 3 ??? > OU > -2- chaineX = chaine ' ======== 400 > chaineX=Trilm(chaineX) ' === 3 Juste une remarque, je te déconseille l'utilisation de la fonction Trim(), préfère utiliser Trim$() qui travaille directement en string. Cela vaut
pour
la plupart des fonctions de traitement de chaine.
Comme ta chaine est fixe, il faut déjà la trimer puis faire un len :
Dim strMaChaine As String * 100 strMaChaine = "salut !" MsgBox Len(Trim$(strMaChaine))
Si tu veux passer par une variable intermédiaire non fixe, ce sera la même chose :
Dim strMaChaine As String * 100, strChaine As String strMaChaine = "salut !" strChaine = Trim$(strMaChaine) MsgBox Len(strChaine)
> En fait vous l'aurez compris, le problème est de savoir si le Trim > (sur une chaîne de longueur fixe que l'on transfert dans une chaîne à > longueur variable, pour en connaître la taille) va laisser d'abord > faire le transfert puis retasser (je peux le faire tout seul, mais > c'est le mécanisme de fonctionnement qui m'intéresse, si vous avez > des infos générales pour tout ce qui s'applique à ce principe?), dans > ce cas nous aurons la longueur du contenu, OU, si le Trim va tenter > d'abord de retasser la chaîne de longueur fixe, et ne le pouvant pas, > le Len va renvoyer le contenant ???
Dans le code :
Dim strMaChaine As String * 100 strMaChaine = "salut !" MsgBox Len(Trim$(strMaChaine))
La chaine strMaChaine va être trimée en mémoire, dans un autre espace,
pour
être renvoyée à la fonction Len(). Pour tenter de trimer la chaine sur
elle
même, on ferait ceci : strMaChaine = Trim$(strMaChaine) Mais ca en changerait rien.
Dans le code :
Dim strMaChaine As String * 100, strChaine As String strMaChaine = "salut !" strChaine = Trim$(strMaChaine) MsgBox Len(strChaine)
La chaine strMaChaine va être trimée par la fonction puis stockée dans strChaine.
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ http://apisvb.europe.webmatrixhosting.net/
Merci camarade :o)
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Ce message est plein de virus "certifiés"
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
------------------------------------------
"ng" <ng@ngsoft-fr.com> a écrit dans le message de news:
enhn09cWEHA.2716@tk2msftngp13.phx.gbl...
Salut,
> soit: chaine as string * 100 'string longueur fixe = 100 octets
Attention, cela déclare une chaine de 100 caractères et non de 100 octets
!
En VB, les chaine sont en Unicode donc 2 octets par caractères ! On a donc
LenB(MaChaine)=2*Len(MaChaine).
> -1- chaineX = Trim(chaine) ' ==== 400 OU 3 ???
> OU
> -2- chaineX = chaine ' ======== 400
> chaineX=Trilm(chaineX) ' === 3
Juste une remarque, je te déconseille l'utilisation de la fonction Trim(),
préfère utiliser Trim$() qui travaille directement en string. Cela vaut
pour
la plupart des fonctions de traitement de chaine.
Comme ta chaine est fixe, il faut déjà la trimer puis faire un len :
Dim strMaChaine As String * 100
strMaChaine = "salut !"
MsgBox Len(Trim$(strMaChaine))
Si tu veux passer par une variable intermédiaire non fixe, ce sera la même
chose :
Dim strMaChaine As String * 100, strChaine As String
strMaChaine = "salut !"
strChaine = Trim$(strMaChaine)
MsgBox Len(strChaine)
> En fait vous l'aurez compris, le problème est de savoir si le Trim
> (sur une chaîne de longueur fixe que l'on transfert dans une chaîne à
> longueur variable, pour en connaître la taille) va laisser d'abord
> faire le transfert puis retasser (je peux le faire tout seul, mais
> c'est le mécanisme de fonctionnement qui m'intéresse, si vous avez
> des infos générales pour tout ce qui s'applique à ce principe?), dans
> ce cas nous aurons la longueur du contenu, OU, si le Trim va tenter
> d'abord de retasser la chaîne de longueur fixe, et ne le pouvant pas,
> le Len va renvoyer le contenant ???
Dans le code :
Dim strMaChaine As String * 100
strMaChaine = "salut !"
MsgBox Len(Trim$(strMaChaine))
La chaine strMaChaine va être trimée en mémoire, dans un autre espace,
pour
être renvoyée à la fonction Len(). Pour tenter de trimer la chaine sur
elle
même, on ferait ceci :
strMaChaine = Trim$(strMaChaine)
Mais ca en changerait rien.
Dans le code :
Dim strMaChaine As String * 100, strChaine As String
strMaChaine = "salut !"
strChaine = Trim$(strMaChaine)
MsgBox Len(strChaine)
La chaine strMaChaine va être trimée par la fonction puis stockée dans
strChaine.
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/
-- Merci, @+, bye, Joe troll75 AROBASE iFrance POINT com ------------------------------------------ Ce message est plein de virus "certifiés" Le_Troll, éleveur de Trolls depuis César, qui disait: Avec une hache, celui qui tient le manche a toujours raison ! ------------------------------------------
"ng" a écrit dans le message de news:
Salut,
> soit: chaine as string * 100 'string longueur fixe = 100 octets Attention, cela déclare une chaine de 100 caractères et non de 100 octets
!
En VB, les chaine sont en Unicode donc 2 octets par caractères ! On a donc LenB(MaChaine)=2*Len(MaChaine).
> -1- chaineX = Trim(chaine) ' ==== 400 OU 3 ??? > OU > -2- chaineX = chaine ' ======== 400 > chaineX=Trilm(chaineX) ' === 3 Juste une remarque, je te déconseille l'utilisation de la fonction Trim(), préfère utiliser Trim$() qui travaille directement en string. Cela vaut
pour
la plupart des fonctions de traitement de chaine.
Comme ta chaine est fixe, il faut déjà la trimer puis faire un len :
Dim strMaChaine As String * 100 strMaChaine = "salut !" MsgBox Len(Trim$(strMaChaine))
Si tu veux passer par une variable intermédiaire non fixe, ce sera la même chose :
Dim strMaChaine As String * 100, strChaine As String strMaChaine = "salut !" strChaine = Trim$(strMaChaine) MsgBox Len(strChaine)
> En fait vous l'aurez compris, le problème est de savoir si le Trim > (sur une chaîne de longueur fixe que l'on transfert dans une chaîne à > longueur variable, pour en connaître la taille) va laisser d'abord > faire le transfert puis retasser (je peux le faire tout seul, mais > c'est le mécanisme de fonctionnement qui m'intéresse, si vous avez > des infos générales pour tout ce qui s'applique à ce principe?), dans > ce cas nous aurons la longueur du contenu, OU, si le Trim va tenter > d'abord de retasser la chaîne de longueur fixe, et ne le pouvant pas, > le Len va renvoyer le contenant ???
Dans le code :
Dim strMaChaine As String * 100 strMaChaine = "salut !" MsgBox Len(Trim$(strMaChaine))
La chaine strMaChaine va être trimée en mémoire, dans un autre espace,
pour
être renvoyée à la fonction Len(). Pour tenter de trimer la chaine sur
elle
même, on ferait ceci : strMaChaine = Trim$(strMaChaine) Mais ca en changerait rien.
Dans le code :
Dim strMaChaine As String * 100, strChaine As String strMaChaine = "salut !" strChaine = Trim$(strMaChaine) MsgBox Len(strChaine)
La chaine strMaChaine va être trimée par la fonction puis stockée dans strChaine.
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ http://apisvb.europe.webmatrixhosting.net/