====== std.validate.ismn ====== ISMN (International Standard Music Number, ISO 10957) identifiziert gedruckte Musiknoten weltweit eindeutig. Das Format folgt dem EAN-13-Profil mit dem festem Präfix ''979-0'' (früher ''M'' bei 10-stelliger ISMN). Die Prüfziffer wird wie bei EAN-13 berechnet. → [[lyx_-_programmiersprache:units:validate|std.validate]] · [[lyx_-_programmiersprache:units:validate:ean|std.validate.ean]] · [[lyx_-_programmiersprache:units:validate:isbn|std.validate.isbn]] ---- ===== Konstanten ===== ^ Name ^ Wert ^ Bedeutung ^ | ''ISMN_OK'' | ''0'' | Gültig | | ''ISMN_ERR_INVALID_LENGTH'' | ''1'' | Falsche Länge | | ''ISMN_ERR_INVALID_CHAR'' | ''2'' | Ungültige Zeichen | | ''ISMN_ERR_INVALID_PREFIX'' | ''3'' | Kein gültiges ISMN-Präfix (979-0) | | ''ISMN_ERR_INVALID_CHECK'' | ''4'' | Falsche Prüfziffer | ---- ===== Verwendung ===== import std.validate.ismn; // Moderne 13-stellige ISMN (EAN-13-Format) var ismn13: pchar := "9790006144002"; if (ISMN13Validate(ismn13) = ISMN_OK) { log_info(ISMNFormat(ismn13)); // "979-0-006144-00-2" } // Alte 10-stellige ISMN (Präfix M) var ismn10: pchar := "M006144001"; if (ISMN10Validate(ismn10) = ISMN_OK) { log_info(ISMN10To13(ismn10)); // "9790006144002" } ---- ===== Funktionen ===== ^ Signatur ^ Sichtbarkeit ^ Beschreibung ^ | ''ISMN13Validate(ismn: pchar): int64'' | pub | 13-stellige ISMN (EAN-13, Präfix 9790) validieren | | ''ISMN10Validate(ismn: pchar): int64'' | pub | 10-stellige ISMN (Präfix M) validieren | | ''ISMN10To13(ismn10: pchar): pchar'' | pub | Alte ISMN-10 in moderne ISMN-13 konvertieren | | ''ISMNNormalize(ismn: pchar): pchar'' | pub | Trennzeichen entfernen | | ''ISMNFormat(ismn: pchar): pchar'' | pub | ISMN mit Bindestrichen formatieren | | ''ISMNCheckDigit(ismn: pchar): int64'' | pub | EAN-13-Prüfziffer für 12-stelligen Stamm berechnen | Letzte Aktualisierung: 2026-05-23