-
Notifications
You must be signed in to change notification settings - Fork 0
API StrComp de
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
ClassicUO • Runtime API
Vergleicht Namen oder Befehle auf genaue Gleichheit und feste Reihenfolge.
StrComp(left:String, right:String) -> Integer
-
left— Linker String. -
right— Rechter String; beide erforderlich, kein dritter Vergleichsmodus.
Integer -1/0/1 für davor/gleich/danach, ordinal nach UTF-16 und unter Beachtung der Großschreibung. Kein Boolean: Gleichheit verlangt result = 0; If StrComp(...) ist bei Ungleichheit wahr.
- Lokale Verarbeitung von Beispieldaten mit Rückgabewert. Es werden weder Chatnachrichten gesendet noch Skripte gestoppt, Gegenstände bewegt oder Server angesprochen.
- Sprachunabhängig, keine sprachliche Sortierung. Für Vergleiche ohne Großschreibung ausdrücklich LCase/UCase verwenden. Eingaben bleiben unverändert.
String.Compare mit Ordinal, danach Math.Sign für -1, 0 oder 1.
String.Compare mit Ordinal, danach Math.Sign für -1, 0 oder 1.
Integer -1/0/1 für davor/gleich/danach, ordinal nach UTF-16 und unter Beachtung der Großschreibung. Kein Boolean: Gleichheit verlangt result = 0; If StrComp(...) ist bei Ungleichheit wahr.
Projektquelle: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; Funktion BasicStrComp / String.Compare / Math.Sign.
Sprachunabhängig, keine sprachliche Sortierung. Für Vergleiche ohne Großschreibung ausdrücklich LCase/UCase verwenden. Eingaben bleiben unverändert.
# Befehl erkennen
#
# Vergleicht Namen oder Befehle auf genaue Gleichheit und feste Reihenfolge.
#
# Integer -1/0/1 für davor/gleich/danach, ordinal nach UTF-16 und unter Beachtung der
# Großschreibung. Kein Boolean: Gleichheit verlangt result = 0; If StrComp(...) ist bei
# Ungleichheit wahr.
SUB Main()
# Trim/LCase machen " STOP " zu stop; Vergleich mit 0 liefert True (1), ohne ein Skript zu
# stoppen.
# Lokale Verarbeitung von Beispieldaten mit Rückgabewert. Es werden weder Chatnachrichten
# gesendet noch Skripte gestoppt, Gegenstände bewegt oder Server angesprochen.
Dim action = LCase(Trim(" STOP "))
If StrComp(action, "stop") = 0 Then
Return True
End If
Return False
END SUBErläuterung der Parameter und Ausführung:
- Trim/LCase machen " STOP " zu stop; Vergleich mit 0 liefert True (1), ohne ein Skript zu stoppen.
- Lokale Verarbeitung von Beispieldaten mit Rückgabewert. Es werden weder Chatnachrichten gesendet noch Skripte gestoppt, Gegenstände bewegt oder Server angesprochen.
# Zwei Namen ordnen
#
# Vergleicht Namen oder Befehle auf genaue Gleichheit und feste Reihenfolge.
#
# Integer -1/0/1 für davor/gleich/danach, ordinal nach UTF-16 und unter Beachtung der
# Großschreibung. Kein Boolean: Gleichheit verlangt result = 0; If StrComp(...) ist bei
# Ungleichheit wahr.
SUB Main()
# zinc folgt auf iron; nach dem Tausch lautet das Ergebnis iron|zinc.
# Lokale Verarbeitung von Beispieldaten mit Rückgabewert. Es werden weder Chatnachrichten
# gesendet noch Skripte gestoppt, Gegenstände bewegt oder Server angesprochen.
Dim first = "zinc"
Dim second = "iron"
If StrComp(first, second) > 0 Then
Dim saved = first
first = second
second = saved
End If
Return first & "|" & second
END SUBErläuterung der Parameter und Ausführung:
- zinc folgt auf iron; nach dem Tausch lautet das Ergebnis iron|zinc.
- Lokale Verarbeitung von Beispieldaten mit Rückgabewert. Es werden weder Chatnachrichten gesendet noch Skripte gestoppt, Gegenstände bewegt oder Server angesprochen.
# Erlaubten Namen exakt finden
#
# Vergleicht Namen oder Befehle auf genaue Gleichheit und feste Reihenfolge.
#
# Integer -1/0/1 für davor/gleich/danach, ordinal nach UTF-16 und unter Beachtung der
# Großschreibung. Kein Boolean: Gleichheit verlangt result = 0; If StrComp(...) ist bei
# Ungleichheit wahr.
SUB Main()
# ContainsExact zerlegt die Liste an |. Ore wird exakt gefunden: True (1); ore wäre nicht gleich
# Ore.
# Lokale Verarbeitung von Beispieldaten mit Rückgabewert. Es werden weder Chatnachrichten
# gesendet noch Skripte gestoppt, Gegenstände bewegt oder Server angesprochen.
Return ContainsExact("ore|Ore|wood", "Ore")
END SUB
Function ContainsExact(names, wanted)
For index = 0 To GetWordCount(names, "|") - 1
If StrComp(GetWord(names, index, "|"), wanted) = 0 Then
Return True
End If
Next
Return False
End FunctionErläuterung der Parameter und Ausführung:
- ContainsExact zerlegt die Liste an |. Ore wird exakt gefunden: True (1); ore wäre nicht gleich Ore.
- Lokale Verarbeitung von Beispieldaten mit Rückgabewert. Es werden weder Chatnachrichten gesendet noch Skripte gestoppt, Gegenstände bewegt oder Server angesprochen.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь