Skip to content

API ASC es

Codex edited this page Oct 3, 2026 · 1 revision

ASC

API · BASIC

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

ASC · Chr · len · StrComp

ClassicUO • Runtime API

Lee un código de carácter o una configuración entera; la cantidad de argumentos decide la operación.

Sintaxis exacta

ASC(text:String, defaultValue:Integer) -> Integer
ASC(value:String) -> Integer

Parámetros

  • value / text — String: un argumento lee la primera unidad UTF-16; dos analizan todo el texto decimal o hexadecimal 0x, con signo y espacios externos.
  • defaultValue — Integer alternativo si falla el análisis, obligatorio solo con dos argumentos.

Devuelve

Integer: código 0..65535 o 0 para texto vacío; con dos argumentos, Int32 o alternativa. El desbordamiento decimal falla; hex hasta 0xFFFFFFFF se interpreta como 32 bits con signo: 0xFFFFFFFF devuelve -1. No admite fracciones ni sufijos.

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 es una bandera de éxito. Lee Unicode, no ANSI local; un emoji devuelve el primer sustituto. La alternativa puede coincidir con un valor válido: elíjala fuera del intervalo permitido.

Funciones internas: de la llamada al resultado

Un argumento lee text[0] o cero; dos llaman a TryStr2Int y devuelven el número o la alternativa.

1. BasicAsc / Asc / NumberConversions.TryStr2Int

Un argumento lee text[0] o cero; dos llaman a TryStr2Int y devuelven el número o la alternativa.

Integer: código 0..65535 o 0 para texto vacío; con dos argumentos, Int32 o alternativa. El desbordamiento decimal falla; hex hasta 0xFFFFFFFF se interpreta como 32 bits con signo: 0xFFFFFFFF devuelve -1. No admite fracciones ni sufijos.

Código del proyecto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; función BasicAsc / Asc / NumberConversions.TryStr2Int.

No es una bandera de éxito. Lee Unicode, no ANSI local; un emoji devuelve el primer sustituto. La alternativa puede coincidir con un valor válido: elíjala fuera del intervalo permitido.

Ejemplos

Leer un dígito

# Leer un dígito
#
# Lee un código de carácter o una configuración entera; la cantidad de argumentos decide la
# operación.
#
# Integer: código 0..65535 o 0 para texto vacío; con dos argumentos, Int32 o alternativa. El
# desbordamiento decimal falla; hex hasta 0xFFFFFFFF se interpreta como 32 bits con signo:
# 0xFFFFFFFF devuelve -1. No admite fracciones ni sufijos.

SUB Main()
    # ASC("7") = 55. Tras comprobar 48..57, restar 48 devuelve 7.
    # 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 code = ASC("7")
    If code >= 48 AndAlso code <= 57 Then
        Return code - 48
    End If
    Return -1
END SUB

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

  • ASC("7") = 55. Tras comprobar 48..57, restar 48 devuelve 7.
  • Procesa datos de ejemplo localmente y devuelve un valor. No envía chat, no detiene scripts, no mueve objetos ni contacta con el servidor.

Leer un gráfico configurado

# Leer un gráfico configurado
#
# Lee un código de carácter o una configuración entera; la cantidad de argumentos decide la
# operación.
#
# Integer: código 0..65535 o 0 para texto vacío; con dos argumentos, Int32 o alternativa. El
# desbordamiento decimal falla; hex hasta 0xFFFFFFFF se interpreta como 32 bits con signo:
# 0xFFFFFFFF devuelve -1. No admite fracciones ni sufijos.

SUB Main()
    # "0x0EED" da 3821; -1 indica aquí un ajuste inválido. No mueve objetos.
    # 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 graphicText = "0x0EED"
    Dim graphic = ASC(graphicText, -1)
    If graphic = -1 Then
        Return "invalid graphic"
    End If
    Return graphic
END SUB

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

  • "0x0EED" da 3821; -1 indica aquí un ajuste inválido. No mueve objetos.
  • Procesa datos de ejemplo localmente y devuelve un valor. No envía chat, no detiene scripts, no mueve objetos ni contacta con el servidor.

Validar una cantidad

# Validar una cantidad
#
# Lee un código de carácter o una configuración entera; la cantidad de argumentos decide la
# operación.
#
# Integer: código 0..65535 o 0 para texto vacío; con dos argumentos, Int32 o alternativa. El
# desbordamiento decimal falla; hex hasta 0xFFFFFFFF se interpreta como 32 bits con signo:
# 0xFFFFFFFF devuelve -1. No admite fracciones ni sufijos.

SUB Main()
    # ReadQuantity exige 1..100: "invalid" devuelve -1; "50" devolvería 50. No modifica ninguna
    # pila.
    # 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 ReadQuantity("invalid", 1, 100)
END SUB

Function ReadQuantity(text, minimum, maximum)
    Dim quantity = ASC(text, -1)
    If quantity < minimum OrElse quantity > maximum Then
        Return -1
    End If
    Return quantity
End Function

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

  • ReadQuantity exige 1..100: "invalid" devuelve -1; "50" devolvería 50. No modifica ninguna pila.
  • 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