cs_nemesis20
Messages postés20Date d'inscriptionmardi 3 mai 2005StatutMembreDernière intervention 6 mai 2005
-
3 mai 2005 à 20:32
cs_nemesis20
Messages postés20Date d'inscriptionmardi 3 mai 2005StatutMembreDernière intervention 6 mai 2005
-
4 mai 2005 à 08:13
bonsoir,
je voudrais savoir pk il existe 2 fonctions : dim et dim$
quelle est la différence entre les deux (si il y en a une, je nai pa trouvé dexplication precise)
et est-il préferable d'utiliser une plus que l'autre ???
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 3 mai 2005 à 22:41
Mid et Mid$ ont toutes les deux le même but : Elle extrait une portion d'une chaine à partir d'une position donnée et sur une longueur donnée elle aussi. Jusque la je pense que tu étais OK. La différence vient du fait que Mid te retourne un variant et que Mid$ te retourne un String. Est-ce important ? Bcp trouve que non, mais moi je pense que si. En général, ton Mid, tu en affectes le résultat à une variable qui est une string, donc, avec le Mid, VB est obligé de faire un transtypage implicit (AutoTypeCast en anglais), ce qui plui prend du temps, bcp de temps. Car pour tout dire, il faut savoir que Mid traite ses donnée en tant que String en interne, puis Convertit la string qu'il obtient en Variant et ensuite, toi tu oblige VB à repasser le Variant en String !!! Avec Mid$, il retourne directement la String, et la, ca roule nickel .... Tu gagnes des quart de millisecondes, mais dans une boucle de 1 000 000 de tours, et ben ca commence à se voir !!!
A noter que toutes les fonction retournant un truc ressemblant à une string existe en version $ : Left$, right$, Asc$, replace$ ....
A toi de te faire ton opinion ...
VBSorcier
Messages postés102Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention29 avril 2007 3 mai 2005 à 20:57
lorsque tu fais "dim" tu peur attribuer n'importe quel "format" :
ex:
dim toto as string
...
dim toto as long
...
dim toto as boolean
que lorsque tu fais "Dim$" tu attribue forcement du "string" (chaine de caractères):
que tu fasse : dim toto as string
ou dim$ toto
ou dim$ toto as string
cela revient au meme...
essayes de faire
dim$ toto as long et ba dans ce cas VB met automatiquement sous la forme
dim toto as long
pour l'utilisation cela n'a pas d'importance c'est comme tu veu l'une est plus rapide a ecrire que l'autre mais laquelle, je te laisse mediter la dessus !!!!