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.
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.
