std.validate.ewc

EWC/AVV-Abfallschlüssel (European Waste Catalogue / Abfallverzeichnis-Verordnung) — sechsstelliger Code zur Klassifikation von Abfallarten gemäß EU-Abfallkatalog (Entscheidung 2000/532/EG). Die Validierung ist strukturell: Kapitel (2 Stellen) + Unterkapitel (2 Stellen) + Abfallart (2 Stellen) müssen im gültigen Katalog existieren. Gefährliche Abfälle werden durch ein Sternchen (*) gekennzeichnet.

std.validate


Konstanten

Name Wert Bedeutung
EWC_OK 0 Gültig
EWC_ERR_INVALID_FORMAT 1 Format entspricht nicht XX XX XX
EWC_ERR_INVALID_CHAR 2 Ungültige Zeichen
EWC_ERR_UNKNOWN_CHAPTER 3 Unbekanntes Kapitel
EWC_ERR_UNKNOWN_CODE 4 Unbekannter Abfallschlüssel

Verwendung

import std.io;
import std.alloc;
import std.validate.ewc;

fn main(): int64 {
    var buf: int64 := alloc(16);

    // Diese Unit nimmt pchar direkt — kein Cast noetig
    Print("rc="); PrintLn(IntToStr(EWCValidate("13 01 10*")));       // 0 = EWC_OK
    Print("gefaehrlich: "); PrintLn(IntToStr(EWCIsHazardous("13 01 10*")));

    // Normalisieren entfernt die Leerzeichen, das Sternchen bleibt
    EWCNormalize("13 01 10*", buf);
    Print("normalisiert: "); Print(buf as pchar); Print("\n");
    return 0;
}

rc=0
gefaehrlich: 1
normalisiert: 130110*

Die Funktionen dieser Unit geben keine Zeichenketten zurück: Das Ergebnis landet in einem selbst übergebenen Puffer (out_buf), der Rückgabewert ist ein Fehlercode (0 = in Ordnung).


Funktionen

Signatur Sichtbarkeit Beschreibung
EWCValidate(code: pchar): int64 pub Abfallschlüssel prüfen; EWC_OK oder Fehlercode
EWCNormalize(code: pchar, out_buf: int64): int64 pub Leerzeichen entfernen, Ergebnis nach out_buf
EWCIsHazardous(code: pchar): int64 pub 1, wenn der Schlüssel mit * als gefährlich markiert ist

Nicht vorhanden: EWCGetDescription, EWCGetChapter und EWCIsDangerous — die Prüfung auf gefährlichen Abfall heißt EWCIsHazardous.

Letzte Aktualisierung: 2026-08-19 — Seite gegen die echten Signaturen berichtigt; Beispiel mit lyxc 1.1.3I übersetzt und ausgeführt.