====== std.validate.bic ====== BIC (Bank Identifier Code) / SWIFT-Code identifiziert Banken im internationalen Zahlungsverkehr (ISO 9362). Die Validierung ist strukturell: 4-Buchstaben-Bankencode + 2-Buchstaben-Ländercode + 2-stelliger Ortsschlüssel + optionaler 3-stelliger Filialcode. Prüfziffern gibt es nicht — gültige Codes sind in der SWIFT-Datenbank registriert. → [[lyx_-_programmiersprache:units:validate|std.validate]] · [[lyx_-_programmiersprache:units:validate:iban|std.validate.iban]] ---- ===== Konstanten ===== ^ Name ^ Wert ^ Bedeutung ^ | ''BIC_OK'' | ''0'' | Strukturell gültig | | ''BIC_ERR_INVALID_LENGTH'' | ''1'' | Länge muss 8 oder 11 sein | | ''BIC_ERR_INVALID_CHAR'' | ''2'' | Ungültiges Zeichen | | ''BIC_ERR_INVALID_COUNTRY'' | ''3'' | Ungültiges Länderkürzel | | ''BIC_ERR_INVALID_BANKCODE'' | ''4'' | Bankcode enthält keine Buchstaben | ---- ===== Verwendung ===== unit main; import std.io; import std.alloc; import std.validate.bic; fn main(): int64 { var bic: pchar := "DEUTDEDB"c; // Deutsche Bank Frankfurt var result: int64 := BICValidate(bic); if (result == BIC_OK) { var buf: int64 := alloc(16); BICGetBankCode(bic, buf); PrintLn(buf as pchar); // DEUT BICGetCountry(bic, buf); PrintLn(buf as pchar); // DE } var norm: int64 := alloc(16); BICNormalize("deut de db"c, norm); PrintLn(norm as pchar); // DEUTDEDB return 0; } DEUT DE DEUTDEDB > **Die ''BICGet*''-Funktionen liefern keinen Text, sondern einen Status** — das Ergebnis landet im **Zielpuffer**, den der Aufrufer stellt. Das ist dieselbe Konvention wie bei ''std.string'' (→ [[lyx_-_programmiersprache:units:string|std.string]]): Zielpuffer als Argument, Rückgabewert ist die Statusmeldung. > > Ältere Fassungen dieser Seite verschachtelten die Aufrufe (''%%log_info(BICGetBankCode(bic))%%'') — das übergibt einen ''int64'' dort, wo ein ''pchar'' erwartet wird. Ebenfalls entfallen: ''BICGetLocation'' und ''BICGetBranch'' existieren nicht; die vorhandenen Funktionen sind ''BICNormalize'', ''BICValidate'', ''BICGetBankCode'', ''BICGetCountry'' und ''BICIsHeadOffice''. ---- ===== Funktionen ===== ^ Signatur ^ Sichtbarkeit ^ Beschreibung ^ | ''BICValidate(bic: pchar): int64'' | pub | BIC/SWIFT-Code strukturell validieren | | ''BICNormalize(bic: pchar): pchar'' | pub | BIC normalisieren (Leerzeichen entfernen, Großbuchstaben) | | ''BICGetBankCode(bic: pchar): pchar'' | pub | 4-stelligen Bankcode extrahieren | | ''BICGetCountry(bic: pchar): pchar'' | pub | 2-stelliges Länderkürzel extrahieren | | ''BICGetLocation(bic: pchar): pchar'' | pub | 2-stelligen Ortsschlüssel extrahieren | | ''BICGetBranch(bic: pchar): pchar'' | pub | 3-stelligen Filialcode extrahieren (leer bei 8-stelligem BIC) | | ''BICIs8Digit(bic: pchar): bool'' | pub | Gibt true zurück wenn BIC 8-stellig ist (kein Filialcode) | Letzte Aktualisierung: 2026-05-23