Compteur avec valeur précédée de zéro

Soyez le premier à donner votre avis sur cette source.

Vue 3 120 fois - Téléchargée 274 fois

Description

Aucune description n'est fournie pour ce projet

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
473
Date d'inscription
mercredi 7 août 2002
Statut
Membre
Dernière intervention
10 juin 2015

Salut Vers_ion,
Je tiens une partie de l'aide, une autre de mon experience dans ce langage.
Le test qui tue :
dim x as long
dim str as String
for x = 1 to 10000
'lignes à commenter pour voir la différences
str = x 'cas 1
str = CStr(x) ' cas 2
next
il y a plusieurs secondes de différences de traitement.
Il faut pour faire un programme efficace avoir la même rigueur sur la gestion de la mémoire qu'en C
Messages postés
22
Date d'inscription
jeudi 11 mars 2004
Statut
Membre
Dernière intervention
26 mars 2004

merci pour ces précisions...d'où les tiens tu ?
Messages postés
473
Date d'inscription
mercredi 7 août 2002
Statut
Membre
Dernière intervention
10 juin 2015

Vers_ion -> Je vais t'apporter quelques réponses qui vont parfaitement conforter tes dires...
Le vb sait parfaitement faire des conversions implicites. En gros, quand on passe une valeur à une variable, le programme teste si la valeur est du bon type, si ce n'est pas le cas, il cherchera à utiliser TOUS les convertisseurs possibles pour que ça fonctionne. Si aucun convertisseur n'est disponible on a une erreur de type incompatible.
Le problème c'est que ça rame, et que de temps en temps on a des TRES mauvaises surprises. Par exemple les lignes suivantes donnent des résultats très fantaisistes et pas toujours cohérents :
"2" + 2 donne "22" mais 2 + "2" peut donner 4 ou "22" selon la version du VB.
Pour éviter ces problèmes, le vb nous offre un mécanisme de conversion explicite. Les fonctions sont les suivantes :
CStr (renvoie une string avec une conversion de date au format très aléatoire)
CDbl et CDate qui renvoient un double (une date est stockée dans un double en jour depuis le 01/01/1900 ou 31/12/1899 en fonction du sytème d'exploitation et à cause d'un vieux bug corrigé depuis qui consistait à traiter le 29/02/1900 comme une date valide)
CByte, CInt et CLng renvoient des entiers sur 1, 2 et 4 octets respectivement
Je n'utilise pas les deux dernières, et je ne suis pas sûr de la syntaxe : CCurrency et CSingle
Tout ceci pour dire que la meilleur optimisation d'un code avec conversion de type c'est ça si on ne connait pas le type d'entré :
Function (nbre As Variant)
Dim _nbre as Long
_Nbre = CLng(nbre)
...
End Function
Messages postés
515
Date d'inscription
dimanche 17 février 2002
Statut
Membre
Dernière intervention
10 mars 2008
3
LOL ;-)
Messages postés
22
Date d'inscription
jeudi 11 mars 2004
Statut
Membre
Dernière intervention
26 mars 2004

ben oui mais non ça a vraiment AUCUN EFFET, comme dit plus haut, ni pour les erreurs ni pour quoi que ce soit d'autre...

+ ;)
Afficher les 21 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.