Skip to content

API ASC fr

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

Lit un code de caractère ou une valeur entière ; le nombre d’arguments choisit l’opération.

Syntaxe exacte

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

Paramètres

  • value / text — String : un argument lit la première unité UTF-16 ; deux analysent tout le texte décimal ou 0x hexadécimal avec signe et espaces externes.
  • defaultValue — Integer de repli en cas d’échec, requis uniquement avec deux arguments.

Retour

Integer : code 0..65535, ou 0 pour texte vide ; à deux arguments, Int32 ou repli. Le dépassement décimal échoue. Hex jusqu’à 0xFFFFFFFF représente des bits signés sur 32 bits : 0xFFFFFFFF vaut -1. Fractions et suffixes échouent.

Comportement

  • Traitement local de données d’exemple avec valeur de retour. Aucun message envoyé, arrêt de script, déplacement d’objet ni contact serveur.
  • Ce n’est pas un indicateur de succès. Unicode, pas ANSI dépendant de la langue ; un emoji donne son premier substitut. Choisir un repli hors de la plage autorisée pour éviter toute ambiguïté.

Fonctions internes : de l’appel au résultat

Un argument lit text[0] ou zéro. Deux appellent TryStr2Int puis renvoient la valeur analysée ou le repli.

1. BasicAsc / Asc / NumberConversions.TryStr2Int

Un argument lit text[0] ou zéro. Deux appellent TryStr2Int puis renvoient la valeur analysée ou le repli.

Integer : code 0..65535, ou 0 pour texte vide ; à deux arguments, Int32 ou repli. Le dépassement décimal échoue. Hex jusqu’à 0xFFFFFFFF représente des bits signés sur 32 bits : 0xFFFFFFFF vaut -1. Fractions et suffixes échouent.

Source du projet: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; fonction BasicAsc / Asc / NumberConversions.TryStr2Int.

Ce n’est pas un indicateur de succès. Unicode, pas ANSI dépendant de la langue ; un emoji donne son premier substitut. Choisir un repli hors de la plage autorisée pour éviter toute ambiguïté.

Exemples

Lire un chiffre

# Lire un chiffre
#
# Lit un code de caractère ou une valeur entière ; le nombre d’arguments choisit l’opération.
#
# Integer : code 0..65535, ou 0 pour texte vide ; à deux arguments, Int32 ou repli. Le
# dépassement décimal échoue. Hex jusqu’à 0xFFFFFFFF représente des bits signés sur 32 bits :
# 0xFFFFFFFF vaut -1. Fractions et suffixes échouent.

SUB Main()
    # ASC("7") = 55. Après vérification de 48..57, soustraire 48 donne 7.
    # Traitement local de données d’exemple avec valeur de retour. Aucun message envoyé, arrêt de
    # script, déplacement d’objet ni contact serveur.

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

Explication des paramètres et du déroulement:

  • ASC("7") = 55. Après vérification de 48..57, soustraire 48 donne 7.
  • Traitement local de données d’exemple avec valeur de retour. Aucun message envoyé, arrêt de script, déplacement d’objet ni contact serveur.

Lire un graphique configuré

# Lire un graphique configuré
#
# Lit un code de caractère ou une valeur entière ; le nombre d’arguments choisit l’opération.
#
# Integer : code 0..65535, ou 0 pour texte vide ; à deux arguments, Int32 ou repli. Le
# dépassement décimal échoue. Hex jusqu’à 0xFFFFFFFF représente des bits signés sur 32 bits :
# 0xFFFFFFFF vaut -1. Fractions et suffixes échouent.

SUB Main()
    # "0x0EED" donne 3821 ; -1 indique ici une saisie invalide. Aucun objet déplacé.
    # Traitement local de données d’exemple avec valeur de retour. Aucun message envoyé, arrêt de
    # script, déplacement d’objet ni contact serveur.

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

Explication des paramètres et du déroulement:

  • "0x0EED" donne 3821 ; -1 indique ici une saisie invalide. Aucun objet déplacé.
  • Traitement local de données d’exemple avec valeur de retour. Aucun message envoyé, arrêt de script, déplacement d’objet ni contact serveur.

Valider une quantité

# Valider une quantité
#
# Lit un code de caractère ou une valeur entière ; le nombre d’arguments choisit l’opération.
#
# Integer : code 0..65535, ou 0 pour texte vide ; à deux arguments, Int32 ou repli. Le
# dépassement décimal échoue. Hex jusqu’à 0xFFFFFFFF représente des bits signés sur 32 bits :
# 0xFFFFFFFF vaut -1. Fractions et suffixes échouent.

SUB Main()
    # ReadQuantity exige 1..100 : "invalid" donne -1, "50" donnerait 50. Aucune pile modifiée.
    # Traitement local de données d’exemple avec valeur de retour. Aucun message envoyé, arrêt de
    # script, déplacement d’objet ni contact serveur.

    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

Explication des paramètres et du déroulement:

  • ReadQuantity exige 1..100 : "invalid" donne -1, "50" donnerait 50. Aucune pile modifiée.
  • Traitement local de données d’exemple avec valeur de retour. Aucun message envoyé, arrêt de script, déplacement d’objet ni contact serveur.

Clone this wiki locally