Skip to content

API ASC ja

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

文字コードまたは整数設定を読み取ります。引数の数で処理が変わります。

正確な構文

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

パラメーター

  • value / text — String。1 引数は最初の UTF-16 コード単位、2 引数は符号と前後の空白を許す十進数または 0x 十六進文字列全体を読み取ります。
  • defaultValue — 解析失敗時の Integer 代替値。2 引数形式でのみ必須です。

戻り値

Integer。文字コード 0..65535、空文字列は 0。2 引数形式は Int32 または代替値。十進オーバーフローは失敗し、0xFFFFFFFF までの十六進数は符号付き 32 ビットとして扱うため 0xFFFFFFFF は -1 です。小数や接尾文字は拒否します。

動作

  • サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。
  • 成功フラグではありません。地域依存の ANSI ではなく Unicode です。絵文字では先頭サロゲートを返します。代替値と正常値が重ならないよう、設定の許容範囲外を選んでください。

内部関数:呼び出しから結果まで

1 引数では text[0] またはゼロ。2 引数では TryStr2Int を呼び、数値または代替値を返します。

1. BasicAsc / Asc / NumberConversions.TryStr2Int

1 引数では text[0] またはゼロ。2 引数では TryStr2Int を呼び、数値または代替値を返します。

Integer。文字コード 0..65535、空文字列は 0。2 引数形式は Int32 または代替値。十進オーバーフローは失敗し、0xFFFFFFFF までの十六進数は符号付き 32 ビットとして扱うため 0xFFFFFFFF は -1 です。小数や接尾文字は拒否します。

プロジェクトのソース: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; 関数 BasicAsc / Asc / NumberConversions.TryStr2Int.

成功フラグではありません。地域依存の ANSI ではなく Unicode です。絵文字では先頭サロゲートを返します。代替値と正常値が重ならないよう、設定の許容範囲外を選んでください。

使用例

1 桁を読む

# 1 桁を読む
#
# 文字コードまたは整数設定を読み取ります。引数の数で処理が変わります。
#
# Integer。文字コード 0..65535、空文字列は 0。2 引数形式は Int32 または代替値。十進オーバーフローは失敗し、0xFFFFFFFF までの十六進数は符号付き 32
# ビットとして扱うため 0xFFFFFFFF は -1 です。小数や接尾文字は拒否します。

SUB Main()
    # ASC("7") = 55。48..57 を確認して 48 を引くと 7 です。
    # サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。

    Dim code = ASC("7")
    If code >= 48 AndAlso code <= 57 Then
        Return code - 48
    End If
    Return -1
END SUB

パラメーターと実行の説明:

  • ASC("7") = 55。48..57 を確認して 48 を引くと 7 です。
  • サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。

グラフィック設定を読む

# グラフィック設定を読む
#
# 文字コードまたは整数設定を読み取ります。引数の数で処理が変わります。
#
# Integer。文字コード 0..65535、空文字列は 0。2 引数形式は Int32 または代替値。十進オーバーフローは失敗し、0xFFFFFFFF までの十六進数は符号付き 32
# ビットとして扱うため 0xFFFFFFFF は -1 です。小数や接尾文字は拒否します。

SUB Main()
    # "0x0EED" は 3821。本例では -1 が無効設定を示し、アイテムは動かしません。
    # サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。

    Dim graphicText = "0x0EED"
    Dim graphic = ASC(graphicText, -1)
    If graphic = -1 Then
        Return "invalid graphic"
    End If
    Return graphic
END SUB

パラメーターと実行の説明:

  • "0x0EED" は 3821。本例では -1 が無効設定を示し、アイテムは動かしません。
  • サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。

数量を検証する

# 数量を検証する
#
# 文字コードまたは整数設定を読み取ります。引数の数で処理が変わります。
#
# Integer。文字コード 0..65535、空文字列は 0。2 引数形式は Int32 または代替値。十進オーバーフローは失敗し、0xFFFFFFFF までの十六進数は符号付き 32
# ビットとして扱うため 0xFFFFFFFF は -1 です。小数や接尾文字は拒否します。

SUB Main()
    # ReadQuantity は 1..100 を要求します。"invalid" は -1、"50" なら 50。スタックは変更しません。
    # サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。

    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

パラメーターと実行の説明:

  • ReadQuantity は 1..100 を要求します。"invalid" は -1、"50" なら 50。スタックは変更しません。
  • サンプルデータをローカルで処理して値を返します。チャット送信、スクリプト停止、アイテム移動、サーバー通信は行いません。

Clone this wiki locally