Skip to content

API Chr de

Codex edited this page Oct 3, 2026 · 1 revision

Chr

API · BASIC

Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

ASC · Chr · len · StrComp

ClassicUO • Runtime API

Erzeugt ein Unicode- oder Steuerzeichen zum Zusammensetzen von Text.

Genaue Syntax

Chr(value:Integer) -> String

Parameter

  • value — Integer-Code, begrenzt auf 0..0x10FFFF. Surrogate 0xD800..0xDFFF verursachen einen abfangbaren Fehler.

Rückgabewert

String mit einer oder zwei UTF-16-Einheiten. Chr(0) ist NUL, kein leerer Text. Ein Emoji benötigt zwei Einheiten; ASC stellt seinen vollständigen Code nicht wieder her.

Verhalten

  • Lokale Verarbeitung von Beispieldaten mit Rückgabewert. Es werden weder Chatnachrichten gesendet noch Skripte gestoppt, Gegenstände bewegt oder Server angesprochen.
  • Integer erforderlich, kein direkter Decimal-Wert. Tabulator und Zeilenumbruch sind Textzeichen, keine Tastendrücke; die Darstellung hängt vom Ausgabefenster ab.

Interne Funktionen: vom Aufruf zum Ergebnis

BasicChr begrenzt den Code und ruft ConvertFromUtf32 auf; gültige Codes über 0xFFFF erzeugen ein Surrogatpaar.

1. BasicChr / Char.ConvertFromUtf32

BasicChr begrenzt den Code und ruft ConvertFromUtf32 auf; gültige Codes über 0xFFFF erzeugen ein Surrogatpaar.

String mit einer oder zwei UTF-16-Einheiten. Chr(0) ist NUL, kein leerer Text. Ein Emoji benötigt zwei Einheiten; ASC stellt seinen vollständigen Code nicht wieder her.

Projektquelle: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; Funktion BasicChr / Char.ConvertFromUtf32.

Integer erforderlich, kein direkter Decimal-Wert. Tabulator und Zeilenumbruch sind Textzeichen, keine Tastendrücke; die Darstellung hängt vom Ausgabefenster ab.

Beispiele

Datensatz mit Tabulator

# Datensatz mit Tabulator
#
# Erzeugt ein Unicode- oder Steuerzeichen zum Zusammensetzen von Text.
#
# String mit einer oder zwei UTF-16-Einheiten. Chr(0) ist NUL, kein leerer Text. Ein Emoji
# benötigt zwei Einheiten; ASC stellt seinen vollständigen Code nicht wieder her.

SUB Main()
    # Chr(9) trennt ore und 50: ore<TAB>50 zur späteren Verwendung.
    # Lokale Verarbeitung von Beispieldaten mit Rückgabewert. Es werden weder Chatnachrichten
    # gesendet noch Skripte gestoppt, Gegenstände bewegt oder Server angesprochen.

    Dim resource = "ore"
    Dim amount = 50
    Return resource & Chr(9) & CStr(amount)
END SUB

Erläuterung der Parameter und Ausführung:

  • Chr(9) trennt ore und 50: ore50 zur späteren Verwendung.
  • Lokale Verarbeitung von Beispieldaten mit Rückgabewert. Es werden weder Chatnachrichten gesendet noch Skripte gestoppt, Gegenstände bewegt oder Server angesprochen.

Zwei Zeilen vorbereiten

# Zwei Zeilen vorbereiten
#
# Erzeugt ein Unicode- oder Steuerzeichen zum Zusammensetzen von Text.
#
# String mit einer oder zwei UTF-16-Einheiten. Chr(0) ist NUL, kein leerer Text. Ein Emoji
# benötigt zwei Einheiten; ASC stellt seinen vollständigen Code nicht wieder her.

SUB Main()
    # Chr(13) und Chr(10) erzeugen CRLF zwischen First und Second, ohne etwas zu senden.
    # Lokale Verarbeitung von Beispieldaten mit Rückgabewert. Es werden weder Chatnachrichten
    # gesendet noch Skripte gestoppt, Gegenstände bewegt oder Server angesprochen.

    Dim summary = "First" & Chr(13) & Chr(10) & "Second"
    Return summary
END SUB

Erläuterung der Parameter und Ausführung:

  • Chr(13) und Chr(10) erzeugen CRLF zwischen First und Second, ohne etwas zu senden.
  • Lokale Verarbeitung von Beispieldaten mit Rückgabewert. Es werden weder Chatnachrichten gesendet noch Skripte gestoppt, Gegenstände bewegt oder Server angesprochen.

Ungültigen Code abfangen

# Ungültigen Code abfangen
#
# Erzeugt ein Unicode- oder Steuerzeichen zum Zusammensetzen von Text.
#
# String mit einer oder zwei UTF-16-Einheiten. Chr(0) ist NUL, kein leerer Text. Ein Emoji
# benötigt zwei Einheiten; ASC stellt seinen vollständigen Code nicht wieder her.

SUB Main()
    # SafeCharacter liefert bei Codefehlern leeren Text. Für 0x1F600 liefert Len 2, obwohl es ein
    # Unicode-Skalar ist.
    # Lokale Verarbeitung von Beispieldaten mit Rückgabewert. Es werden weder Chatnachrichten
    # gesendet noch Skripte gestoppt, Gegenstände bewegt oder Server angesprochen.

    Dim symbol = SafeCharacter(0x1F600)
    Return Len(symbol)
END SUB

Function SafeCharacter(code)
    Try
        Return Chr(code)
    Catch problem
        Return ""
    End Try
End Function

Erläuterung der Parameter und Ausführung:

  • SafeCharacter liefert bei Codefehlern leeren Text. Für 0x1F600 liefert Len 2, obwohl es ein Unicode-Skalar ist.
  • Lokale Verarbeitung von Beispieldaten mit Rückgabewert. Es werden weder Chatnachrichten gesendet noch Skripte gestoppt, Gegenstände bewegt oder Server angesprochen.

Clone this wiki locally