Accueil > Forum > > > > Au secours de toute ma vie je n'ai jamais vu ça
Au secours de toute ma vie je n'ai jamais vu ça
mercredi 9 novembre 2005 à 20:53:31 |
Au secours de toute ma vie je n'ai jamais vu ça

plhea
|
voila j'ai un problème. cela fait maintenant assez longtemps que je programme en VB mais là je bloque
voici mon code ; il est tout simple :
Private Sub Command1_Click() Dim CC As Long CC = 11600 + 19200 + 4000 Print CC End Sub
et là quand j'execute mon programme j'ai Erreur d'exucution 6 : dépassement de capacité
et le débogage me renvoie ici : CC = 11600 + 19200 + 4000
alors là... je ne comprend pas j'ai pourtant déclaré ma variable en LONG la fourchette devrait etre comprise entre -2 147 483 648 à 2 147 483 647
à ce que j'ai pu comprendre, il me limite CC à une variable Integer (fourchette -32 768 à 32 767), donc quand je dépasse ça me met cette erreur (ici CC = 34800)
mais pourquoi ???? je l'ai déclarée en LONG ! rohlala dès que j'ai un gros projet les ennuis arrivent
pouvez vous vérifier sur votre bécane pour voir si c'est la mienne qui fait des siennes ?
merci beaucoup à tous plhea
|
|
mercredi 9 novembre 2005 à 21:09:27 |
Re : Au secours de toute ma vie je n'ai jamais vu ça

jpleroisse
|
Réponse acceptée !
Bonsoir, J'ai essayé ton code et effectivement il me met Dépassement de Capacité. Mais comme ceci celà fonctionne. Private Sub Command1_Click() Dim CC CC = CLng(11600) + CLng(19200) + CLng(4000) + CLng(25000) MsgBox CC End Sub jpleroisse Si une réponse vous convi.ent, cliquez Réponse Acceptée.
|
|
mercredi 9 novembre 2005 à 21:16:51 |
Re : Au secours de toute ma vie je n'ai jamais vu ça

DARKSIDIOUS
|
Réponse acceptée !
Et oui, si tu ne lui dit pas de faire le calcul en Long, il te fera le calcul en integer vu que les nombres que tu additionnes sont des integer. C'est comme si tu fait une multiplication entre deux integer, il te le convertit pas automatiquement en long durant le calcul ! _____________________________________________________________________ DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
|
|
mercredi 9 novembre 2005 à 21:20:22 |
Re : Au secours de toute ma vie je n'ai jamais vu ça

plhea
|
waou waou waou jamais vu ça ! effectivement ça marche et je suis content que ça fait ça pour tout le monde mais je ne comprends toujours pas la raison y aurait il un BUG dans visual basic 6 ???  ou est ce que c'est absolument normal et je suis plus qu'ignorant si quelqu'un y voit une explication logique je suis ouvert et je vous remercie d'avance merci à tous plhea
|
|
mercredi 9 novembre 2005 à 21:25:00 |
Re : Au secours de toute ma vie je n'ai jamais vu ça

