IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

dépassement de capacité


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Par défaut dépassement de capacité
    Salut tt le monde
    j'ai un problème avec l'erreur 6 "dépassement de capacité"
    Voila le code source
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    dim rib as string
    ---
    ---il ya des traitement concernat  le rib
    ---
    rib = Val(rib)
    ribinter = rib * 100
    ribinter = ribinter Mod 97  --- ici l'erreur de dépassement de capacité
    MsgBox ribinter
    Merci de répondre

  2. #2
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Si comme tes variables le sugérent, il s'agit de Rib bancaire, cette petite fonction de controle d'un rib poura peut être t'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Public Function IsRibOk(ByVal rib As String)
      Dim RibOrg As String
      Dim RibFin As String
      Dim strTemp As String
      Dim iPnt As Integer
      Dim iposit As Integer
        rib = Left$(rib & String$(23, " "), 23)
        'table substitution des carateres
        RibOrg = "AJBKSCLTDMUENVFOWGPXHQYIRZ"
        RibFin = "11222333444555666777888999"
        'substitution
        For iPnt = 1 To 26  'lettres de l'alphabet
          iposit = InStr(rib, Mid$(RibOrg$, iPnt, 1))
          If iposit <> 0 Then
            Mid$(rib, iposit, 1) = Mid$(RibFin$, iPnt, 1)
          End If
        Next iPnt
        'division par 97
        strTemp = ""
        For iPnt = 1 To 23  'longeur du rib
            strTemp = Str$(Val(strTemp & Mid$(rib, iPnt, 1)) Mod 97)
        Next iPnt
        If Val(strTemp) <> 0 Then
            IsRibOk = False
        Else
            IsRibOk = True
        End If
    End Function
    c'est une routine que j'ai ecrit il y a bien lontemps, un temps ou on ecrivait des programmes qui devait tenir dans 32 k de mémoire.
    Il y a certainement des possibilités de l'ecrire mieux mais elle fonctionne.
    (la fonction val peut etre remplacée déjà) Le but du jeu etant de faire un modulo 97 sur un nombre de 23 chiffres !
    Je ne connais pas de language ayant une instruction capable de le faire de façon native.

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Par défaut
    merci
    mais je ne pas compris cette fonction

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    pourquoi tu travailles sur une string pour manipuler des chiffres ?

  5. #5
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Parce que les nombres manipulés sont trop grand pour les mettre dans d'autre type de variable. J'emule donc la facon de diviser d'un homo erectus standard, muni d'un papier et d'un crayon ! Et la les nombres pouraient avoir plusieurs millers de chiffres !

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    je parlais du code de Miamiac, il multiplie une string par 100 ...

Discussions similaires

  1. Réponses: 12
    Dernier message: 17/10/2014, 16h08
  2. Transaction, Dépassement de capacité
    Par SkYsO dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 23/12/2008, 14h56
  3. Dépassement de capacité
    Par jean-pierre96 dans le forum Access
    Réponses: 2
    Dernier message: 10/05/2006, 16h04
  4. Réponses: 8
    Dernier message: 06/02/2006, 14h34
  5. détection de dépassement de capacité
    Par tut dans le forum C++
    Réponses: 10
    Dernier message: 01/12/2004, 22h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo