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

 .NET Discussion :

COMMENT Calculé clé CCP


Sujet :

.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 36
    Points : 14
    Points
    14
    Par défaut COMMENT Calculé clé CCP
    bon soir
    J'ai un numéro de compte contient 10 ou 9 ou 8 ou bien 7 numéro et je veux trouver le clé de ce compte
    Par exemple 1012344597
    C'est comme ça de droite à gauche
    on commence avec fois *4 , *5, *6 ……….
    (13*1)+(12*0)+(11*1)+(10*2)+(9*3)+(8*4)+(7*4)+(6*5)+(5*9)+(4*7)
    = 13+0+11+20+27+32+28+30+45+28
    =234
    le clé et 34
    J'ai essai ce code mais ça n'a pas marché
    Dim text As String = TextBox1.Text


    Dim str1 As String = Microsoft.VisualBasic.Right(text, 1)
    Dim str2 As String = Microsoft.VisualBasic.Right(text, 2)
    Dim str3 As String = Microsoft.VisualBasic.Right(text, 3)
    Dim str4 As String = Microsoft.VisualBasic.Right(text, 4)
    Dim str5 As String = Microsoft.VisualBasic.Right(text, 5)
    Dim str6 As String = Microsoft.VisualBasic.Right(text, 6)
    Dim str7 As String = Microsoft.VisualBasic.Right(text, 7)
    Dim str8 As String = Microsoft.VisualBasic.Right(text, 8)

    TextBox2.Text = Val(str1 * 4) + Val(str2 * 5) + Val(str3 * 6) + Val(str4 * 7) + Val(str5 * 8) + Val(str6 * 9) + Val(str7 * 10) + Val(str8 * 11)

    et merci

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mars 2014
    Messages : 219
    Points : 336
    Points
    336
    Par défaut
    Bonjour,

    Citation Envoyé par ahmedfa71 Voir le message
    Par exemple 1012344597
    C'est comme ça de droite à gauche
    on commence avec fois *4 , *5, *6 ……….
    (13*1)+(12*0)+(11*1)+(10*2)+(9*3)+(8*4)+(7*4)+(6*5)+(5*9)+(4*7)
    Je ne comprends pas bien la méthode de calcul, peux-tu être plus clair ?

    ps : le deuxième paramètre de la méthode right est la longueur, es-tu sûr que c'est ce que tu veux obtenir ?
    https://msdn.microsoft.com/fr-fr/library/dxs6hz0a(v=vs.90).aspx
    Tu cherches peut-être à accéder au n ème caractère ?

    Cordialement.
    Si débugger est l'art de corriger les bugs, alors programmer est l'art d'en créer.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    tapez "TextBox2.Text = str3" et vous verrez directement en quoi votre idée ne peut fonctionner.

    En VB6, j'aurais écrit:

    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
        str3 = Left(Right(TextBox1.text, 3), 1)

    Et en tant que programmeur j'aurais écrit une code plus logique, plus claire et plus facile à debugger. Genre:

    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Dim intLettre(9) as Integer
     
        For i = 1 to Len(txtBankAccountNumber.text)
          intLettre(i) = Left(Right(txtBankAccountNumber.text, i), 1) 
        Next   'For i = 1 to Len(txtBankAccountNumber.text)

    Je commente ce petit bout de code:

    -1- en VB j'utilise quai-systématiquement les préfixes normés, "int" pour un entier, "str" pour une chaîne, txt pour un textBox etc. La liste est longue donc je vous demande de le chercher vous-même sur le web
    La conséquence est que vous voyez directement pourquoi le code suivant, n'importe où dans votre programme, va créer un bug

    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
        intVariableQuelconqueIci = strVariableMachinLa

    ou,

    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
       intVariableQuelconqueIci = txtBancAccountNumber



    -2- Le "For ... Next"

    A la fin de mon boucle (donc le 'Next' ou 'Wend', ou 'EndCase'), je rappelle systématiquement le début sous forme de commentaire. Soit, en entier, sois en forme abrégé sir la condition initiale contient un 'Or' ou 'And'. Dans l'exemple en entier, voit ci-dessus. Un exemple en abrégé, voici le suivant :

    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
        Next   'For If ... Or ... Then ... Else ...


    -3- les "noms"

    Je n'utilise jamais les variables genre TextBox1 etc. C'est une horreur et je ne comprends rien quand je débugge un programme de 300 pages. Si par exemple, j'ai une commande avec la caption "Stop", je le nomme d'office pas 'Commande1' mais 'cmdStop'. Et ainsi de suite. La conséquence c'est que quand je débugge, je sais à quel objet ou variable j'ai eu affaire. On reproche souvent que de cette façon, les noms deviennent trop longs. Certes. Mais dès que vous mettez le programme dans en exécution, le compilateur remplace le nom long de 18 caractères par un nom court de 2 octets ou qq chose de la sorte. Votre programme devient donc plus lisible, plus facile à débugger tout en ne perdant rien en efficacité.

    Ce sont seulement et UNIQUEMENT ces trucs, et autres, qui me permettent d'écrire, ET DE DEBUGGER des programmes de centaines de pages de longueur.

    Pour poursuivre cette conversation, mon contact est oomenwong at free.fr.

    Cordialement, W

Discussions similaires

  1. Comment calculer la taille d'une base de données ?
    Par say dans le forum Décisions SGBD
    Réponses: 8
    Dernier message: 01/04/2011, 16h48
  2. comment calcule t-on une médiane ?
    Par rossy dans le forum Access
    Réponses: 3
    Dernier message: 25/04/2007, 10h21
  3. [Matrices] Comment calculer le Déterminant d'une matrice 4x4
    Par cyber_N dans le forum Algorithmes et structures de données
    Réponses: 70
    Dernier message: 19/08/2005, 15h47
  4. comment calculer le temps d'execution
    Par passion_info dans le forum C++Builder
    Réponses: 1
    Dernier message: 09/06/2005, 09h13
  5. Réponses: 2
    Dernier message: 05/01/2005, 14h36

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