====== std.validate.isbn ====== ISBN (International Standard Book Number) identifiziert Bücher weltweit eindeutig. Bis 2007 wurden 10-stellige ISBN-10-Codes verwendet, seitdem der 13-stellige EAN-basierte ISBN-13-Standard. Die Unit validiert beide Formate, prüft Prüfziffern und ermöglicht die gegenseitige Konvertierung (ISBN-10 ↔ ISBN-13). Zusätzlich wird ISSN für Zeitschriften und Serien unterstützt. → [[lyx_-_programmiersprache:units:validate|std.validate]] · [[lyx_-_programmiersprache:units:validate:ean|std.validate.ean]] ---- ===== Imports ===== * ''std.validate.ean'' ---- ===== Konstanten ===== ^ Name ^ Wert ^ Bedeutung ^ | ''ISBN_OK'' | ''0'' | Gültig | | ''ISBN_ERR_INVALID_LENGTH'' | ''1'' | Falsche Länge | | ''ISBN_ERR_INVALID_CHAR'' | ''2'' | Ungültiges Zeichen | | ''ISBN_ERR_INVALID_CHECK'' | ''3'' | Falsche Prüfziffer | | ''ISBN_ERR_INVALID_PREFIX'' | ''4'' | Kein gültiges ISBN-13-Präfix (978/979) | | ''ISBN_ERR_CANNOT_CONVERT'' | ''5'' | Konvertierung nicht möglich | ---- ===== Verwendung ===== import std.validate.isbn; // ISBN-13 validieren var isbn13: pchar := "9783866801929"; var r: int64 := ISBN13ValidateFull(isbn13); if (r = ISBN_OK) { log_info(ISBN13Format(isbn13)); // "978-3-86680-192-9" } // ISBN-10 validieren und nach ISBN-13 konvertieren var isbn10: pchar := "3866801920"; if (ISBN10ValidateFull(isbn10) = ISBN_OK) { var as13: pchar := ISBN10To13(isbn10); // "9783866801929" log_info(ISBN13Format(as13)); } // ISSN validieren var issn: pchar := "1234-5679"; if (ISSNValidate(issn) = ISBN_OK) { log_info(ISSNFormat(ISSNNormalize(issn))); // "1234-5679" } // Typ erkennen var t: int64 := ISBNDetectType("3866801920"); // 10 ---- ===== Funktionen ===== ^ Signatur ^ Sichtbarkeit ^ Beschreibung ^ | ''ISBN13ValidateFull(isbn: pchar): int64'' | pub | ISBN-13 vollständig validieren (Länge, Zeichen, Prüfziffer) | | ''ISBN10ValidateFull(isbn: pchar): int64'' | pub | ISBN-10 vollständig validieren | | ''ISBNDetectType(isbn: pchar): int64'' | pub | ISBN-Typ erkennen; gibt 10 oder 13 zurück | | ''ISBNNormalize(isbn: pchar): pchar'' | pub | Trennzeichen (Bindestriche, Leerzeichen) aus ISBN entfernen | | ''ISBN13CheckDigit(isbn: pchar): int64'' | pub | Prüfziffer für 12-stelligen ISBN-13-Stamm berechnen | | ''ISBN10CheckDigitFull(isbn: pchar): int64'' | pub | Prüfziffer für 9-stelligen ISBN-10-Stamm berechnen | | ''ISBN10To13(isbn10: pchar): pchar'' | pub | ISBN-10 in ISBN-13 konvertieren | | ''ISBN13To10(isbn13: pchar): pchar'' | pub | ISBN-13 in ISBN-10 konvertieren (nur Präfix 978) | | ''ISBN13Format(isbn: pchar): pchar'' | pub | ISBN-13 mit Bindestrichen formatieren (z.B. "978-3-86680-192-9") | | ''ISBN10Format(isbn: pchar): pchar'' | pub | ISBN-10 mit Bindestrichen formatieren | | ''ISSNValidate(issn: pchar): int64'' | pub | ISSN-Zeitschriftennummer validieren | | ''ISSNNormalize(issn: pchar): pchar'' | pub | Trennzeichen aus ISSN entfernen | | ''ISSNCheckDigit(issn: pchar): int64'' | pub | Prüfziffer für 7-stelligen ISSN-Stamm berechnen | | ''ISSNFormat(issn: pchar): pchar'' | pub | ISSN mit Bindestrich formatieren (z.B. "1234-5679") | Letzte Aktualisierung: 2026-05-22