Rubrik: Variablen/Strings · Algorithmen/Mathematik | VB-Versionen: VB6 | 18.10.07 |
ISBN-Nummer auf Gültigkeit prüfen Mit dieser Funktion lässt sich eine beliebige ISBN-Nummer auf Gültigkeit prüfen. | ||
Autor: Dieter Otter | Bewertung: | Views: 9.801 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Benötigen Sie eine Funktion, die die Gültigkeit einer eingegebenen ISBN-Nummer prüft? Dann ist nachfolgende Funktion genau richtig für Sie
' ISBN-Nummer auf Gültigkeit prüfen Public Function CheckISBN(ByVal sISBN As String) As Boolean Dim nSumme As Long Dim i As Long Dim bResult As Boolean Dim Pruefziffer As Integer ' Bindestriche und Leerzeichen entfernen sISBN = Replace(sISBN, "-", "") sISBN = Replace(sISBN, " ", "") If Len(sISBN) > 1 Then ' letzte Ziffer = Prüfziffer ' Sonderfall X = 10 If UCase$(Right$(sISBN, 1)) = "X" Then Pruefziffer = 10 Else Pruefziffer = Val(Right$(sISBN, 1)) End If ' Summe bilden (alle Ziffern bis auf die letzte Stelle) For i = 1 To Len(sISBN) - 1 nSumme = nSumme + (Val(Mid$(sISBN, i, 1)) * i) Next i ' Errechnte Summe MOD 11 muss gleich der ' Prüfziffer sein If nSumme Mod 11 = Pruefziffer Then bResult = True End If End If CheckISBN = bResult End Function
Hinweis zur Gültigkeitsprüfung:
Die Prüfziffer einer ISBN-Nummer befindet sich immer an letzter Stelle. Zur Berechnung dieser Prüfziffer ist wie folgt vorzugehen:
- Multiplikation der einzelnen Ziffern von links nach rechts mit der jeweiligen Position der Ziffer (bis auf die letzte Stelle)
- Aufsummierung der Ergebnisse
- Die Gesamtsumme ist nun durch 11 zu dividieren.
- Der verbleibende Rest muss gleich der Prüfziffer sein
- Sonderfall: Ist die Prüfziffer = 10, so wird diese in der ISBN-Nummer als X dargestellt