
Il ne reste presque plus qu'à écrire cela sur disque en premier lieu... Pour au moins sauver les livres que tu vas y ajouter pendant les tests..
Pour ma part le seul modèle assez complet que j'ai existe sous Access et je te le fait parvenir... Via autre chemin...
Tiens voilà un test au cas ou tu voudrais tester la validité de L'ISBN...
Code : Tout sélectionner
; ***************************************************************************************
; Test de validité d'un N° ISBN .... (Numéro d'identification d'un Livre quelconque....
; Traduction d'un vieux code ..... GeBonet 26-11-2008 **
; -----------------------------------------------------------------------------------------------------------
Procedure ControleISBN(Donnee.s)
; Premier test de validité
Resultat = CountString(Donnee, "-")
If Resultat = 0
Etat = False: ProcedureReturn Etat
EndIf
Chaine.s = RemoveString(Donnee,"-") ; Retire tout les tirets
; On continue
Validation.s = UCase(Right(Donnee, 1))
If Validation = "X" ; Il se peut que le dernier soit un X alors on valide...
Cas = 1
Else
Cas = 0: Valide = Val(Validation)
EndIf
; Début du calcul ..........
Total = 0
For I = 1 To L
PremierChiffre = Val(Mid(Chaine, I, 1))
SecondChiffre = 11 - I
Valeur = PremierChiffre * SecondChiffre
Total = Total + Valeur
Next I
; Test de la validation de l'ISBN entrée
Reste = 11 - (Total1 - Int(Total / 11) * 11)
If Cas = 0 :
If Valide = Rest : Etat = True: ProcedureReturn Etat:EndIf
Else
If Valide = 0 :Etat = True :Else :Etat = False :EndIf
EndIf
ProcedureReturn Etat
EndProcedure
; ================= Début Test ====ICI 4 TEST ================
Rep$="Non OK"
Etat=ControleISBN("2-7429-0698-3")
If Etat=0:Rep$="OK":EndIf
Debug "------------------- Premier "+Rep$
Rep$="Non OK"
Etat=ControleISBN("2-7361-1388-8")
If Etat=0:Rep$="OK":EndIf
Debug "------------------- Second "+Rep$
Rep$="Non OK"
Etat=ControleISBN("2-260-015573-5")
If Etat=0:Rep$="OK":EndIf
Debug "------------------- Troisième "+Rep$
Rep$="Non OK"
Etat=ControleISBN("0-672-30385-X")
If Etat=0:Rep$="OK":EndIf
Debug "------------------- Quatrième "+Rep$