Skip to content

API StrComp it

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

Confronta nomi o comandi per uguaglianza esatta e ordine.

Sintassi esatta

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

Parametri

  • left — String a sinistra.
  • right — String a destra; entrambi obbligatori, nessuna terza modalità.

Restituisce

Integer -1/0/1: prima/uguale/dopo, ordine UTF-16 ordinale con distinzione di maiuscole. Non Boolean: uguaglianza richiede result = 0; If StrComp(...) è vero per testi diversi.

Comportamento

  • Elaborazione locale di dati di esempio con valore restituito. Non invia chat, non ferma script, non sposta oggetti e non contatta il server.
  • Indipendente dalla lingua, senza ordinamento linguistico. Per ignorare le maiuscole usare esplicitamente LCase/UCase. Non modifica gli argomenti.

Funzioni interne: dalla chiamata al risultato

String.Compare con Ordinal, poi Math.Sign riduce a -1, 0 o 1.

1. BasicStrComp / String.Compare / Math.Sign

String.Compare con Ordinal, poi Math.Sign riduce a -1, 0 o 1.

Integer -1/0/1: prima/uguale/dopo, ordine UTF-16 ordinale con distinzione di maiuscole. Non Boolean: uguaglianza richiede result = 0; If StrComp(...) è vero per testi diversi.

Sorgente del progetto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; funzione BasicStrComp / String.Compare / Math.Sign.

Indipendente dalla lingua, senza ordinamento linguistico. Per ignorare le maiuscole usare esplicitamente LCase/UCase. Non modifica gli argomenti.

Esempi

Riconoscere un comando

# Riconoscere un comando
#
# Confronta nomi o comandi per uguaglianza esatta e ordine.
#
# Integer -1/0/1: prima/uguale/dopo, ordine UTF-16 ordinale con distinzione di maiuscole. Non
# Boolean: uguaglianza richiede result = 0; If StrComp(...) è vero per testi diversi.

SUB Main()
    # Trim/LCase convertono " STOP " in stop; confronto con 0 restituisce True (1), senza fermare
    # script.
    # Elaborazione locale di dati di esempio con valore restituito. Non invia chat, non ferma
    # script, non sposta oggetti e non contatta il server.

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

Spiegazione dei parametri e dell’esecuzione:

  • Trim/LCase convertono " STOP " in stop; confronto con 0 restituisce True (1), senza fermare script.
  • Elaborazione locale di dati di esempio con valore restituito. Non invia chat, non ferma script, non sposta oggetti e non contatta il server.

Ordinare due nomi

# Ordinare due nomi
#
# Confronta nomi o comandi per uguaglianza esatta e ordine.
#
# Integer -1/0/1: prima/uguale/dopo, ordine UTF-16 ordinale con distinzione di maiuscole. Non
# Boolean: uguaglianza richiede result = 0; If StrComp(...) è vero per testi diversi.

SUB Main()
    # zinc viene dopo iron; lo scambio produce iron|zinc.
    # Elaborazione locale di dati di esempio con valore restituito. Non invia chat, non ferma
    # script, non sposta oggetti e non contatta il server.

    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

Spiegazione dei parametri e dell’esecuzione:

  • zinc viene dopo iron; lo scambio produce iron|zinc.
  • Elaborazione locale di dati di esempio con valore restituito. Non invia chat, non ferma script, non sposta oggetti e non contatta il server.

Trovare un nome esatto

# Trovare un nome esatto
#
# Confronta nomi o comandi per uguaglianza esatta e ordine.
#
# Integer -1/0/1: prima/uguale/dopo, ordine UTF-16 ordinale con distinzione di maiuscole. Non
# Boolean: uguaglianza richiede result = 0; If StrComp(...) è vero per testi diversi.

SUB Main()
    # ContainsExact scorre la lista separata da |. Ore corrisponde: True (1); ore non sarebbe uguale
    # a Ore.
    # Elaborazione locale di dati di esempio con valore restituito. Non invia chat, non ferma
    # script, non sposta oggetti e non contatta il server.

    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

Spiegazione dei parametri e dell’esecuzione:

  • ContainsExact scorre la lista separata da |. Ore corrisponde: True (1); ore non sarebbe uguale a Ore.
  • Elaborazione locale di dati di esempio con valore restituito. Non invia chat, non ferma script, non sposta oggetti e non contatta il server.

Clone this wiki locally