Langage PANORAMIC : MANUEL UTILISATEUR
Transcription
Langage PANORAMIC : MANUEL UTILISATEUR
PANORAMIC: MANUEL UTILISATEUR POUR LA VERSION 0.9.12 1 - GÉNÉRALITÉS DU LANGAGE ● 1.1 - Vocabulaire ● 1.2 - Règles d'utilisation ❍ 1.2.1 - Numérotation ❍ 1.2.2 - Commandes ❍ 1.2.3 - Parenthèses ❍ 1.2.4 - Commandes et numéro d'objet ❍ 1.2.5 - Fonctions et numéro d'un objet 3D ❍ 1.2.6 - Cible des commandes de dessin 2D ● 1.3 - Variables ● 1.4 - Tableaux de variables 2 - FONCTIONS DU BASIC ● 2.1 - Fonctions mathématiques ● 2.2 - Fonctions Logiques ● 2.3 - Fonctions String ● ● 2.4 - Conversions string / nombre 2.5 - Fonctions logiques binaires 3 - COMMANDES DU BASIC ● 3.1 - Structures ● 3.2 - Label / Goto / Gosub ● 3.3 - Commentaire ● 3.4 - Arrêt de l'exécution ● 3.5 - Heure et Date ● 3.6 - Commandes système ● 3.7 - Données à l'intérieur du programme ● 3.8 - Données entrées au clavier ● 3.9 - Impression : PRINT 4 - CRÉATION D'OBJETS SYSTÈME ● 4.1 - Création d'objets système classiques ● 4.2 - Création d'objets système Listes ● 4.3 - Création d'objet système SCENE2D, SPRITE et SCENE3D ● 4.4 - Création d'objets système Multimédia ● 4.5 - Création d'objets systèmeChoix ● 4.6 - Création d'objets système Menu ● 4.7 - Création d'objets système Barres ● 4.8 - Création d'objets système Dialogue ● ● 4.9 - Taille des objets système créés 4.10 - Paramètres des objets Barre 5 - COMMANDES SUR LES OBJETS SYSTÈME CRÉÉS ● ● 5.1 - Commandes communes ❍ 5.1.1 - Position ❍ 5.1.2 - Taille ❍ 5.1.3 - Activité ❍ 5.1.4 - Visibilité ❍ 5.1.5 - Texte bulle ❍ 5.1.6 - Commandes diverses ❍ 5.1.7 - Evénements ❍ 5.1.8 - Police de caractères ❍ 5.1.9 - Curseur 5.2 - Commandes spécifiques sur les objets système créés ❍ 5.2.1 - Axes et réception des commandes: SCENE3D ❍ 5.2.2 - Type de bordure et réception des commandes sur un objet FORM ❍ 5.2.3 - Commandes spécifiques sur un objet Barre: TRACK_BAR, SCROLL_BAR, PROGRESS_BAR ❍ 5.2.4 - Filtre sur un objet Dialogue: OPEN_DIALOG, SAVE_DIALOG ❍ 5.2.5 - Jouer un objet Multimédia: SOUND, MOVIE ❍ 5.2.6 - Gérer le contenu d'un objet Liste: MEMO, COMBO, LIST, DLIST ❍ 5.2.7 - Réception des commandes de dessin: FORM, PICTURE ❍ 5.2.8 - Texte à visualiser: EDIT, COMBO ❍ 5.2.9 - Intitulé d'un objet: BUTTON, ALPHA, FORM, CHECK, OPTION, SUB_MENU ❍ 5.2.10 - Chargement d'un fichier: MEMO, COMBO, LIST, PICTURE, SOUND, MOVIE ❍ 5.2.11 - Sauvegarde dans un fichier: MEMO, COMBO, LIST, PICTURE ❍ 5.2.12 - Source des données: EDIT, COMBO, FORM ❍ 5.2.13 - Réception des PRINT: SCENE3D, EDIT, MEMO, COMBO, FORM, LIST, PICTURE ❍ 5.2.14 - Réception des commandes SPRITE: SCENE2D ❍ 5.2.15 – Tri dans un objet List: COMBO, LIST, DLIST ❍ 5.2.16 – Dimensionnement de l'image visualisée: PICTURE et SCENE2D ❍ 5.2.17 - Focus d'entrée ❍ 5.2.18 - Barres de défilement d'un MEMO ❍ 5.2.19 - MEMO et presse-papier système ● 5.3 - Fonctions communes sur les objets système créés ❍ 5.3.1 - Position ❍ 5.3.2 - Taille ❍ 5.3.3 - Sur un objet Liste: MEMO, COMBO, LIST, DLIST ❍ 5.3.4 - Position du curseur: TRACK_BAR, SCROLL_BAR, PROGRESS_BAR ❍ 5.3.5 - Fichier choisi: OPEN_DIALOG, SAVE_DIALOG ❍ 5.3.6 - Etat: CHECK, OPTION ❍ 5.3.7 - Sélection d'une ligne: COMBO, LIST ❍ 5.3.8 - Texte affiché: EDIT, MEMO, COMBO ❍ 5.3.9 - Click sur un objet 6- DESSIN 2D ● 6.1 - Caractéristiques du tracé ● 6.2 - Caractéristique de la surface ● 6.3 - Points et lignes ● 6.4 - Figures ● 6.5 - Effacer 7 - MONDE 3D (OBJET: SCENE3D) ● 7.1 - TRAITEMENT DE LA CAMÉRA 3D DANS UN SCENE3D ❍ 7.1.1 - Position de la caméra 3D ❍ 7.1.2 - Position du point visé ● 7.2 - TRAITEMENT DE LA LUMIÈRE 3D DANS UN SCENE3D ❍ 7.2.1 - Position de la lumière 3D ● 7.3 - CRÉER UN OBJET 3D DANS UN SCENE3D ● 7.4 - COMMANDES SUR UN OBJET 3D (DANS UN SCENED3D) ❍ 7.4.1 - Supprimer ❍ 7.4.2 - Visualiser ou cacher ❍ 7.4.3 - Positionner ❍ 7.4.4 - Rotation ❍ 7.4.5 - Redimensionner ❍ 7.4.6 - Couleur ❍ 7.4.7 - Texture ❍ 7.4.8 - Charger une structure ❍ 7.4.9 - Changer le texte 7.4.10 - Changer l'épaisseur 7.4.11 - Chaîner ❍ 7.4.12 - Transparence ❍ 7.4.13 - Mouvement ❍ 7.4.14 - Pointer un objet 3D 7.5 - FONCTIONS D'UN OBJET 3D (DANS UN SCENED3D) ❍ 7.5.1 - Position ❍ 7.5.2 - Angles de rotation ❍ 7.5.3 - Coefficients d'échelle ❍ ● 8 - LECTURE ET ÉCRITURE AVEC DES FICHIERS ● 8.1 - Commandes et fonctions sur les fichiers texte ● 8.2 - Commandes et fonctions sur les fichiers binaires 9 - GESTION DES FICHIERS 10 - GESTION DES SPRITES ● 10.1 - Créer ● 10.2 - Charger une image ● 10.3 - Supprimer ● 10.4 - Visualiser ou cacher ● 10.5 - Positionner 11 - GESTION DES RÉPERTOIRES 12 - GESTION D'EXCEL 13 - POSITION DE SOURIS ET ÉVÉNEMENTS DE SOURIS 14 - FENÊTRE MESSAGE 15 - EXÉCUTER UN PROGRAMME EXTERNE 16 - RÉCEPTION DES PARAMÈTRES PASSÉS 17 - NOTES INDIVIDUELLES EN MIDI 18 - APPEL D'UNE FONCTION DE DLL 19 - UTILISER LE PORT PARALLÈLE D'ENTRÉES-SORTIES 20- CRÉER DES FICHIERS EXÉCUTABLES AUTONOMES 21 - VERSION FREEWARE (GRATUICIEL) Ce logiciel est appelé PANORAMIC parce que c'est un langage BASIC "universel" , utilisable dans des domaines différents: - Monde 3D: charge des objets MD2 et 3DS , des objets 3D primaires, les gère (en position, en taille, en couleur, en texture, ...), pilote une lumière 3D et une caméra 3D, - Monde 2D: permet de déplacer des SPRITES sur un arrière plan, - Manipule (charge et joue) des objets multimédia: sons, musiques, images, films, - Dessine en 2D: cercles, rectangles, lignes, polylignes, points, - Crée et manipule des objets système (de Windows): bouton, liste, combobox, barres, ... - Manipule des fichiers texte sur le disque: lire, écrire, créer... - Pilote le logiciel Excel, - Permet le calcul mathématique: log, exp, sin, cos... - etc, etc. Haut de page 1 - GÉNÉRALITÉS DU LANGAGE - PANORAMIC utilise la syntaxe classique du BASIC. - N'est pas sensible à la casse: NexT et nEXt ont la même signification. - REM pour les remarques: les caractères après le mot clé REM ne sont pas évalués. - Des espaces peuvent être insérés partout sauf à l'intérieur d'un mot clé ou d'un nom de variable. - Toutes les variables doivent être définies par DIM, sauf les variables système (par exemple TIME$, DATE$, DIR_CURRENT$). - Plusieurs commandes peuvent être écrites sur la même ligne, dans ce cas elles sont séparées par ":" - Possède des mots-clés de type : déclaration (DATA,...), commandes (PRINT,...), fonctions (SIN(30),...), variables système (TIME$,...), opérateurs (AND,...). - Une commande peut avoir jusqu'à 4 paramètres. - "." est le séparateur décimal pour les nombres. - Si une erreur arrive lors de l'exécution, une fenêtre explicative est visualisée et le programme s'arrête. Haut de page 1.1 - Vocabulaire OBJET SYSTEME: objet du Système d'Exploitation Windows: button, form, combo, scene3d, ... CIBLE: l'objet qui reçoit toutes les commandes. CIBLE 2D: l'objet (comme form ou picture) qui est désigné pour recevoir toutes les commandes 2D. CIBLE 3D: l'objet (un scene3d parmi plusieurs scene3d) désigné pour recevoir toutes les commandes 3D. OBJET 3D: élément d'un scene3d (3d_sphere, 3d_cone, 3d_torus, etc) OBJET SPRITE: image qui peut être déplacée sur un arrière plan (scene2d) sans le perturber COMMANDE: un ordre à exécuter immédiatement. FONCTION: une expression qui retourne une valeur. Elle est appelée avec un paramètre. Exemple: sqr(2) retourne 1.414... DECLARATION: mot clé utilisé pour déclarer quelque chose (une étiquette, une variable,...) VARIABLE SYSTEME: variable non définie par l'utilisateur, mais utilisée pour sa valeur propre (time$, date$, ...) SOUS-PROGRAMME: groupe de commandes qui commence par un LABEL et qui se termine par RETURN et qui peut être appelé un certain nombre de fois. Haut de page 1.2 - Règles d'utilisation 1.2.1 - Numérotation Chaque objet système (button, list, form, ...) doit être créé avec un numéro associé. Ce numéro est utilisé pour toute commande appliquée sur cet objet. Chaque objet 3D doit être créé avec un numéro associé. Ce numéro est utilisé pour toute commande 3D appliquée sur cet objet. Chaque objet SPRITE doit être créé avec un numéro associé. Ce numéro est utilisé pour toute commande SPRITE appliquée sur cet objet. Les numéros d'OBJETS SYSTEME, les numéros d'OBJETS 3D et les numéros de SPRITES sont indépendants (aucun rapport): un OBJET 3D peut porter un numéro utilisé par un OBJET SYSTEME ou un OBJET SPRITE. Haut de page 1.2.2 - Commandes - Chaque commande sur un objet 3D commence par 3D: 3d_x_position, 3d_z_rotate, ... - Chaque commande pour dessiner commence par 2D: 2d_circle, 2d_pen_color, ... - Chaque commande sur un objet SPRITE commence par SPRITE: sprite_position, sprite_hide, ... Haut de page 1.2.3 - Parenthèses - Une fonction a des parenthèses: sin(x), width(N) - Une commande n'a aucune parenthèse. Haut de page 1.2.4 - Commandes et numéro d'objet - Toute commande sur un objet SYSTEME utilise le numéro de cet objet SYSTEME. - Toute commande sur un objet 3D utilise le numéro de cet objet 3D. - Toute commande sur un objet SPRITE utilise le numéro de cet objet SPRITE. Haut de page 1.2.5 - Fonctions et numéro d'objet - Toute fonction sur un objet SYSTEME utilise le numéro de cet objet SYSTEME. - Toute fonction sur un objet 3D utilise le numéro de cet objet 3D. - Toute fonction sur un objet SPRITE utilise le numéro de cet objet SPRITE. Haut de page 1.2.6 - Cible des commandes de dessin 2D Les commandes de dessin 2D (pour dessiner sur un objet) ne se réfèrent pas à un numéro d'objet, mais s'appliquent à l'objet "cible 2D". L'objet "cible 2D" est FORM numéro 0 par défaut. Pour changer d'objet "cible 2D", utiliser la commande "2D_TARGET_IS N". N sera le nouvel objet "cible 2D". Haut de page 1.3 - Variables - Il y a 3 types de variables: Réel, Entier (le nom est suivi par %), String (le nom est suivi par $) a% est un entier (a% = 14) b$ est un string (b$ = "Salut") C est réel (c=12.8953) - Toutes les variables (simples et tableaux) doivent être définies par DIM DIM Abc , I%, Name$(20) - Un nom de variable contient des lettres, des chiffres, le caractère souligné (_) et peut se terminer par % ou $. Le premier caractère ne peut pas être un nombre. Haut de page 1.4 - Tableaux de variables - On utilise DIM pour définir un tableau de variable (entier, réel ou string). dim A$(20) crée un tableau de strings de 21 éléments. Le premier élément est a$(0), le dernier est a$(20) Haut de page 2 - FONCTIONS DU BASIC 2.1 - Fonctions mathématiques Les fonctions mathématiques classiques du BASIC sont disponibles: ABS(X) Retourne la valeur absolue de X ACOS(X) Retourne l'arc cosinus de X, en radian ASIN(X) Retourne l'arc sinus de X, en radian ATN(X) Retourne l'arc tangente de X (X est en radian) COS(X) Retourne le cosinus de X (X est en radian) EVEN(X) Retourne 1 si X est pair, 0 sinon EXP(X) Retourne l'exponentielle de X FRAC(X) Retourne la partie fractionnaire de X HCOS(X) Retourne le cosinus hyperbolique de X HSIN(X) Retourne le sinus hyperbolique de X HTAN(X) Retourne la tangente hyperbolique de X INT(X) Retourne la partie entière de X LOG(X) Retourne le logarithme népérien (de base e) de X LOG10(X) Retourne le logarithme en base 10 de X LOG2(X) Retourne le logarithme en base 2 de X ODD(X) Retourne 1 si X est impair, 0 sinon POWER(X,Y) Retourne X élevé à la puissance Y RND(X) Retourne une valeur aléatoire entre 0 et X, mais non égale à X SGN(X) Retourne le signe de X SIN(X) Retourne le sinus de X (X en radian) SQR(X) Retourne la racine carrée de X TAN(X) Retourne la tangente de X (X est en radian) Haut de page 2.2 - Fonctions logiques - Les fonctions logiques classiques du BASIC sont disponibles: AND, OR, NOT - Les parenthèses peuvent être utilisées. Ces fonctions sont utilisées dans une expression IF, WHILE ou UNTIL et le résultat de l'évaluation est "VRAI" ou "FAUX". Ex: IF ((A>1) OR B+3<C-4)) AND ((D<>6 OR NOT(A<B)) THEN - - Les comparateurs suivants peuvent être utilisés avec des valeurs numériques: = égal à > plus grand que, supérieur à < plus petit que, inférieur à <= ou =< inférieur ou égal à >= ou => supérieur ou égal à >< our <> non égal à, différent de Seuls les comparateurs suivants peuvent être utilisés pour comparer des strings: = égal à >< ou <> non égal à, différent de Haut de page 2.3 - Fonctions string Les fonctions "string" classiques du BASIC sont disponibles: LEFT$(A$, N) Retourne les N premiers caractères du string A$ (caractères à gauche) RIGHT$(A$, N) Retourne les N derniers caractères du string A$ (caractères à droite) LEN(A$) Retourne la longueur du string A$ (soit le nombre de caractères) STRING$(N, C$) Retourne un string contenant N fois le caractère C$ MID$(A$, 4, 2) Retourne les 2 caractères du string A$ à partir du 4ème caractère UPPER$(A$) Retourne le string constitué de A$ en majuscules LOWER$(A$) Retourne le string constitué de A$ en minuscules TRIM$(A$) Retourne le string constitué de A$ sans les blancs à droite et à gauche LTRIM$(A$) Retourne le string constitué de A$ sans les blancs à gauche RTRIM$(A$) Retourne le string constitué de A$ sans les blancs à droite NUMERIC(A$) Retourne 1 si le string A$ représente une valeur numérique, 0 sinon Haut de page 2.4 - Conversions string/nombre Les fonctions de conversion classiques du BASIC sont disponibles: VAL("123.4") Convertit le string "123.4" en sa valeur réelle 123.4 STR$(123.4) Convertit la valeur réelle 123.4 en un string "123.4" ASC(A$) Retourne le code ASCII du premier caractère d'A$ CHR$(V) Retourne le caractère correspondant au code ASCII V Haut de page 2.5 - Fonctions logiques binaires BIN_AND(V1, V2) Retourne la valeur du "ET" binaire logique entre V1 et V2 BIN_OR(V1, V2) Retourne la valeur du "OU" binaire logique entre V1 et V2 BIN_XOR(V1, V2) Retourne la valeur du "OU EXCUSIF" binaire logique entre V1 et V2 Haut de page 3 - COMMANDES DU BASIC 3.1 - Structures IF Condition THEN Instructions Exécute "Instructions" si "Condition" est Vraie. IF Condition Exécute "Groupe d'Instructions" si "Condition" est Vraie. Groupe d'Instructions END_IF IF Condition Exécute "Groupe d'Instructions A" si "Condition" est Vraie, sinon, exécute "Groupe d'Instructions B". Groupe d'Instructions A ELSE Groupe d'Instructions B END_IF FOR variable = Expression1 TO Expression2 Exécute "Groupe d'Instructions" pour Variable variant de la valeur Expression1 à la valeur Expression2. Groupe d'Instructions NEXT variable Un STEP est disponible pour la boucle FOR / NEXT: il définit l'incrément de la variable. Une commande EXIT_FOR permet de sortir de la boucle FOR / NEXT. WHILE Condition Exécute "Groupe d'Instructions" tant que "Condition" est Vraie. Groupe d'Instructions END_WHILE Une commande EXIT_WHILE permet de sortir de la boucle WHILE / END_WHILE. Exécute "Groupe d'Instructions" jusqu'à ce que "Condition" soit Vraie. REPEAT Groupe d'Instructions Une commande EXIT_REPEAT permet de sortir de la boucle REPEAT / UNITL. UNTIL Condition SELECT Expression CASE Valeur Numérique Groupe d'Instructions Exécute "Groupe d'Instructions" après le CASE dont la Valeur Numérique correspond au résultat de l'évaluation de Expression. CASE Valeur Numérique Groupe d'Instructions ---END_SELECT Haut de page 3.2 - Label / Goto / Gosub LABEL NOM Déclaration d'un label (un label est un point du programme qui reçoit un nom, c'est soit le début d'un sous-programme ou simplement un point à atteindre par un GOTO). NOM: Label (nom donné à un point du programme) GOTO NOM Exécute la partie du programme qui commence par le label NOM GOSUB NOM Exécute le sous-programme qui commence par le label NOM RETURN Fin de sous-programme Haut de page 3.3 - Commentaire Introduit un commentaire dans le programme (ne fait rien) REM Haut de page 3.4 - Arrêt de l'exécution END Termine le programme principal qui s'arrète et se met en attente des événements STOP Arrêt de l'exécution du programme. Affiche le numéro de la ligne source TERMINATE Le programme s'arrète, libère la mémoire: tout disparaît : Sépare des instructions sur la même ligne Haut de page 3.5 - Date et Heure Ces variables système sont prédéterminées (pas besoin de les définir). TIME$ Retourne l'heure actuelle DATE$ Retourne la date actuelle Haut de page 3.6 - Commandes Système WAIT N Pause de N millisecondes (0 < =N < =30000). Le programme est arrêté jusqu'à ce que le temps soit écoulé. Aucun événement n'est pris en compte. DISPLAY Met à jour et visualise une scène 3D ou une représentation 2D puis reprend l'exécution du programme. BEEP Emet un son bref Haut de page 3.7 - Données à l'intérieur du programme DATA 10, 34, 71 Valeurs définies dans le fichier source READ a Lire une valeur dans la ligne DATA RESTORE Reprendre à la première valeur DATA Haut de page 3.8 - Données entrées au clavier INPUT V La variable V est affectée avec ce qui a été tapé au clavier, lors de l'appui sur ENTER INKEY$ Lecture d'un caractère en cours de frappe au clavier, puis contine l'excécution La commande INPUT a des options: INPUT_MARK_ON Affiche un point d'interrogation lors d'une commande INPUT INPUT_MARK_OFF N'affiche pas de point d'interrogation lors d'une commande INPUT INPUT_REDO_ON Exécute à nouveau la commande INPUT si aucune valeur lue INPUT_REDO_OFF Ne ré-exécute pas la commande INPUT si aucune valeur lue INPUT_VISIBLE_ON Affiche les caractères saisis lors d'une commande INPUT INPUT_VISIBLE_OFF N'affiche pas les caractères saisis lors d'une commande INPUT Par défaut, le comportement de la commande INPUT est: - INPUT_REDO_OFF: si aucune valeur n'est rentrée (seulement la touche RETURN), il n'y a pas de nouvelle demande et la variable contiendra: 0 si c'est une variable numérique, la chaine vide ("") si c'est une variable string. - INPUT_MARK_OFF: il n'y a pas d'affichage de point d'interrogation - INPUT_VISIBLE_ON: il y a affichage des caractères saisis The command INPUT has options: INPUT_MARK_ON Displays an interrogation mark when a command INPUT is executed INPUT_MARK_OFF Does not display an interrogation mark when a command INPUT is executed INPUT_REDO_ON Executes again the command INPUT if no read value INPUT_REDO_OFF Does not execute again the command INPUT if no read value INPUT_VISIBLE_ON Displays the stroke keys when a command INPUT is executed INPUT_VISIBLE_OFF Does not display the stroke keys when a command INPUT is executed By default, the behaviour of the command INPUT is: - INPUT_REDO_OFF: if no value is entered (only the key ENTER), there is no new input and the variable is: set to 0 if it is a numeric variable, set to the empty string ("") if it is a string variable. - INPUT_MARK_OFF: an interrogation mark is not displayed - INPUT_VISIBLE_ON: the stroke keys are not displayed Haut de page 3.9 - Impression : PRINT - C'est le PRINT classique du BASIC sans "," et ";" pour afficher sur un objet système un texte ou la valeur d'une expression. PRINT V peut être utilisé, PRINT "Salut" peut être utilisé. - Mais au lieu de PRINT "NOMBRE ="; N il faut utiliser PRINT "NOMBRE =" +STR$ (N) - Par défaut, print s'effectue sur FORM numéro 0, mais un autre objet peut être désigné comme cible pour l'impression par PRINT_TARGET_IS. - Il est possible d'imprimer dans un objet système à un endroit déterminé en X et Y par PRINT_LOCATE. PRINT Va à la ligne suivante (imprime une ligne vide). PRINT variable ou expression Imprime le résultat sur l'écran ou dans l'objet cible. PRINT_LOCATE X, Y Définit l'endroit du prochain PRINT en X et Y. PRINT_X_LOCATE X Définit l'endroit du prochain PRINT en X. PRINT_Y_LOCATE Y Définit l'endroit du prochain PRINT en Y. Haut de page 4 - CRÉATION D'OBJETS SYSTÈME Un objet système est un objet créé par le Système d'Exploitation (Microsoft Windows) Il y a 2 sortes d'objets système: les objets visibles et les objets invisibles. Haut de page 4.1 - Création d'objets système classiques ALPHA N Crée un objet ALPHA et lui affecte le numéro N. Un objet ALPHA est utilisé pour visualiser un texte statique que l'utilisateur ne peut pas changer (avec la commande CAPTION). Commande spécifique sur un ALPHA: - Visualiser un texte: CAPTION N,String BUTTON N Crée un objet BUTTON et lui affecte le numéro N. Un objet BUTTON est utilisé pour lancer une commande (avec la commande ON_CLICK ou la fonction CLICKED) quand il est cliqué. Commande spécifique sur un BUTTON: - Visualiser un texte: CAPTION N,String FORM N Crée un objet FORM et lui affecte le numéro N. Un objet FORM est utilisé pour visualiser une fenêtre avec des composants (autres objets système). Commandes spécifiques sur un FORM: - Visualiser un texte: CAPTION N,String - Modifier la bordure: BORDER_HIDE, BORDER_SMALL, BORDER_NORMAL MEMO N Crée un objet MEMO et lui affecte le numéro N. Un objet MEMO est utilisé pour visualiser une zone où l'utilisateur peut entrer ou modifier des lignes multiples de texte. Commandes spécifiques sur un MEMO: - Lire le texte entré par l'utilisateur: TEXT$() - Changer le texte visualisé: TEXT N,String - Obtenir le nombre de lignes: COUNT() - Ajouter une ligne: ITEM_ADD - Ajouter un fichier: FILE_ADD - Charger un fichier: FILE_LOAD - Sauvegarder les lignes dans un fichier: FILE_SAVE - Insérer une ligne: ITEM_INSERT - Supprimer une ligne: ITEM_DELETE - Lire une ligne: ITEM_READ$() - Affecter une barre de défilement horizontale: BAR_HORIZONTAL - Affecter une barre de défilement verticale: BAR_VERTICAL - Affecter deux barres de défilement: BAR_BOTH - Retirer les barres de défilement: BAR_NONE Haut de page 4.2 - Création d'objets système Listes COMBO N Crée un objet COMBO et lui affecte le numéro N. Un objet COMBO est utilisé pour combiner les fonctions de EDIT et de LIST: une liste de choix est visualisée, l'utilisateur peut taper un texte ou peut choisir une ligne de la liste. Commandes spécifiques sur un COMBO: - Visualiser un texte: TEXT - Lire le texte entré par l'utilisateur: TEXT$() - Obtenir le nombre de lignes: COUNT() - Ajouter un fichier texte: FILE_ADD - Charger un fichier texte: FILE_LOAD - Sauvegarder les lignes dans un fichier texte: FILE_SAVE - Ajouter une ligne: ITEM_ADD - Insérer une ligne: ITEM_INSERT - Supprimer une ligne: ITEM_DELETE - Lire une ligne: ITEM_READ$() - Lire la ligne sélectionnée par l'utilisateur: ITEM_INDEX$() - Lire le rang de la ligne sélectionnée: ITEM_INDEX() - Tout effacer: CLEAR - Ajouter la liste des polices disponibles: FONT_NAMES_ADD - Charger la liste des polices disponibles: FONT_NAMES_LOAD LIST N Crée un objet LIST et lui affecte le numéro N. Un objet LIST est utilisé pour visualiser une liste de choix dont l'utilisateur peut choisir une ligne. Commandes spécifiques sur un LIST: - Obtenir le nombre de lignes: COUNT() - Ajouter un fichier texte: FILE_ADD - Charger un fichier texte: FILE_LOAD - Sauvegarder les lignes dans un fichier texte: FILE_SAVE - Ajouter une ligne: ITEM_ADD - Insérer une ligne: ITEM_INSERT - Supprimer une ligne: ITEM_DELETE - Lire une ligne: ITEM_READ$() - Lire la ligne sélectionnée par l'utilisateur: ITEM_INDEX$() - Lire le rang de la ligne sélectionnée: ITEM_INDEX() - Tout effacer: CLEAR - Ajouter la liste des polices disponibles: FONT_NAMES_ADD - Charger la liste des polices disponibles: FONT_NAMES_LOAD DLIST N Crée un objet DLIST et lui affecte le numéro N. Un objet DLIST n'est pas visible. Il est utilisé pour traiter une liste d'articles (strings). Commandes spécifiques sur un DLIST: - Obtenir le nombre d'articles: COUNT() - Ajouter un fichier texte: FILE_ADD - Charger un fichier texte: FILE_LOAD - Sauvegarder les articles: FILE_SAVE - Ajouter un article: ITEM_ADD - Insérer un article: ITEM_INSERT - Supprimer un article: ITEM_DELETE - Lire un article: ITEM_READ$() - Tout effacer: CLEAR - Ajouter la liste des polices disponibles: FONT_NAMES_ADD - Charger la liste des polices disponibles: FONT_NAMES_LOAD EDIT N Crée un objet EDIT et lui affecte le numéro N. Un objet EDIT est utilisé pour visualiser un secteur où l'utilisateur peut entrer ou modifier une ligne simple de texte. Commandes spécifiques sur un EDIT: - Visualiser un texte: TEXT - Lire le texte entré par l'utilisateur: TEXT$() - Tout effacer: CLEAR - Ajouter la liste des polices disponibles: FONT_NAMES_ADD - Charger la liste des polices disponibles: FONT_NAMES_LOAD Haut de page 4.3 - Création d'objet système SCENE2D, SPRITE et SCENE3D SCENE2D N Crée un objet SCENE2D et lui affecte le numéro N. Un SCENE2D est utilisé pour visualiser une image de fond pour des SPRITEs. Commandes spécifiques sur un SCENE2D: - Lire la position de la souris: MOUSE_X_POSITION, MOUSE_Y_POSITION - Le rendre "cible" des SPRITEs: SPRITE_TARGET_IS SPRITE N Crée un SPRITE et lui affecte le numéro N. Un SPRITE est une petite image qui peut être déplacée sur un SCENE2D sans le perturber, et dont la couleur noire est dite transparente. Commandes spécifiques sur un SPRITE: - Charger une image: SPRITE_FILE_LOAD - le déplacer: SPRITE_X_POSITION, SPRITE_Y_POSITION, SPRITE_POSITION - Le cacher ou le visualiser: SPRITE_HIDE, SPRITE_SHOW - Le détruire: SPRITE_DELETE SCENE3D N Crée un objet SCENE3D et lui affecte le numéro N. Un objet SCENE3D est utilisé pour manipuler un Monde 3D avec une lumière, une caméra et des objets 3D qui peuvent être animés, déplacés, tournés, déformés, colorés, texturés, supprimés, cachés, visualisés... Commandes spécifiques sur un SCENE3D: - Cacher ou visualiser les axes 3D: AXES_HIDE, AXES_SHOW - Lire la position de la souris: MOUSE_X_POSITION, MOUSE_Y_POSITION Haut de page 4.4 - Création d'objets systèmes Multimédia SOUND N Crée un objet SOUND et lui affecte le numéro N. Un objet SOUND est utilisé pour jouer un fichier son (WAV, MP3). Un SOUND est un objet non-visible. Commandes spécifiques sur un SOUND: - Charger un fichier son: LOAD_FILE - Jouer le son: PLAY PICTURE N Crée un objet PICTURE et lui affecte le numéro N. Un objet PICTURE est utilisé pour visualiser un fichier bitmap BMP ou JPG (avec la commande LOAD_FILE). Commandes spécifiques sur un PICTURE: - Charger un fichier d'images: LOAD_FILE - Lire la position de la souris: MOUSE_X_POSITION, MOUSE_Y_POSITION MOVIE N Crée un objet MOVIE et lui affecte le numéro N. Un objet MOVIE est utilisé pour jouer une vidéo multimédia. Commandes spécifiques sur un MOVIE: - Charger un fichier film: LOAD_FILE - Jouer le film: PLAY Haut de page 4.5 - Création d'objets système Choix OPTION N Crée un objet OPTION et lui affecte le numéro N. Un objet OPTION est utilisé pour visualiser un choix avec d'autres options où seulement une est disponible (seulement une OPTION est valide à tout moment). Commandes spécifiques sur un OPTION: - Visualiser un texte: CAPTION N,T - Lire l'état: CHECKED(N) CHECK N Crée un objet CHECK et lui affecte le numéro N. Un objet CHECK est utilisé pour présenter un choix binaire à l'utilisateur (Oui/non, Vrai, / faux, "Marche/Arrêt"...). Commandes spécifiques sur un CHECK: - Visualiser un texte: CAPTION N,T - Lire le statut: CHECKED(N) Haut de page 4.6 - Création d' objets système Menu MAIN_MENU N Crée un objet MAIN_MENU invisible et lui affecte le numéro N. Un objet MAIN_MENU est utilisé pour concevoir une barre de menu et ses menus déroulants accompagnant (avec la commande SUB_MENU) sur une forme. SUB_MENU N Crée un SUB_MENU et lui affecte le numéro N. Un objet SUB_MENU est utilisé pour concevoir les menus déroulants dérivés d'un MAIN_MENU sur un FORM. Commandes spécifiques sur un SUB_MENU: - Visualiser un texte: CAPTION N,T - Exécuter quelque chose quand il est cliqué: ON_CLICK N,Label Haut de page 4.7 - Création d'objets système Barres TRACK_BAR N Crée un objet TRACK_BAR et lui affecte le numéro N. Un objet TRACK_BAR est utilisé pour déplacer une valeur par incréments dans une gamme de valeurs définie par MIN et MAX. Commandes spécifiques sur un TRACK_BAR: - Lire la position du curseur: POSITION() - Mettre le curseur à une position: POSITION - Mettre la valeur minimale: MIN - Mettre la valeur maximale: MAX - Le positionner verticalement ou horizontalement: VERTICAL, HORIZONTAL SCROLL_BAR N Crée un objet SCROLL_BAR et lui affecte le numéro N. Un objet SCROLL_BAR est utilisé pour déplacer une valeur par incréments dans une gamme de valeurs définie par MIN et MAX, avec un curseur carré. Commandes spécifiques sur un SCROLL_BAR: - Lire la position du curseur: POSITION() - Mettre le curseur à une position: POSITION - Mettre la valeur minimale: MIN - Mettre la valeur maximale: MAX - Le positionner verticalement ou horizontalement: VERTICAL, HORIZONTAL PROGRESS_BAR N Crée un objet PROGRESS_BAR et lui affecte le numéro N. Un objet PROGRESS_BAR est utilisé pour visualiser un indicateur de progrès. Commandes spécifiques sur un PROGRESS_BAR: - Lire la position de la barre: POSITION() - Mettre la barre à une position: POSITION - Mettre la valeur minimale: MIN - Mettre la valeur maximale: MAX - Le positionner verticalement ou horizontalement: VERTICAL, HORIZONTAL Haut de page 4.8 - Création d'objets système Dialogue Ces objets ne sont pas visibles. OPEN_DIALOG N Crée un objet OPEN_DIALOG et lui affecte le numéro N. Un objet OPEN_DIALOG est utilisé pour ouvrir une boîte de chargement de fichier, qui permet de choisir un nom de fichier (avec la fonction FILE_NAME$). Commande spécifique sur un OPEN_DIALOG: - Lire le nom de fichier choisi par l'utilisateur: FILE_NAME$. Remarque: l'appel de la fonction FILE_NAME$ est le seul moyen pour lancer l'ouverture d'un OPEN_DIALOG. SAVE_DIALOG N Crée un objet SAVE_DIALOG et lui affecte le numéro N. Un objet SAVE_DIALOG est utilisé pour ouvrir une boîte de sauvegarde de fichier, qui permet de choisir un nom de fichier (avec la fonction FILE_NAME$). Commande spécifique sur un SAVE_DIALOG: - Lire le nom de fichier choisi par l'utilisateur: FILE_NAME$. Remarque: l'appel de la fonction FILE_NAME$ est le seul moyen pour lancer l'ouverture d'un SAVE_DIALOG. Haut de page 4.9 - Taille des objets système créés Quand il est créé, un objet système visible prend une taille standard: OBJET LARGEUR HAUTEUR BUTTON 75 25 SCENE2D 200 200 SCENE3D 200 200 EDIT 121 21 MEMO 185 89 COMBO 145 21 ALPHA 65 17 FORM 320 240 LIST 121 97 PICTURE 105 105 CHECK 97 17 OPTION 113 17 MOVIE 100 80 TRACK_BAR 150 45 SCROLL_BAR 121 17 PROGRESS_BAR 150 17 Remarque: la taille d'un objet système peut être modifiée par les commandes WIDTH et HEIGHT Haut de page 4.10 - Paramètres des objets Barre Quand il est créé, un objet barre a des paramètres standards: OBJET BARRE MIN MAX POSITION TRACK_BAR 0 10 0 SCROLL_BAR 0 100 0 PROGRESS_BAR 0 100 0 Remarque: les paramètres peuvent être modifiés par les commandes MIN, MAX et POSITION Haut de page 5 - COMMANDES SUR LES OBJETS SYSTÈME CRÉÉS 5.1 - Commandes communes Toutes les commandes utilisent le numéro associé à un objet. 5.1.1 - Position TOP N, V Positionne le bord supérieur de l'objet numéro N à V pixels de son parent (le conteneur). LEFT N, V Positionne le bord gauche de l'objet numéro N à V pixels de son parent (le conteneur). Haut de page 5.1.2 - Taille WIDTH N, V Met la largeur de l'objet numéro N à V pixels. HEIGHT N, V Met la hauteur de l'objet numéro N à V pixels. Haut de page 5.1.3 - Activité ACTIVE N Rend l'objet N actif. INACTIVE N Rend l'objet N inactif. Haut de page 5.1.4 - Visibilité SHOW N Rend l'objet N visible. HIDE N Rend l'objet N invisible. 5.1.5 - Texte bulle HINT N, T Définit T comme texte bulle de l'objet numéro N. HINT_HIDE N Inactive la visualisation du texte bulle de l'objet numéro N. Haut de page 5.1.6 - Commandes diverses COLOR N, R, G, B Colore l'objet numéro N (par les composantes rouge, vert, bleu). DELETE N Supprime l'objet numéro N. FULL_SPACE N L'objet numéro N prend tout l'espace disponible. PARENT N, M Etablit un lien: l'objet numéro M est le père de l'objet numéro N. Haut de page 5.1.7 - Evénements ON_CLICK N, L Exécute le programme à partir de L quand l'objet système numéro N est cliqué. ON_CHANGE N, L Exécute le programme à partir de L quand l'objet système numéro N est modifié. CLICKED(N) Retourne 1 si l'objet système numéro N a été cliqué, 0 sinon. Haut de page 5.1.8 - Police de caractères Il est possible de choisir la police, la taille, la couleur et le style des caractères visualisés par un objet système. (Style = combinaison des attributs: gras, italique, souligné, rayé). La liste des polices installée dans votre système peut être chargée dans un objet de type "liste": MEMO, COMBO, LIST. FONT_NAME N, F Définit la police des caractères visualisés par l'objet numéro N, par le nom de la police F. FONT_SIZE N,S Définit la taille des caractères visualisés par l'objet numéro N. FONT_COLOR N, R, G, B Définit la couleur (par les composantes rouge, vert, bleu) des caractères visualisés par l'objet numéro N. FONT_NAMES_ADD N Ajoute la liste des polices disponibles à l'objet numéro N. FONT_NAMES_LOAD N Remplit l'objet numéro N avec la liste des polices disponibles. FONT_BOLD N Ajoute le style "gras" au style de l'objet numéro N. FONT_BOLD_OFF N Retire le style "gras" au style de l'objet numéro N. FONT_ITALIC N Ajoute le style "italique" au style de l'objet numéro N. FONT_ITALIC_OFF N Retire le style "italique" au style de l'objet numéro N. FONT_UNDERLINE N Ajoute le style "souligné" au style de l'objet numéro N. FONT_UNDERLINE_OFF N Retire le style "souligné" au style de l'objet numéro N. FONT_STRIKE N Ajoute le style "rayé" au style de l'objet numéro N. FONT_STRIKE_OFF N Retire le style "rayé" au style de l'objet numéro N. Haut de page 5.1.9 - Curseur Il est possible de changer ou de cacher le curseur sur un objet système. Le curseur est piloté par la souris. CURSOR_ARROW N Visualise un curseur en forme de flèche sur l'objet système numéro N. CURSOR_CROSS N Visualise un curseur en forme de croix sur l'objet système numéro N. CURSOR_DEFAULT N Visualise le curseur par défaut sur l'objet système numéro N. CURSOR_HELP N Visualise un curseur en forme de point d'interrogation sur l'objet système numéro N. CURSOR_HIDE N Cache le curseur sur l'objet système numéro N. Haut de page 5.2 - Commandes spécifiques sur les objets systèmes créés Toutes les commandes utilisent le numéro associé à un objet. 5.2.1 - Axes et réception des commandes: SCENE3D AXES_HIDE N Rend invisibles les axes 3D de l'objet numéro N (SCENE3D). AXES_SHOW N Rend visibles les axes 3D de l'objet numéro N (SCENE3D). 3D_TARGET_IS N Désigne le SCENE3D numéro N comme récepteur des commandes "3D". Haut de page 5.2.2 - Type de bordure et réception des commandes sur un objet FORM BORDER_HIDE N Cache la bordure de l'objet numéro N. BORDER_NORMAL N Affecte une bordure normale à l'objet numéro N. BORDER_SMALL N Affecte une bordure de taille réduite à l'objet numéro N. COMMAND_TARGET_IS N Désigne le FORM numéro n comme le récepteur de toutes les commandes. Haut de page 5.2.3 - Commandes spécifiques sur les objets Barre: TRACK_BAR, SCROLL_BAR, PROGRESS_BAR HORIZONTAL N Met l'objet barre numéro N en position horizontale. VERTICAL N Met l'objet barre numéro N en position verticale. MAX N, V Met la valeur maximale V à l'objet numéro N. MIN N, V Met la valeur minimale V à l'objet numéro N. POSITION N, V Met le curseur de la barre numéro N en position V. Haut de page 5.2.4 - Filtre sur un objet Dialogue: OPEN_DIALOG, SAVE_DIALOG FILTER N, T Met un filtre (T=type de Fichier et commentaire) à l'objet numéro N. Haut de page 5.2.5 - Jouer un objet Multimédia: SOUND, MOVIE PLAY N Joue l'objet numéro N (son ou film). Haut de page 5.2.6 - Gérer le contenu d'un objet Liste: MEMO, COMBO, LIST, DLIST CLEAR N Efface le contenu de l'objet numéro N. FILE_ADD N, F Ajoute le contenu du fichier F à l'objet numéro N. ITEM_ADD N, T Ajoute l'article T à l'objet numéro N. ITEM_DELETE N, L Supprime l'article à la ligne L de l'objet numéro N. ITEM_INSERT N, L, T Insère l'article T après la ligne L dans l'objet numéro N. Haut de page 5.2.7 - Réception des commandes de dessin: FORM, PICTURE 2D_TARGET_IS N Désigne l'objet numéro N comme le récepteur de toutes les commandes "2D". Haut de page 5.2.8 - Texte à visualiser: EDIT, COMBO TEXT N, T Définit le texte T à visualiser sur l' objet numéro N. Haut de page 5.2.9 - Intitulé d'un objet: BUTTON, ALPHA, FORM, CHECK, OPTION, SUB_MENU CAPTION N, T Définit le texte T comme l'intitulé de l'objet numéro N. Haut de page 5.2.10 - Chargement d'un fichier: MEMO, COMBO, LIST, PICTURE, SOUND, MOVIE FILE_LOAD N, F Haut de page Charge le fichier F dans l'objet numéro N. 5.2.11 - Sauvegarde dans un fichier: MEMO, COMBO, LIST, PICTURE FILE_SAVE N, F Sauve le contenu de l'objet numéro N dans le fichier F. Haut de page 5.2.12 - Source des données: EDIT, COMBO, FORM Un objet peut servir d'entrée pour la commande Basic: "INPUT Variable", à la place du clavier. Dans ce cas, Variable contiendra les données déjà visualisées par l'objet. INPUT_SOURCE_IS N Désigne l'objet numéro N comme la source de données pour une commande d'entrée INPUT. Haut de page 5.2.13 - Réception des PRINT: SCENE3D, EDIT, MEMO, COMBO, FORM, LIST, PICTURE Un objet peut servir de sortie pour la commande Basic: "PRINT", à la place de l'écran. Dans ce cas, l'objet contiendra le résultat de la commande PRINT. PRINT_TARGET_IS N Désigne l'objet numéro N comme le récepteur des commandes d'impression "PRINT". Haut de page 5.2.14 - Réception des commandes SPRITE: SCENE2D SPRITE_TARGET_IS N Désigne le SCENE2D numéro N comme récepteur des commandes "SPRITE". Le SCENE2D qui est désigné comme "cible" va recevoir tous les nouveaux SPRITEs (les anciens n'étant pas touchés par cette commande). Cette commande est inutile s'il n'y a qu'un seul SCENE2D. Par contre, dans le cas où il y a plusieurs SCENE2Ds, elle permet de créer des SPRITEs dans plusieurs SCENE2Ds. Haut de page 5.2.15 – Tri dans un objet List: COMBO, LIST, DLIST SORT N Trie par ordre alphabétique tous les articles (items) de l'objet système numéro N. SORT_ON N Démarre le tri automatique de l'objet système numéro N. SORT_OFF N Arrête le tri automatique de l'objet système numéro N. Haut de page 5.2.16 – Dimensionnement de l'image visualisée: PICTURE et SCENE2D STRETCH_ON N Redimensionne automatiquement l'image visualisée par l'objet système numéro N à la forme de cet objet. STRETCH_OFF N Arrête le redimensionnement automatique de l'image visualisée par l'objet système numéro N. L'image visualisée reprend sa forme propre. Haut de page 5.2.17 - Focus d'entrée SET_FOCUS N Haut de page Donne le focus d'entrée à l'objet système numéro N. 5.2.18 - Barres de défilement d'un MEMO Un MEMO peut avoir des barres de défilement horizontale et verticale BAR_HORIZONTAL N Affecte une barre de défilement horizontale à l'objet système numéro N. BAR_VERTICAL N Affecte une barre de défilement verticale à l'objet système numéro N. BAR_BOTH N Affecte des barres de défilement (horizontale et verticale) à l'objet système numéro N. BAR_NONE N Retire toute barre de défilement à l'objet système numéro N. Haut de page 5.2.19 - MEMO et presse-papier système Le contenu d'un MEMO peut être échangé avec le contenu du presse-papier du système d'exploitation. CLIPBOARD_COPY N Copie dans le presse-papier le texte sélectionné dans l'objet système numéro N. CLIPBOARD_CUT N Copie dans le presse-papier puis efface le texte sélectionné dans l'objet système numéro N. CLIPBOARD_PASTE N Colle le texte du presse-papier dans l'objet système numéro N. Haut de page 5.3 - Fonctions communes sur les objets système créés Toutes les fonctions utilisent le numéro associé à l'objet système. 5.3.1 - Position Pour les objets: SCENE3D, BUTTON, EDIT, MEMO, COMBO, ALPHA, FORM, LIST, PICTURE, CHECK, OPTION, MOVIE, TRACK_BAR, SCROLL_BAR, PROGRESS_BAR TOP(N) Retourne le nombre de pixels entre le bord supérieur de l'objet numéro N et son parent (le conteneur). LEFT(N) Retourne le nombre de pixels entre le bord gauche de l'objet numéro N et son parent (le conteneur). Haut de page 5.3.2 - Taille Pour les objets: SCENE3D, BUTTON, EDIT, MEMO, COMBO, ALPHA, FORM, LIST, PICTURE, CHECK, OPTION, MOVIE, TRACK_BAR, SCROLL_BAR, PROGRESS_BAR WIDTH(N) Retourne la largeur de l'objet numéro N en pixels. HEIGHT(N) Retourne la hauteur de l'objet numéro N en pixels. Haut de page 5.3.3 - Sur un objet Liste: MEMO, COMBO, LIST, DLIST COUNT(N) Retourne le nombre de lignes (articles) de l'objet numéro N. ITEM_READ$(N, L) Retourne la ligne numéro L de l'objet numéro N. Haut de page 5.3.4 - Position du curseur: TRACK_BAR, SCROLL_BAR, PROGRESS_BAR POSITION(N) Retourne la position du curseur de l'objet numéro N. Haut de page 5.3.5 - Fichier choisi: OPEN_DIALOG, SAVE_DIALOG FILE_NAME$(N) Retourne le nom du fichier choisi par l'utilisateur de l'objet numéro N. Haut de page 5.3.6 - Etat: CHECK, OPTION CHECKED(N) Retourne l'état de l'objet numéro N. Haut de page 5.3.7 - Sélection d'une ligne: COMBO, LIST ITEM_INDEX$(N) Retourne la ligne sélectionnée de l'objet numéro N. ITEM_INDEX(N) Retourne le numéro de la ligne sélectionnée de l'objet numéro N. Haut de page 5.3.8 - Texte affiché: EDIT, MEMO, COMBO TEXT$(N) Retourne le texte de l'objet numéro N. Haut de page 5.3.9 – Click sur un objet (SCENE3D, BUTTON, EDIT, MEMO, COMBO, ALPHA, FORM, LIST, PICTURE, CHECK, OPTION, SUB_MENU) CLICKED(N) Retourne 1 si l'objet système numéro N a été cliqué, 0 sinon. Haut de page 6 - DESSIN 2D Dessin de points, de lignes, de polylignes (ensemble de segments), de cercles, de rectangles, sur un FORM ou un PICTURE "cible 2D", en utilisant des paramètres par défaut ou: - Une couleur définie par 2D_PEN_COLOR - Une épaisseur définie par 2D_PEN_WIDTH - Une couleur pour les surfaces internes (circle et rectangle) définie par 2D_FILL_COLOR Haut de page 6.1 - Caractéristiques du tracé 2D_PEN_COLOR R, G, B Définit la couleur de toutes les nouvelles lignes (par les composantes rouge, vert, bleu). 2D_PEN_WIDTH W Définit la largeur (W en pixels) de toutes les nouvelles lignes. Haut de page 6.2 - Caractéristique de la surface 2D_FILL_COLOR R, G, B Définit la couleur de toutes les nouvelles surfaces (par les composantes rouge, vert, bleu). Haut de page 6.3 - Points et lignes 2D_POINT X, Y Dessine le point (X, Y). 2D_POLY_FROM X, Y Définit la position actuelle (X, Y) du tracé. (premier point d'une poly-ligne) 2D_POLY_TO X, Y Dessine un segment de la position actuelle du tracé jusqu'au point (X, Y). (segment d'une poly-ligne) Le point (X, Y) devient la position actuelle pour une nouvelle commande 2D_POLY_TO. 2D_LINE X1, Y1, X2, Y2 Dessine la ligne du point (X1, Y1) au point (X2, Y2). Haut de page 6.4 - Figures 2D_CIRCLE X, Y, R Dessine un cercle de centre (X, Y) et de rayon R. 2D_RECTANGLE X1, Y1, X2, Y2 Dessine un rectangle entre 2 points différents (X1, Y1) et (X2, Y2). Haut de page 6.5 - Effacer 2D_CLEAR Efface tout les dessins de l'objet "cible 2D". CLS Efface tout les dessins de l'objet "cible 2D" (comme 2D_CLEAR). Haut de page 7 - MONDE 3D (OBJET: SCENE3D) 7.1 - TRAITEMENT DE LA CAMÉRA 3D DANS UN SCENE3D Aussitôt qu'un SCENE3D est créé, il possède une caméra 3D placée en (0,0,5) et visant l'origine (0,0,0). La caméra 3D d'un scene3d est "l'oeil" de l'utilisateur observant le monde 3D. Il est possible de déplacer la caméra 3D et le point visé par cette caméra 3D. Haut de page 7.1.1 - Position de la caméra 3D CAM_X_POSITION X Positionne la caméra 3D en X. CAM_Y_POSITION Y Positionne la caméra 3D en Y. CAM_Z_POSITION Z Positionne la caméra 3D en Z. CAM_POSITION X, Y, Z Positionne la caméra 3D en X, Y, Z. Par défaut, la caméra 3D est en position (0,0,5) Haut de page 7.1.2 - Position du point visé POINT_X_POSITION X Positionne en X le point visé par la caméra 3D. POINT_Y_POSITION Y Positionne en Y le point visé par la caméra 3D. POINT_Z_POSITION Z Positionne en Z le point visé par la caméra 3D. POINT_POSITION X, Y, Z Positionne en X, Y, Z le point visé par la caméra 3D. Par défaut, la caméra 3D vise le point en (0,0,0) Haut de page 7.2 - TRAITEMENT DE LA LUMIÈRE 3D DANS UN SCENE3D Aussitôt qu'un SCENE3D est créé, il possède une lumière 3D placée en (0,0,5). Il est possible de déplacer la lumière 3D. 7.2.1 - position de la lumière 3D LIGHT_X_POSITION X Positionne la lumière 3D en X. LIGHT_Y_POSITION Y Positionne la lumière 3D en Y. LIGHT_Z_POSITION Z Positionne la lumière 3D en Z. LIGHT_POSITION X, Y, Z Positionne la lumière 3D en X, Y, Z. Par défaut, la lumière 3D est à la position de la caméra 3D: (0,0,5) Haut de page 7.3 - CRÉER UN OBJET 3D DANS UN SCENE3D À chaque objet 3D, un nombre N est associé. L'objet 3D est créé en (0,0,0) et sa couleur est grise. 3D_ACTOR N Crée un acteur (objet MD2). 3D_BOX N, Largeur, Hauteur, Profondeur Crée une boîte. 3D_CONE N,Hauteur, Rayon Crée un cône. 3D_CUBE N, Côté Crée un cube. 3D_CYLINDER N, Hauteur, Rayon_Haut, Rayon_Bas Crée un cylindre. 3D_DODECAHEDRON N Crée un dodecahedre. 3D_LINE N Crée une ligne 3D. 3D_MESH N Créez un objet maillé (objet 3DS). 3D_SPHERE N, Rayon Crée une sphère. 3D_TEAPOT N Crée une théière. 3D_TEXT N, String$ Crée un texte 3D. 3D_TORUS N, Rayon_Externe, Rayon_Interne Crée un tore. N = numéro d'objet 3D créé Haut de page 7.4 - COMMANDES SUR UN OBJET 3D (DANS UN SCENE3D) Pour toutes les commandes, N est le numéro de l'objet 3D. 7.4.1 - Supprimer 3D_DELETE N Supprime l'objet 3D numéro N. 3D_DELETE_ALL Supprime tous les objets 3D. Haut de page 7.4.2 - Visualiser ou cacher 3D_SHOW N Visualise l'objet 3D numéro N. 3D_HIDE N Cache l'objet 3D numéro N. Haut de page 7.4.3 - Positionner 3D_X_POSITION N, X Positionne en X l'objet 3D numéro N. 3D_Y_POSITION N, Y Positionne en Y l'objet 3D numéro N. 3D_Z_POSITION N, Z Positionne en Z l'objet 3D numéro N. Haut de page 7.4.4 - Rotation 3D_X_ROTATE N, AX Fait tourner l'objet 3D numéro N d'un angle de AX degrés autour de son propre axe des X. 3D_Y_ROTATE N, AY Fait tourner l'objet 3D numéro N d'un angle de AY degrés autour de son propre axe des Y. 3D_Z_ROTATE N, AZ Fait tourner l'objet 3D numéro N d'un angle de AZ degrés autour de son propre axe des Z. Les angles AX, AY, AZ sont en degrés. Haut de page 7.4.5 - Redimensionner 3D_X_SCALE N, CX Redimensionne l'objet 3D numéro N sur son propre axe des X d'un coefficient CX. 3D_Y_SCALE N, CY Redimensionne l'objet 3D numéro N sur son propre axe des Y d'un coefficient CY. 3D_Z_SCALE N, CZ Redimensionne l'objet 3D numéro N sur son propre axe des Z d'un coefficient CZ. Dilatation si Cn > 1, contraction si Cn < 1 Haut de page 7.4.6 - Couleur 3D_COLOR N, R, G, B 0 < = R < = 255 (rouge) 0 < = G < = 255 (vert) 0 < = B < = 255 (bleu) Haut de page L'objet 3D numéro N prend la couleur définie par les couleurs de base R, G, B. 7.4.7 - Texture 3D_LOAD_TEXTURE N, F L'objet 3D numéro N prend la texture "BMP" du fichier F. Haut de page 7.4.8 - Charger une structure 3D_LOAD_OBJECT N, F Une structure "MD2" ou "3DS" du fichier F est chargée dans l'objet 3D numéro N (3D_ACTOR ou 3D_MESH). Haut de page 7.4.9 - Changer le texte Pour changer le texte visualisé dans l'objet 3D. 3D_TEXT_CHANGE N, A$ Le 3D_TEXT numéro N visualise maintenant A$. Haut de page 7.4.10 - Changer l'épaisseur Pour modifier l'épaisseur d'une ligne 3D. 3D_LINE_WIDTH N, W Définit l'épaisseur W en pixels du 3D_LINE numéro N. Haut de page 7.4.11 - Chaîner Pour lier les mouvements d'un objet 3D à un autre objet 3D. 3D_CHAIN N, P Chaîne l'objet 3D numéro N à l'objet 3D numéro P: les mouvements de l'objet numéro P sont liés à ceux de l'objet numéro N. 3D_CHAIN_BREAK N, P Rompt le chaînage entre les objets 3D numéro N et numéro P. Haut de page 7.4.12 - Transparence Pour rendre un objet 3D plus ou moins transparent. 3D_TRANSPARENT N, T Modifie la transparence de l'objet 3D numéro N. T va de 0 à 255 Si T=0, l'objet 3D est totalement opaque Si T=255, l'objet 3D est totalement transparent. Haut de page 7.4.13 - Mouvement Pour bouger un objet 3D dans sa direction de pointage. 3D_MOVE N, D Bouge l'objet 3D numéro N de la distance D dans sa direction de pointage. Si D>0, l'objet 3D avance Si D<0, l'objet 3D recule Haut de page 7.4.14 - Pointer un objet 3D Pour pointer un objet 3D. 3D_POINT N, P Pointe l'objet 3D numéro N vers l'objet 3D numéro P. Haut de page 7.5 - FONCTIONS D'UN OBJET 3D (DANS UN SCENE3D) Pour toutes les fonctions, N est le numéro de l'objet 3D. 7.5.1 - Position O3D_X_POSITION(N) Retourne la position en X de l'objet 3D numéro N. O3D_Y_POSITION(N) Retourne la position en Y de l'objet 3D numéro N. O3D_Z_POSITION(N) Retourne la position en Z de l'objet 3D numéro N. Haut de page 7.5.2 - Angles de rotation O3D_X_ROTATE(N) Retourne (en degrés) l'angle de rotation de l'objet 3D numéro N autour de son propre axe des X. O3D_Y_ROTATE(N) Retourne (en degrés) l'angle de rotation de l'objet 3D numéro N autour de son propre axe des Y. O3D_Z_ROTATE(N) Retourne (en degrés) l'angle de rotation de l'objet 3D numéro N autour de son propre axe des Z. Les angles retournés par les fonctions sont exprimés en degrés. Haut de page 7.5.3 - Coefficients d'échelle O3D_X_SCALE(N) Retourne le coefficient d'échelle de l'objet 3D numéro N sur son propre axe des X. O3D_Y_SCALE(N) Retourne le coefficient d'échelle de l'objet 3D numéro N sur son propre axe des Y. O3D_Z_SCALE(N) Retourne le coefficient d'échelle de l'objet 3D numéro N sur son propre axe des Z. Si la valeur retournée est > 1, il y a eu dilatation Si la valeur retournée est < 1, il y a eu contraction Si la valeur retournée est = 1, il n'y a eu aucune modification Haut de page 8 - LECTURE ET ÉCRITURE AVEC DES FICHIERS On peut utiliser: - des fichiers textes, qui sont des fichiers séquentiels (les données sont lues ou écrites les unes après les autres) et qui contiennent du texte et des indications de fin de ligne (séparations entre chaînes de caractères), - des fichiers binaires,qui sont des fichiers à accès directs (une donnée peut être lue ou écrite n'importe où) et qui contiennent n'importe quelle valeur. 8.1 - COMMANDES ET FONCTIONS SUR LES FICHIERS TEXTES Un fichier texte peut être ouvert pour la lecture ou pour l'écriture et peut être fermé. Lorsqu'un fichier est ouvert pour l'écriture, il est créé s'il n'existait pas. S'il existait, il est détruit puis recréé (son contenu est perdu). Pour écrire à la fin d'un fichier existant, il faut utiliser la commande FILE_OPEN_APPEND. Une ligne ou une partie de ligne peut être écrit ou lu. On peut aussi lire ou écrire un nombre déterminé de caractères. Il est possible de gérer 5 fichiers simultanément. FILE_OPEN_READ N, Nom_de_fichier Ouvre le fichier texte en lecture. FILE_OPEN_WRITE N, Nom_de_fichier Crée le fichier texte en écriture. FILE_OPEN_APPEND N, Nom_de_fichier Ouvre le fichier texte en écriture pour y écrire à la fin. FILE_CLOSE N Ferme le fichier texte numéro N. FILE_READ N, V$ Lit la variable V$ du fichier texte. FILE_READBUF N, V$, C Lit C caractères du fichier texte et les met dans la variable V$. FILE_READLN N, V$ Lit la ligne V$ du fichier texte. FILE_WRITE N, V$ Écrit V$ dans le fichier texte. FILE_WRITEBUF N, E, C Écrit C caractères du string E dans le fichier texte. FILE_WRITELN N, V$ Écrit V$ puis un code "ligne suivante" dans le fichier texte. FILE_EOF(N) Retourne 1 si la fin du fichier est atteinte, 0 sinon. N = numéro de fichier Haut de page 8.2 - COMMANDES ET FONCTIONS SUR LES FICHIERS BINAIRES Un fichier binaire peut être ouvert pour la lecture ou pour l'écriture et peut être fermé. Un octet est lu ou écrit à la fois et un octet peut être lu ou écrit à n'importe quelle position. Il est possible de modifier le pointeur courant par la commande FILEBIN_POSITION et de le lire par la fonction FILEBIN_POS. Il est possible de gérer 5 fichiers simultanément. FILEBIN_OPEN_READ N, Nom_de_fichier Ouvre le fichier binaire en lecture. FILEBIN_OPEN_WRITE N, Nom_de_fichier Ouvre le fichier binaire en écriture. FILEBIN_CLOSE N Ferme le fichier binaire numéro N. FILEBIN_READ N, V Lit un octet du fichier binaire et place la valeur dans la variable V. FILEBIN_WRITE N, V Ecrit un octet dans le fichier binaire. FILEBIN_POSITION N, P Modifie la position courante P du fichier binaire numéro N. FILEBIN_POS(N) Retourne la position courante dans le fichier binaire numéro N. FILEBIN_SIZE(N) Retourne le nombre d'octets (taille) du fichier binaire numéro N. N = numéro de fichier Haut de page 9 - GESTION DES FICHIERS Un fichier peut être renommé ou supprimé. Son existence peut être testée. FILE_EXISTS(Nom) Retourne 1 si le fichier "Nom" existe, 0 sinon. FILE_DELETE Nom Supprime le fichier "Nom". FILE_RENAME Nom1, Nom2 Renomme le fichier "Nom1" en "Nom2". Haut de page 10 - GESTION DES SPRITES Un SPRITE est une image qui peut se déplacer sur l'image de fond d'un SCENE2D sans le perturber. Un SPRITE doit être créé. Quand il existe, il peut alors recevoir une image (au format BMP), être déplacé en X ou en Y, ou en même temps en X et Y, caché, visualisé à nouveau, détruit. Pour toutes les commandes suivantes, N est le numéro du SPRITE. Haut de page 10.1 - Créer SPRITE N Crée le SPRITE numéro N dans le SCENE2D "cible" Le SCENE2D "cible" est l'objet système qui visualise des SPRITEs. C'est: - le seul SCENE2D existant dans le cas où il n'y a qu'un seul SCENE2D, - le premier SCENE2D créé dans le cas où il y a plusieurs SCENE2Ds et qu'aucun n'a été désigné comme "cible", - le SCENE2D qui a été désigné comme "cible" par une commande SPRITE_TARGET_IS dans le cas où il y a plusieurs SCENE2D. Haut de page 10.2 - Charger une image SPRITE_FILE_LOAD N, F Charge dans le SPRITE numéro N l'image (BMP) contenue dans le fichier F Le fichier F est défini soit par un chemin absolu, soit en relatif au répertoire courant. Haut de page 10.3 - Supprimer SPRITE_DELETE N Supprime le SPRITE numéro N. Haut de page 10.4 - Visualiser ou cacher SPRITE_SHOW N Visualise le SPRITE numéro N. SPRITE_HIDE N Cache le SPRITE numéro N. L'état par défaut d'un SPRITE à sa création est: visible. Haut de page 10.5 - Positionner SPRITE_X_POSITION N, X Positionne en X le SPRITE numéro N. SPRITE_Y_POSITION N, Y Positionne en Y le SPRITE numéro N. SPRITE_POSITION N, X, Y Positionne en X et Y le SPRITE numéro N. La position d'un SPRITE est celle du coin supérieur gauche de son image, elle est exprimée en pixels. Les coordonnées X et Y sont situées sur le SCENE2D auquel le SPRITE appartient, et sont des coordonnées "écran": - l'origine (0,0) est le coin supérieur gauche du SCENE2D - l'axe des X est un axe horizontal partant de l'origine: X devient de plus en plus positif lorsqu'on se déplace vers la droite - l'axe des Y est un axe vertical partant de l'origine: Y devient de plus en plus positif lorsqu'on se déplace vers le bas Haut de page 11 - GESTION DES RÉPERTOIRES Un répertoire peut être créé. L'existence d'un répertoire peut être testée. Le répertoire courant peut être changé et son nom est disponible dans une variable système. DIR_EXISTS(Nom) Retourne 1 si le répertoire "Nom" existe, 0 sinon. DIR_CURRENT$ Retourne le nom du répertoire courant. DIR_CHANGE Nom "Nom" devient le répertoire courant. DIR_MAKE Nom Le répertoire "Nom" est créé. FILE_FIND_FIRST$ Retourne le nom du premier fichier du répertoire courant et commence une recherche de nom de fichiers. FILE_FIND_NEXT$ Retourne le nom du fichier suivant du répertoire courant. FILE_FIND_CLOSE Termine la recherche des noms de fichiers avec FILE_FIND_FIRST$ et FILE_FIND_FIRST$ et libère la ressource. Haut de page 12 - GESTION D'EXCEL Excel peut être lancé, arrêté. (Excel est un logiciel Microsoft protégé par le droit d'auteur). Une nouvelle feuille (fichier) peut être créé. Il est possible de lire ou écrire dans n'importe quelle cellule d'un fichier. Il est possible d'ouvrir plusieurs feuilles (fichiers) par la commande EXCEL_FILE_NEW. EXCEL_START Démarre Microsoft Excel (si installé sur le système). EXCEL_STOP Arrête Microsoft Excel. EXCEL_FILE_NEW N Crée un nouveau fichier Excel numéro N (crée une nouvelle feuille). EXCEL_WRITE Cellule, T Écrit T dans une cellule Excel. EXCEL_READ$ (Cellule) Retourne le contenu d'une cellule Excel. Haut de page 13 - POSITION DE SOURIS ET ÉVÉNEMENTS DE SOURIS Pour connaître en temps réel la position de curseur de la souris sur un objet système et l'état des touches. La position origine (X=0, Y=0) est la position du coin supérieur gauche de l'objet. L'objet utilisé est un SCENE3D ou un PICTURE (aucune commande sur un objet d'un autre type). Ces mots-clés sont conçus pour développer beaucoup de jeux 2D et 3D ! MOUSE_X_POSITION(N) Retourne la position en X de la souris sur l'objet numéro N. MOUSE_Y_POSITION(N) Retourne la position en Y de la souris sur l'objet numéro N. MOUSE_RIGHT_DOWN(N) Retourne 1 si le bouton droit de la souris est enfoncé sur l'objet numéro N, 0 sinon, puis remet cette valeur à 0. MOUSE_LEFT_DOWN(N) Retourne 1 si le bouton gauche de la souris est enfoncé sur l'objet numéro N, 0 sinon, puis remet cette valeur à 0. MOUSE_RIGHT_UP(N) Retourne 1 si le bouton droit de la souris est relaché sur l'objet numéro N, 0 sinon, puis remet cette valeur à 0. MOUSE_LEFT_UP(N) Retourne 1 si le bouton gauche de la souris est relaché sur l'objet numéro N, 0 sinon, puis remet cette valeur à 0. MOUSE_X_RIGHT_DOWN(N) Retourne la position en X de la souris quand le bouton droit de la souris est enfoncé sur l'objet numéro N. Sans objet si MOUSE_RIGHT_DOWN(N) vaut 0. MOUSE_Y_RIGHT_DOWN(N) Retourne la position en Y de la souris quand le bouton droit de la souris est enfoncé sur l'objet numéro N. Sans objet si MOUSE_RIGHT_DOWN(N) vaut 0. MOUSE_X_LEFT_DOWN(N) Retourne la position en X de la souris quand le bouton gauche de la souris est enfoncé sur l'objet numéro N. Sans objet si MOUSE_LEFT_DOWN(N) vaut 0. MOUSE_Y_LEFT_DOWN(N) Retourne la position en Y de la souris quand le bouton gauche de la souris est enfoncé sur l'objet numéro N. Sans objet si MOUSE_LEFT_DOWN(N) vaut 0. MOUSE_X_RIGHT_UP(N) Retourne la position en X de la souris quand le bouton droit de la souris est relaché sur l'objet numéro N. Sans objet si MOUSE_RIGHT_UP(N) vaut 0. MOUSE_Y_RIGHT_UP(N) Retourne la position en Y de la souris quand le bouton droit de la souris est relaché sur l'objet numéro N. Sans objet si MOUSE_RIGHT_UP(N) vaut 0. MOUSE_X_LEFT_UP(N) Retourne la position en X de la souris quand le bouton gauche de la souris est relaché sur l'objet numéro N. Sans objet si MOUSE_LEFT_UP(N) vaut 0. MOUSE_Y_LEFT_UP(N) Retourne la position en Y de la souris quand le bouton gauche de la souris est relaché sur l'objet numéro N. Sans objet si MOUSE_LEFT_UP(N) vaut 0. Haut de page 14 - FENÊTRE MESSAGE Pour visualiser un texte dans une fenêtre à valider. Remarque : le programme est arrêté pendant l'affichage de la fenêtre (il attend la réponse) et reprend aussitôt que l'utilisateur valide le message. MESSAGE T Visualise la ligne de texte T dans une fenêtre. Haut de page 15 - EXÉCUTER UN PROGRAMME EXTERNE Il est possible d'exécuter un programme externe en lui passant des paramètres. EXECUTE "c:\MonPrg.exe" Execute le programme "c:\MonPrg.exe". EXECUTE "c:\MonPrg.exe 30 5" Execute le programme "c:\MonPrg.exe" et lui passe les paramètres 30 et 5. Haut de page 16 - RÉCEPTION DES PARAMÈTRES PASSÉS Pour utiliser les paramètres passés lors de l'appel de l'exécutable (EXE): PARAM_NUMBER Variable système qui retourne le nombre de paramètres passés lors de l'appel. PARAM_VALUE$(N) Retourne la valeur du Nème paramètre passé lors de l'appel. Haut de page 17 - NOTES INDIVIDUELLES EN MIDI Pour jouer des notes individuelles sur la carte son, il faut d'abord allouer des ressources par MIDI_ON. Les notes sont jouées par MIDI_PLAY. Le volume peut être modifié par MIDI_VOLUME. Quand les notes ont été jouées, on libère les ressources par MIDI_OFF : MIDI_ON Démarre l'utilisation individuelle des notes sur la sortie MIDI. MIDI_PLAY N, T Joue la note N de type T sur la sortie MIDI. MIDI_VOLUME V Modifie le volume des notes jouées sur la sortie MIDI. MIDI_OFF Arrête l'utilisation individuelle des notes sur la sortie MIDI. Dans la commande MIDI_PLAY N, T N représente la note avec la convention MIDI ( 60 = Do, 62 = Ré, ...) et T représente sa duréeT est la durée de la note, de 0 à 11, définie comme suit: T Note Durée en millisecondes 0 ronde 4000 1 ronde pointée 6000 2 blanche 2000 3 blanche pointée 3000 4 noire 1000 5 noire pointée 1500 6 croche pointée 500 7 ronde pointée 750 8 double croche 250 9 double croche pointée 375 10 triple croche 125 11 triple croche pointée 188 to the top 18 - APPEL D'UNE FONCTION DE DLL Pour appeler une fonction contenue dans une DLL (Dynamic Link Library c'est à dire "bibliothèque de liens dynamiques"), il faut d'abord charger la DLL en mémoire par DLL_ON. Les appels de fonctions se font par des commandes DLL_CALLn, n étant le nombre de paramètres. Quand la DLL n'est plus utile, la place qu'elle occupait en mémoire peut être libérée par DLL_OFF. DLL_ON D Chargement en mémoire de la DLL D. DLL_CALL0(F) Retourne la valeur fournie par la fonction F, appelée sans aucun paramètre. DLL_CALL1(F, P1) Retourne la valeur fournie par la fonction F, appelée avec 1 paramètre. DLL_CALL2(F, P1, P2) Retourne la valeur fournie par la fonction F, appelée avec 2 paramètres. DLL_CALL3(F, P1, P2, P3) Retourne la valeur fournie par la fonction F, appelée avec 3 paramètres. DLL_CALL4(F, P1, P2, P3, P4) Retourne la valeur fournie par la fonction F, appelée avec 4 paramètres. DLL_CALL5(F, P1, P2, P3, P4, P5) Retourne la valeur fournie par la fonction F, appelée avec 5 paramètres. DLL_CALL6(F, P1, P2, P3, P4, P5, P6) Retourne la valeur fournie par la fonction F, appelée avec 6 paramètres. DLL_OFF Libère la mémoire. Pour certaines fonctions il peut être utile de passer en paramètre l'adresse d'une variable ou le handle d'un objet système: ADR(V) Retourne l'adresse de la variable V. HANDLE(N) Retourne le handle de l'objet système numéro N. HANDLE_CANVAS(N) Retourne le handle de la zone graphique de l'objet système numéro N. Haut de page 19 - UTILISER LE PORT PARALLÈLE D'ENTRÉES-SORTIES Pour utiliser la prise imprimante comme moyen d'entrée-sortie. Toute séquence d'utilisation du port parallèle doit commencer par la commande PARALLEL_ON et se terminer par PARALLEL_OFF. La DLL inpout.dll est nécessaire. En général, le port parallèle a ses sorties en 888 et ses entrées en 890. PARALLEL_ON Début d'une séquence d'utilisation du port parallèle. PARALLEL_OUT N, V Envoie la valeur V sur le port parallèle N. PARALLEL_INP(N) Retourne la valeur lue sur le port parallèle N. PARALLEL_OFF Fin d'une séquence d'utilisation du port parallèle. Haut de page 20 - CRÉER DES FICHIERS EXÉCUTABLES AUTONOMES Fichier / Exécutable (exe): crée un fichier exécutable autonome (.EXE) Fichier / Application (exe): crée un fichier exécutable autonome (.EXE) contenant vos fichiers TXT et BMP (application) Pour utiliser de tels fichiers, il n'est pas nécessaire de posséder PANORAMIC. Vous pouvez distribuer librement vos propres fichiers exécutables autonomes sans aucune redevance. Haut de page 21 - VERSION FREEWARE (GRATUICIEL) Dans cette version freeware de PANORAMIC, toutes les fonctionnalités sont actives, mais il y a quelques limitations: Nombre d'objets système 35 Nombre d'objets 3D 25 Nombre d'objets SPRITE 20 Nombre de variables utilisateur 40 Nombre de labels 40 Nombre de IF / END_IF 40 Nombre de FOR / NEXT 40 Nombre de WHILE / END_WHILE 40 Nombre de REPEAT / UNTIL 40 Taille maximale de tableau de variable 200 Nombre de fichiers texte ouverts simultanément 5 Nombre de fichiers EXCEL utilisés simultanément 2 Profondeur de GOSUB emboîtés 5 Nombre de dimensions d'un tableau 2 Haut de page Dernière mise à jour: 24 avril 2009