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.046 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (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. |
Neu! sevDTA 3.0 Pro SEPA mit Kontonummernprüfung Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 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. |