Inhaltsverzeichnis

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.

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