Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

isISBN funktion

Empfohlene Antworten

Veröffentlicht

hi, kennt jemand oder hat jemand eine funktion in vb/vba zur überprüfung ob eine eigegebene isbn nummer richtig ist?

habe hier mal einige informationen zusammengeschrieben.

is natürlich nicht das problem die funktion zu schreiben, aber das kostet einiges an zeit. und warum das rad nochmal erfinden?

wäre toll wenn jemand was weiss.

hier die infos:

(bitte nicht selbst schreiben. möchte nur die info ob und wo es so eine funktion schon gibt. die funktion sollte nur diese u.g. dinge alle miteinbeziehen.)

--------------------------------------------------------------------------------------------------------

Die ISBN hat folgendes Format, nicht alles müßte gestestet werdena-b-c-da = Länderkennzahl, ist einstelligb = Verlagskennzahl, ist 3-5 stelligc = Buchkennzahl, ist 3-5 stellig, wobei gilt: b+c = 8 (große Verlage mit großem Programm bekommen eine kleine Verlagsnummer, damit mehr Bücher möglich sind, wenn trotzdem voll, bekommen diese Verlage eine weitere Verlagsnummerd = Prüfziffer (0...9,X) wobei ich die Regel nicht kenne, nach der sie gebildet wird (Prommi kennt sie). Ich habe da was bei Google-Groups gefunden:Eine ISBN-Nummer kann auf ihre Gueltigkeit durch einen einfachen Algo- rithmus ueberprueft werden, der alle Ziffern einschliesst. ISBN 3 8 8 0 5 3 0 0 2 5

Multiplikator 10 9 8 7 6 5 4 3 2 1

---------------------------------------------

Ergebnis 30+72+64+ 0+30+15+ 0+ 0+ 4+ 5 = 220

Wenn das Ergebnis ohne Rest durch 11 dividiert werden kann, ist die ISBN-Nummer gueltig. Dem Zeichen "X" in der ISBN wird der Wert 10 zugeordnet.

Habe nichts darüber gefunden. Ist aber doch ein einfacher Algorithmus. Warum in den fernen des Internets nach nem Schnipsel Code suchen, wenn man das selbst leicht hin bekommt? Das sind ne Handvoll Zeilen Code. ...und ich weiss, dass er keine Bugs hat ;):D

hast ja recht. dachte halt dass jemand schnell ne seite parat hat...

hab im moment das problem dass zu grosse zahlen z.b. 6234567890 Modulo 11 einen überlauf verursachen..

Original geschrieben von forTeesSake

... hab im moment das problem dass zu grosse zahlen z.b. 6234567890 Modulo 11 einen überlauf verursachen..

Original geschrieben von forTeesSake

Ich habe da was bei Google-Groups gefunden:Eine ISBN-Nummer kann auf ihre Gueltigkeit durch einen einfachen Algo- rithmus ueberprueft werden, der alle Ziffern einschliesst. ISBN 3 8 8 0 5 3 0 0 2 5

Multiplikator 10 9 8 7 6 5 4 3 2 1

---------------------------------------------

Ergebnis 30+72+64+ 0+30+15+ 0+ 0+ 4+ 5 = 220

Wenn das Ergebnis ohne Rest durch 11 dividiert werden kann, ist die ISBN-Nummer gueltig. Dem Zeichen "X" in der ISBN wird der Wert 10 zugeordnet.

Mit der Methode aus Deinem ersten Post ist es nicht möglich eine 10stellige Zahl zu bekommen. Ich denke Du musst die Quersumme mod 11 nehmen.

die funktion habe ich nun endlich selbst geschrieben. wen es interessiert, hier sind die formeln. morgen werde ich dann noch meinen code in vb(a) posten. hab ich leider heute nich mehr geschafft.

isbn gültigkeit

danke an alle

wie verspochen die funktion:

Public Function isISBN(tmpISBN)

Dim i, tmpISBNNum

Dim retVal: retVal = False

Dim arAllNumbers(10), addedNumbers

tmpISBN = Replace(tmpISBN, "-", "")

tmpISBN = StrConv(tmpISBN, vbLowerCase)

tmpISBNNum = Replace(tmpISBN, "x", "10")

If IsNumeric(tmpISBNNum) Then

If Len(tmpISBN) = 10 Then

For i = 0 To Len(tmpISBN) - 1

arAllNumbers(i) = Replace(Mid(tmpISBN, i + 1, 1), "x", "10")

Next

For i = 0 To UBound(arAllNumbers) - 2

addedNumbers = addedNumbers + CInt(arAllNumbers(i)) * (i + 1)

Next

If CInt(addedNumbers) Mod 11 = arAllNumbers(UBound(arAllNumbers) - 1) Then

retVal = True

Else

If MsgBox("Die ISBN ist ungültig. Trotzdem übernehmen?", vbYesNo) = 6 Then retVal = True

End If

Else

If MsgBox("Die ISBN ist ungültig. Trotzdem übernehmen?", vbYesNo) = 6 Then retVal = True

End If

Else

If MsgBox("Die ISBN ist ungültig. Trotzdem übernehmen?", vbYesNo) = 6 Then retVal = True

End If

isISBN = retVal

End Function

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.