Vor kurzem haben wir Ihnen einen .NET Funktion vorgestellt, die zeigt, wie man sowohl 10-stellige, als auch 13-stellige ISBN-Nummern auf Gültigkeit prüfen kann. Auf Anfragen hin haben wir diese Funktion nach VB6 konvertiert, so dass auch noch alle VB6'ler von dieser Funktion profiteren können. ' 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 If Len(sISBN) = 13 Then ' ISBN-13 Dim Summe1 As Long Dim Summe2 As Long ' Summe der Ziffern 1,3,5,7,9,11 bilden ' Summe der Ziffern 2,4,6,8,10,12 bilden For i = 0 To Len(sISBN) - 2 If i Mod 2 = 0 Then Summe1 = Summe1 + Val(Mid$(sISBN, i + 1, 1)) Else Summe2 = Summe2 + Val(Mid$(sISBN, i + 1, 1)) End If Next ' Letzte Stelle der Aufsummerung von 10 abziehen ' Als Ergebnis erhalten wir die korrekt berechnete Prüfziffer If CInt((10 - ((Summe1 + 3 * Summe2) Mod 10)) Mod 10) = Pruefziffer Then bResult = True End If Else ' ISBN-10 ' 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 End If CheckISBN = bResult End Function Dieser Tipp wurde bereits 8.581 mal aufgerufen.
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
TOP! Unser Nr. 1 ![]() Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Tipp des Monats Heinz Prelle Datei-Mehrfachauswahl an eine ListBox übergeben Dieser Tipp zeigt, wie Sie über den Windows-CommonDialog eine Mehrfach-Dateiauswal realisieren... Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
|
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |
|||||||||||||||||


ISBN-Nummer auf Gültigkeit prüfen II


