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.024 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. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. sevOutBar 4.0 Vertikale Menüleisten á la Outlook Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. |
||||||||||||||||
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. |