Skip to content

API StrComp es

Codex edited this page Oct 3, 2026 · 1 revision

StrComp

API · BASIC

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

ASC · Chr · len · StrComp

ClassicUO • Runtime API

Compara nombres o comandos para igualdad exacta y orden.

Sintaxis exacta

StrComp(left:String, right:String) -> Integer

Parámetros

  • left — String izquierdo.
  • right — String derecho; ambos obligatorios, no hay tercer modo.

Devuelve

Integer -1/0/1: anterior/igual/posterior, orden ordinal UTF-16 sensible a mayúsculas. No es Boolean: igualdad requiere result = 0; If StrComp(...) es verdadero si son distintos.

Comportamiento

  • Procesa datos de ejemplo localmente y devuelve un valor. No envía chat, no detiene scripts, no mueve objetos ni contacta con el servidor.
  • No depende del idioma ni realiza ordenación lingüística. Para ignorar mayúsculas normalice explícitamente con LCase/UCase. No modifica las entradas.

Funciones internas: de la llamada al resultado

String.Compare con Ordinal, después Math.Sign reduce a -1, 0 o 1.

1. BasicStrComp / String.Compare / Math.Sign

String.Compare con Ordinal, después Math.Sign reduce a -1, 0 o 1.

Integer -1/0/1: anterior/igual/posterior, orden ordinal UTF-16 sensible a mayúsculas. No es Boolean: igualdad requiere result = 0; If StrComp(...) es verdadero si son distintos.

Código del proyecto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; función BasicStrComp / String.Compare / Math.Sign.

No depende del idioma ni realiza ordenación lingüística. Para ignorar mayúsculas normalice explícitamente con LCase/UCase. No modifica las entradas.

Ejemplos

Reconocer un comando

# Reconocer un comando
#
# Compara nombres o comandos para igualdad exacta y orden.
#
# Integer -1/0/1: anterior/igual/posterior, orden ordinal UTF-16 sensible a mayúsculas. No es
# Boolean: igualdad requiere result = 0; If StrComp(...) es verdadero si son distintos.

SUB Main()
    # Trim/LCase convierten " STOP " en stop; comparar con 0 devuelve True (1), sin detener scripts.
    # Procesa datos de ejemplo localmente y devuelve un valor. No envía chat, no detiene scripts, no
    # mueve objetos ni contacta con el servidor.

    Dim action = LCase(Trim(" STOP "))
    If StrComp(action, "stop") = 0 Then
        Return True
    End If
    Return False
END SUB

Explicación de los parámetros y la ejecución:

  • Trim/LCase convierten " STOP " en stop; comparar con 0 devuelve True (1), sin detener scripts.
  • Procesa datos de ejemplo localmente y devuelve un valor. No envía chat, no detiene scripts, no mueve objetos ni contacta con el servidor.

Ordenar dos nombres

# Ordenar dos nombres
#
# Compara nombres o comandos para igualdad exacta y orden.
#
# Integer -1/0/1: anterior/igual/posterior, orden ordinal UTF-16 sensible a mayúsculas. No es
# Boolean: igualdad requiere result = 0; If StrComp(...) es verdadero si son distintos.

SUB Main()
    # zinc va después de iron; intercambiar variables devuelve iron|zinc.
    # Procesa datos de ejemplo localmente y devuelve un valor. No envía chat, no detiene scripts, no
    # mueve objetos ni contacta con el servidor.

    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 SUB

Explicación de los parámetros y la ejecución:

  • zinc va después de iron; intercambiar variables devuelve iron|zinc.
  • Procesa datos de ejemplo localmente y devuelve un valor. No envía chat, no detiene scripts, no mueve objetos ni contacta con el servidor.

Buscar un nombre exacto

# Buscar un nombre exacto
#
# Compara nombres o comandos para igualdad exacta y orden.
#
# Integer -1/0/1: anterior/igual/posterior, orden ordinal UTF-16 sensible a mayúsculas. No es
# Boolean: igualdad requiere result = 0; If StrComp(...) es verdadero si son distintos.

SUB Main()
    # ContainsExact recorre la lista separada por |. Ore coincide: True (1); ore no sería igual a
    # Ore.
    # Procesa datos de ejemplo localmente y devuelve un valor. No envía chat, no detiene scripts, no
    # mueve objetos ni contacta con el servidor.

    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 Function

Explicación de los parámetros y la ejecución:

  • ContainsExact recorre la lista separada por |. Ore coincide: True (1); ore no sería igual a Ore.
  • Procesa datos de ejemplo localmente y devuelve un valor. No envía chat, no detiene scripts, no mueve objetos ni contacta con el servidor.

Clone this wiki locally