Prec.Bas prec.BasNiv. sup.

10.3 Notes supplémentaires 

Cette section contient des informations supplémentaires sur certaines fonctions ou groupes de fonctions.
FAC marche aussi pour les valeurs négatives. FAC(n) est défini comme n(n - 1)(n - 2) . . . 1 pour les entiers positifs, et n(n + 1)(n + 2) . . . (-1) pour les entiers négatifs. FAC(0) est 1, comme d'habitude.
RANDOM Si vous invoquez RANDOM sans argument, i.e. par exemple
 ASET A=RANDOM
il retournera une valeur réelle dans l'intervalle [0.0,1.0]. Si vous l'invoquez avec un nombre entier n comme paramètre, comme dans
 ASET A=RANDOM(1000)
ieurs cas sont possibles:

n <= 0 RANDOM retourne toujours zéro
0 < n < 65536RANDOM retourne un nombre pseudo-aléatoire dans l'intervalle entier [0,65534]
n > 65535 RANDOM se comporte comme si RANDOM(65535) était invoqué
DIR, DFREE, DSIZE, LABEL acceptent tous une spécification de lecteur comme argument. Ils sont implémentés d'une façon plutôt tolérante. Chacun d'eux accepte non seulement des arguments tels que 'a', 'B', ou 'C:', mais aussi des chemins, comme 'E:\FOO\SILLY.DAT'.
UNIQUE produit un nom de fichier inexistant pour un répertoire donné. Le nom a le format

dddddddd.TMP

où chaque d est un chiffre décimal choisi aléatoirement. Cela veut dire que

61524212.TMP

