====== std.validate.cas ====== CAS-Nummer (Chemical Abstracts Service Registry Number) identifiziert chemische Verbindungen weltweit eindeutig. Format: bis zu 10 Ziffern in drei Gruppen (2–7 + 2 + 1, z.B. ''7732-18-5'' für Wasser). Die Prüfziffer wird über ein rechtsseitig gewichtetes Mod-10-Verfahren berechnet. → [[lyx_-_programmiersprache:units:validate|std.validate]] ---- ===== Konstanten ===== ^ Name ^ Wert ^ Bedeutung ^ | ''CAS_OK'' | ''0'' | Gültig | | ''CAS_ERR_INVALID_FORMAT'' | ''1'' | Format entspricht nicht XX-YY-Z | | ''CAS_ERR_INVALID_CHAR'' | ''2'' | Ungültige Zeichen | | ''CAS_ERR_INVALID_CHECK'' | ''3'' | Falsche Prüfziffer | ---- ===== Verwendung ===== import std.validate.cas; // Mit oder ohne Bindestriche var cas: pchar := "7732-18-5"; // Wasser var result: int64 := CASValidate(cas); if (result = CAS_OK) { log_info(CASFormat(CASNormalize(cas))); // "7732-18-5" } // Bekannte Verbindungen var ethanol: pchar := "64-17-5"; var aspirin: pchar := "50-78-2"; if (CASValidate(ethanol) = CAS_OK) { log_info("Ethanol-CAS gültig"); } // Prüfziffer berechnen var check: int64 := CASCheckDigit("7732-18"); // gibt 5 zurück ---- ===== Funktionen ===== ^ Signatur ^ Sichtbarkeit ^ Beschreibung ^ | ''CASValidate(cas: pchar): int64'' | pub | CAS-Nummer validieren (mit oder ohne Bindestriche) | | ''CASNormalize(cas: pchar): pchar'' | pub | Bindestriche entfernen | | ''CASFormat(cas: pchar): pchar'' | pub | CAS-Nummer mit Bindestrichen formatieren | | ''CASCheckDigit(cas: pchar): int64'' | pub | Prüfziffer für CAS-Stamm berechnen | Letzte Aktualisierung: 2026-05-23