plhea
|
EDIT (desolé je sais pas comment éditer)
MERCI beaucoup DarkSidious (désolé j'ai posté sans avoir lu ton message) ok je comprends mieux j'ai fait quelques essais et tu as raison
merci pour vos aides à tous
plhea
|
|
mercredi 9 novembre 2005 à 21:27:12 |
Re : Au secours de toute ma vie je n'ai jamais vu ça

philippe laschweng 1
|
Salut,
Bah c'est vrai que c'est bizarre, en même temps, si tu entres toi même 3 chiffres comme ca à la suite par programmation tu dois être capable de faire la somme par toi même !! lol Et comme ca cela fonctionne (2 manières) :
Méthode 1 Private Sub Command1_Click() Dim CC As Long CC = 11600 CC = CC + 19000 CC = CC + 4000 Print CC End Sub
Méthode 2 Private Sub Command1_Click() Dim CC As Long Dim value1 As Long Dim value2 As Long Dim value3 As Long value1 = 11600 value2 = 19200 value3 = 4000 CC = value1 + value2 + value3 Print CC End Sub
Je sais c'est con comme exemple mais ca me semble plus logique avec des variables. Mais je te l'accorde, je sais pas pourquoi VB ne le prends pas en compte .... Peut être un beug de VB mais perso je ne vois pas l'interêt de ce genre de structure en programmation ! Mais c'est rai que c'est une question intéressante.
Phil  Bye
|
|
mercredi 9 novembre 2005 à 21:30:10 |
Re : Au secours de toute ma vie je n'ai jamais vu ça
|
mercredi 9 novembre 2005 à 21:32:40 |
Re : Au secours de toute ma vie je n'ai jamais vu ça

plhea
|
le code exact était
AugmenterPoints ((11600) + (19200) + (4000))
en fait c'était juste pour me simplifier la vie dans ma relecture en effet, le 11600, le 19200 et le 4000 sont 3 choses différentes et j'ai préféré les séparer en pensant - à tort - que ça n'allait rien changer
plhea
|
|
mercredi 9 novembre 2005 à 21:35:06 |
Re : Au secours de toute ma vie je n'ai jamais vu ça

philippe laschweng 1
|
OK Darksidiou mais si tu déclares le résultat de ton opération en Long c'est ilogique de devoir convertir les nombre en Long puisque le résultat de l'addition de tous les nombres est plus petite que la limite supérieure qu'accepte un Long (2 147 483 647). Les entiers ayant une limite inférieure (32 767). Je dois peut être être con mais je saisis mal ... lol. 
|
|
mercredi 9 novembre 2005 à 21:37:29 |
Re : Au secours de toute ma vie je n'ai jamais vu ça

DARKSIDIOUS
|
Je pense que c'est pour une raison d'optimisation : additionner des entiers sur 2 octets est forcément plus rapide que des entiers sur 4 octets ! (et c'est d'autant plus vrai pour les opérations lourdes telles que multiplications ou modulo). Du coup, VB prend le type de données le plus petit possible pour faire l'addition, et si ca dépasse, tant pis pour toi. Dans ton premier exemple, tu additionne un long avec un integer, donc VB renvoie un long, par contre, un integer avec un integer renvoie un integer, même si la variable stockant le résultat est un long ! Sinon, je tiens à remercier daetips qui a tout compris au schmilblick :) lol _____________________________________________________________________ DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
|
|
Cette discussion est classée dans : secours, programme, erreur, vie, cc
Répondre à ce message
Sujets en rapport avec ce message
Erreur 429 [ par Furax ]
J'ai fait un programme en VB6 connecté à une BD MS Access.J'ai fait le prog d'installation avec l'assistant VB. Mais lorsque je l'installe sur un PC n
Erreur '70'- permission refusée [ par chris ]
Bonjouraprès avoir compilé mon programme, je le lance et à la première opération (ouverture d'un fichier-nouveau ou ancien-), le logiciel affiche Erre
Erreur d'exécution '-214747848 (80010108)' [ par DenoHATE ]
J'ai commencé un programme qui utilise les TextBox, ComboBox et CommandButton du controle FORM 2.0 et tout fonctionne sauf une page (qui n'a rien de d
messages d'erreur 3704,3705,3706 [ par omega ]
J'ai créé une application qui gère une base de données. j'ai utilisé l'utilitaire d'empactage de vb6 pour creer les fichiers d'installations mais lors
URGENT Erreur au démarrage !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! [ par Evangelion ]
J'ai crée une appli de base de données avec un programme d'installation. Après bien des déboires (je passerais les plantages de l'assistant d'empaquet
Comprtement etrange de VB, bugs cachés ? Aidez moi ! [ par lechti62 ]
Bonjour, je programme en VB6 pro, j'avais entendu deja des bribes comme quoi on avait du mal a faire de gros logiciels en VB, je crois que c'est vrai.
Exécution sur un autre pc [ par Belge ]
J'avai deja poser la question pour éxécuter un programme sur un autre ordinateur, on m'a dit d'utiliser l'assistant d'empaquetage. Ce que j'ai fait, d
Erreur macro excel [ par Scrills ]
J'ai un problème sous Excel. Explication :J'ai réalisé tout un programme en VBA sous excel. Ce programme est censé être utilisé par plusieurs utilisat
Livres en rapport
|
Derniers Blogs
ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|