est un nom unique possible. Après qu'un nom soit créé, UNIQUE vérifie s'il existe déjà (en essayant de l'ouvrir pour le lire). S'il n'y arrive pas, le nom est ok. Sinon, la procédure est répétée. Si UNIQUE ne réussit pas à produire un nom de fichier inexistant au bout de 10 tentatives, il s'arrête et retourne '?'.

BUFFERS, COUNTRY, DEVICE, FCBX, FCBY, FILES, LASTDRIVE, SHELL, STACKX, STACKY lisent CONFIG.SYS, comme vous le savez probablement déjà. La question est, comment le trouvent-ils ? En premier ils déterminent le lecteur d'amorçage (boot) par une opération du DOS. Cela nécessite le DOS 4.0 ou ultérieur. S'ils ne réussissent pas à trouver le CONFIG.SYS sur ce lecteur (par ex. parce que le DOS 3.3 est utilisé), ils essaient 'C:\CONFIG.SYS' (parce que la plupart des systèmes s'amorcent à partir de C:). Si ça ne marche pas non plus, ils s'arrêtent et retournent une valeur par défaut qui est comme suit (d'après mon manuel du DOS 3.30) :

BUFFERS 15 si la mémoire>521k, ce qui est supposé
COUNTRY 001
DEVICE retourne 0 en cas d'échec ou si le périphérique n'est pas trouvé
FCBX 4
FCBY 0
FILES 8
LASTDRIVEE
SHELL voir ci-dessous
STACKY 9
STACKY 128
SHELL Cette fonction est traitée séparément pour expliquer son algorithme. SHELL essaye tout d'abord, comme toutes les autres fonctions qui apparaissent dans le CONFIG.SYS, de localiser une ligne SHELL = ligne dans CONFIG.SYS (voyez ci-dessus pour les détails). S'il ne réussit pas, il détermine le lecteur d'amorçage (ce qui requiert le DOS 4.0 ou une version ultérieure). S'il réussit, ' d:\COMMAND.COM' est retourné (si d: est le lecteur d'amorçage), autrement ' ?:\COMMAND.COM' est retourné.
CONCAT Vous pouvez vous demander pourquoi cette fonction est implémentée, alors que l'opérateur + exécute la même tâche. La réponse est que + ne peut pas être utilisé pour concaténer des chaînes qui représentent des nombres. Dans ce cas spécial, les arguments sont interprétés comme nombres et sont ajoutés, pas concaténés ! CONCAT en revanche n'interprète jamais ses arguments comme des nombres.
GETKEY peut aussi lire des touches de fonction, parce qu'elles sont passées à ASET comme deux touches, ascii 0 + ascii code. GETKEY ignore simplement le 0, parce qu'il ne peut pas appartenir à l'ensemble des touches, et interprète code comme s'il avait été entré seul. Cela implique que vous pouvez installer GETKEY de sorte qu'il réagisse aux touches de fonction, en utilisant les remplacements suivants:

Touche Car. après #0Code du car.
F1 ; 59
F2 < 60 *
F3 = 61
F4 > 62 *
F5 ? 63
F6 @ 64
F7 A 65
F8 B 66
F9 C 67
F10 D 68
LEFT K 75
RIGHT M 77
UP H 72
DOWN P 80
PAGE UP I 73
PAGE DOWNQ 81
INS R 82
DEL S 83
POS 1 G 71
END O 79

Il y a un problème avec les deux codes marqués avec '*', parce que les caractères '>' et '<' sont interprétés par le DOS. Vous serez capable d'utiliser ceux-ci seulement si votre shell a la possibilité de les passer aux programmes.

Exemple: L'appel suivant

 ASET A = GETKEY('KMHPIQ')
n'accepte pas seulement les touches K, M, H, P, I, et Q elles-mêmes, mais aussi les touches fléchées et les touches PageHaut et PageBas.
GETSTRING, GETNUMBER Ces fonctions comprennent les touches de contrôle suivantes:

Flèche à gauche En arrière d'un caractère
Flèche à droite En avant d'un caractère
Suppr Supprime le caractère sous le curseur
Fin Aller au dernier caractère
Pos 1 Aller au premier caractère
Ins Bascule entre le mode insertion (défaut) et le mode écrire par dessus
Entrée Termine l'entrée des données
Ctrl/H (Retour arrière)Supprime le caractère sous le curseur
Ctrl/Y Supprime toute la chaîne et recommence
LINE Cette fonction retourne une ligne obtenue à partir de l'entrée standard ou à partir d'un fichier. Elle retourne '?' si la ligne n'existe pas dans le fichier.
DAY, MONTH, YEAR, DOY, WDAY, WDAYN, MONTHN acceptent tous une date comme argument. Les formats valides pour les dates sont indiqués ci-dessous :

Format Exemple
jj.mm.aaaa 4.12.1963
mm-jj-aaaa 12-4-1963
mm/jj/aaaa12/4/1963
BOOTDRIVE requiert le DOS 4.0 ou ultérieur pour fonctionner.
ENVCOUNT, ENVUSED calculent leurs résultats sans tenir compte de la modification de l'environnement causée par l'appel même d'ASET.
MAX, MIN Ces fonctions utilisent l'algorithme suivant. Dans une première passe, ils essaient de considérer tous les arguments comme des nombres, et ils calculent leur maximum/minimum. Dès qu'ils rencontrent un argument non numérique, ils basculent vers le mode chaîne et examinent de nouveau les arguments, en les considérant maintenant comme des chaînes de caractères.
RAMFREE Un appel à cette fonction renvoie la quantité courante de mémoire libre. La valeur a été sauvegardée par ASET avant qu'elle n'ait été calculée, elle peut donc être modifiée après le calcul même (si ASET utilise quelques fonctions supplémentaires pour l'évaluer). Il faut par conséquent la considérer comme une valeur approchée.
IF, AIF Les fonctions IF et AIF peuvent être une aide puissante si (mais pas seulement si) vous utilisez ASET dans le mode fichier, i.e., si vous invoquez ASET avec l'option /f pour lire un fichier qui contient plusieurs tâches à effectuer. IF et AIF peuvent être utilisées dans la plupart des cas où la déclaration IF du DOS pourrait être utilisée (ce qui n'est pas possible dans les fichiers ASET).
Prec.Bas prec.HautNiv. sup.