@DATABASE "AmiCAD"
@Index INDEXNODE
@$VER : version 1.00 (18 janvier 1998)
@AUTHOR "FLORAC Roland"
@NODE "MAIN" "Sommaire"
	       ------------------------------------
	       AmiCAD Version 1.00  18 janvier 1998
	       ------------------------------------




    @{"DISTRIBUTION           " LINK "Distribution"}           @{"PRÉSENTATION, EXIGENCES" LINK "Présentation"}
    @{"INSTALLATION           " LINK "Installation"}           @{"LANCEMENT              " LINK "Lancement"}

    @{"LES MENUS              " LINK "Menus"}           @{"Commandes clavier      " LINK "Commandes clavier"}

			  Commandes ARexx
    @{"Liste alphabétique     " LINK "Fonctions"}           @{"Les nombres            " LINK "Nombres"}
    @{"Liste thématique       " LINK "Index thématique"}           @{"Chaînes de caractères  " LINK "Chaînes de caractères"}

    @{"BUGS (?)               " LINK "Bugs"}           @{"Historique             " LINK "Historique"}
    @{"AMÉLIORATIONS futures  " LINK "Améliorations"}           @{"L'auteur               " LINK "Auteur"}

    @{"HELP!                  " LINK "Aidez-moi"}
@ENDNODE
@NODE "Distribution" "Distribution"
@TOC "MAIN"

	Le programme AmiCAD a été conçu et écrit par R.Florac. Il est
    donc sous Copyright R.Florac, il n'appartient pas au domaine public.

	Ce programme est giftware/emailware. Son utilisation @{b}personnelle@{ub}
    est libre.	Cependant son utilisation commerciale ou professionnelle
    est interdite sans mon accord.  Envoyez-moi vos suggestions quand  à
    l'amélioration du programme ainsi que les éventuels rapports de bugs.

    Vous pouvez m'envoyer vos couriers électroniques à l'adresse:
	Roland.Florac@wanadoo.fr

	La distribution de ce programme est interdite sans autorisation,
    Aminet, seul, peut le distribuer sur son réseau et ses CD.
@ENDNODE
@NODE "Présentation" "Présentation, exigences"

	AmiCAD est un programme  écrit en  langage C  (SAS C Compiler 6.58),
    avec aussi un peu d'assembleur (Devpac 3.14).

	Le programme ne fonctionne que sous système 3.0 au moins, avec un
    processeur 68020 ou mieux.

	C'est un éditeur de schémas vectoriel. Cependant il ne travaille
    qu'avec des nombres entiers, pour plus de rapidité (et surtout une
    plus grande simplicité...). Il possède une interface ARexx, avec
    environ 120 commandes, avec la possibilité de définir ses propres
    fonctions et d'utiliser des variables. D'autre part certaines fonctions
    font appel à la bibliothèque @{"bgui.library" LINK BGUI} version 39 ou plus.
    Celle-ci n'est pas distribuée avec le logiciel, vous pouvez vous la procurer
    dans le domaine public (site ou CR-ROM Aminet par exemple). Cependant
    le programme peut parfaitement fonctionner sans elle (seule la
    sélection des composants dans les bibliothèques sera plus difficile).

    Il utilise aussi la bibliothèque ConfigFile.library, pour la sauvegarde
    et la lecture des préférences (même origine que la précédente).

	Ce programme permet de travailler sur un nombre de fenêtres
    théoriquement illimité (sauf par la mémoire disponible !). Vous
    pouvez bénéficier des fonctions avancées du système 3.0: @{"AppIcon" LINK AppIcon},
    @{"Pools" LINK Pools}...
@ENDNODE
@NODE "Installation" "Installation"

	Le programme peut être copié dans tout répertoire, à votre
    convenance, sous réserve qu'il y ait assez de place libre.
	Les fichiers de configuration Configuration.AmiCAD et AmiCAD.keys
    doivent être copiés dans le même répertoire que le programme AmiCAD.
	Les fichiers contenant les symboles utilisés pour dessiner
    les schémas peuvent être copiés dans le même répertoire que le
    programme AmiCAD.
	Le fichier @{"d'aide" LINK "Aide en ligne"} AmiCAD.guide peut être copié dans tout
    emplacement à votre convenance, vous devrez cependant situer
    ce fichier à l'aide du tooltype @{"HELPFILE" LINK "HELPFILE"} de l'icône du programme
    si vous voulez bénéficier de l'aide en ligne.

    ATTENTION: le programme, pour fonctionner, fait appel aux ROM 3.0,
    son fonctionnement est impossible avec une version du système
    antérieure.
@ENDNODE
@NODE "Lancement" "Lancement du programme / ToolTypes"

	La taille de la pile courante du CLI (ou du Shell) peut être fixée
    à 4 ko (suffisant).
	AmiCAD peut être lancé depuis le CLI ou le Workbench (en cliquant
    deux fois sur son icône).

    @{b}Lancement depuis le CLI@{ub}
	    Le modèle est le suivant:
		AmiCAD FILE/M,HELPFILE/K,LIBS/K,CLIPS/K,STARTUP/K,MACRO/K
	    L'insertion de "run", permettant de rendre la main au Shell de
	suite, est inutile, le programme se détachant lui-même du Shell.
	    Les jokers AmigaDOS sont acceptés :
	    AmiCAD #?.schéma   ==> tous les fichiers comportant l'extension
	".schéma" seront chargés chacun dans une fenêtre (à condition qu'il y
	ait suffisamment de mémoire bien sûr).
	    Vous pouvez bien sûr lancer le programme sans spécifier de
	nom de fichier (le nom "Innomé" sera alors utilisé par défaut).

	    Le mot-clé HELPFILE permet de spécifier où est situé le fichier
	d'aide:
	    Exemple: AmiCAD HELPFILE HELP:AmiCAD.guide

	    Le mot-clé LIBS permet de spécifier où sont situées les bibliothèques
	de symboles:
	    Exemple: AmiCAD LIBS Work:AmiCAD/Symboles

	    Le mot-clé CLIPS permet de spécifier où sont situés les clips:
	    Exemple: AmiCAD CLIPS Work:AmiCAD/Clips

	    Le mot-clé STARTUP permet de spécifier un script ARexx à exécuter
	aussitôt après le lancement du programme.
	    Exemple: AmiCAD STARTUP démarrage.AmiCAD

	    Le mot-clé MACRO permet de spécifier une commande qui sera exécutée
	lors du démarrage du programme.
	    Exemple: AmiCAD MACRO=LOADPREF("Config2")

	    Bien sûr tous ces mots-clé peuvent être combinés lors du même appel
	du programme.
	    Exemples:
		AmiCAD HELPFILE HELP:AmiCAD.guide LIBS Work:AmiCAD/Symboles Schéma_essai

    @{b}Lancement depuis le Workbench@{ub}
	    Il suffit de cliquer deux fois sur l'icône du programme ou
	sur celle d'un fichier possédant le nom du programme dans son champ
	TOOL-TYPES. Dans le premier cas vous pouvez utiliser la touche
	SHIFT pour sélectionner autant de fichiers que vous le désirez
	avant de cliquer sur l'icône du programme.

	    L'icône du programme admet trois types d'outils:
	- le type @{" WINDOW " LINK "OUTIL WINDOW"},
	- le type @{"HELPFILE" LINK HELPFILE},
	- le type @{"STARTUP " LINK STARTUP},
	- le type @{"  LIBS  " LINK LIBS},
	- le type @{"  MACRO " LINK MACROS},
	- le type @{"  CLIPS " LINK CLIPS},
	- le type @{" X_ICON " LINK X_ICON},
	- le type @{" Y_ICON " LINK Y_ICON}.
	    Utilisez le menu Information du Workbench pour modifier
	ces types d'outils.

	À noter que les requêtes qui apparaissent pour signaler un défaut
    ou une action peuvent être acquittées en cliquant sur le gadget VU à l'aide
    de la souris ou en frappant n'importe quelle touche au clavier (pratique...)
    ou même à l'aide du bouton droit de la souris.
    De même les boîtes de requêtes proposant un choix (OUI ou NON) peuvent
    être acquittées de façon classique, à l'aide de la souris, ou bien à l'aide
    du clavier (ENTER ou RETURN pour OUI, ESC pour NON)...

    La barre de titre des fenêtres de texte comportent certaines indications:
	- le nom complet du fichier associé au schéma,
	- la mention " (modifié)" si le schéma a été modifié et n'a pas été sauvé,
	- une parenthèse (,
	- l'abcisse du curseur,
	- un espace,
	- l'ordonnée du curseur,
	- une parenthèse ).

    Les fenêtres possèdent deux ascenseurs: un ascenseur vertical pour faire
    défiler le schéma, ligne par ligne, l'ascenseur horizontal permet de
    le faire défiler colonne par colonne. Quatre petits boutons permettent
    un défilement plus précis (flèches en bas à droite des fenêtres).
    À noter que les fenêtres peuvent être @{"réduites" LINK "Réduire fenêtre"} ("icônifiées"), elles
    perdent alors tous ces boutons, y compris ceux permettant leur fermeture,
    leur changement de plan ou leur changement de taille (zoom).
@ENDNODE
@NODE "HELPFILE" "Type d'outil HELPFILE"
@TOC "Lancement"

	Ce type d'outil permet de déterminer où se situe le fichier
	@{"d'aide" LINK "Aide en ligne"}. Il doit être suivi du signe = puis du nom du fichier
	d'aide, avec son chemin complet. Vous pouvez ainsi placer ce
	fichier où vous le désirez, et même le renommer (cependant non
	conseillé !) puisque vous devez donner le nom complet du fichier.

	Exemple:
	    HELPFILE=HELP:AmiCAD.guide
@ENDNODE
@NODE "OUTIL WINDOW" "Type d'outil WINDOW"
@TOC "Lancement"

	Ce type d'outil permet de spécifier les dimensions de la fenêtre
	ouverte lors du démarrage du programme. Le mot WINDOW doit être
	suivi du signe = puis des coordonnées du coin supérieur gauche
	de la fenêtre et de sa largeur puis de sa hauteur. Il ne doit
	pas y avoir d'espaces entre les données.

	À noter : si vous chargez un fichier, les dimensions de la fenêtre
	seront modifiées pour prendre celles qui ont été mémorisées dans
	le fichier, lors de l'opération de sauvegarde.

	Exemple:
	    WINDOW=0,1,1000,500     fixe l'emplacement de la fenêtre en haut
				    à gauche de l'écran (il reste une ligne
				    libre en haut pour descendre l'écran du
				    Workbench). La largeur, fixée à 1000,
				    prendra la largeur maximale admissible
				    par l'écran du Workbench (640 pixels ou
				    plus...) et la hauteur est fixée à 500
				    pixels (également si possible).
@ENDNODE
@NODE "STARTUP" "Type d'outil STARTUP"
@TOC "Lancement"

	Ce type d'outil permet de lancer l'exécution d'un @{"script ARexx" LINK "Script"}
	dès le démarrage du programme, ceci vous permet par exemple de
	@{"définir" LINK "DEF"} automatiquement les fonctions que vous souhaitez.
	Vous pouvez également y inclure les macros que vous souhaitez associer
	à certaines touches du clavier (voir fonction @{"MAP" LINK "MAP"}).

	Ce type doit être suivi du signe = puis du nom du script avec ou sans
	l'extension amiCAD.

	Exemples:
	    STARTUP=REXX:startup.amiCAD
	    STARTUP=démarrage
@ENDNODE
@NODE "LIBS" "Type d'outil LIBS"
@TOC "Lancement"

	Ce type d'outil permet de spécifier l'emplacement (le chemin)
	des bibliothèques de symboles. Par défaut, ce chemin est celui
	du répertoire nommé "Bibliothèques", situé dans le chemin courant
	du programme.

	Exemples:
	    LIBS=Work:AmiCAD/Symboles
	    LIBS=Symboles

	Voir aussi : @{"LIBSPATH" LINK LIBSPATH}
@ENDNODE
@NODE "CLIPS" "Type d'outil CLIPS"
@TOC "Lancement"

	Ce type d'outil permet de spécifier l'emplacement (le chemin)
	des clips définis par l'utilisateur. Par défaut, ce chemin est
	celui du répertoire nommé "Clips", situé dans le chemin courant
	du programme.

	Exemples:
	    CLIPS=Work:AmiCAD/Clips
	    CLIPS=Symboles_utilisateur

	Voir aussi : @{"CLIPPATH" LINK CLIPPATH}
@ENDNODE
@NODE "MACROS" "Type d'outil MACRO"
@TOC "Lancement"

	Cet outil permet de spécifier une commande qui sera exécutée lors
	du démarrage du programme. Toutes les commandes ARexx peuvent être
	utilisées, plusieurs commandes peuvent se suivre, en les séparant
	par deux points.

	Exemple:
	    MACRO=LOADPREF("Configuration2"):LOADLIB("Symboles spéciaux")
@ENDNODE
@NODE "X_ICON" "Type d'outil X_ICON"
@TOC "Lancement"

	Ce type d'outil permet de déterminer l'abcisse des coordonnées
	d'affichage de l'icône du programme sur l'écran du Workbench.
	Il suffit d'ajouter la ligne X_ICON=10 pour que l'icône soit
	affichée à gauche de l'écran du Workbench.
@ENDNODE
@NODE "Y_ICON" "Type d'outil Y_ICON"
@TOC "Lancement"

	Ce type d'outil permet de déterminer l'ordonnée des coordonnées
	d'affichage de l'icône du programme sur l'écran du Workbench.
	Il suffit d'ajouter la ligne Y_ICON=500 pour que l'icône soit
	affichée en bas de l'écran du Workbench.
@ENDNODE
@NODE "Menus" "Les menus"
@TOC Main

	Le programme AmiCAD possède 5 menus, pouvant être sélectionnés
    de façon classique, à l'aide du bouton droit de la souris.

	@{"Menu Projet     " LINK Project}
	@{"Menu Dessin     " LINK Drawing}
	@{"Menu Édition    " LINK Edit}
	@{"Menu Macros     " LINK Macros}
	@{"Menu Préférences" LINK Preferences}

	À noter que la plupart de ces menus peuvent être appelés en
	utilisant la fonction @{"MENU" LINK MENU}.
@ENDNODE
@NODE "Project" "Menu Projet"
@TOC Menus

    Ce menu possède 16 entrées:
	@{"Charger          " LINK "Load file"}     Charge un schéma dans la fenêtre active.
	@{"Sauver           " LINK "Save file"}     Sauve le schéma dans le fichier courant.
	@{"Sauver en        " LINK "Save as"}     Sauve le schéma en spécifiant un nom de fichier.
	@{"Sauver format IFF" LINK "Save IFF"}     Sauve le schéma dans un fichier au format IFF.
	@{"Renommer         " LINK "Rename"}     Pour renommer la fenêtre active.
	@{"Annoter fichier  " LINK "Filenote"}     Pour annoter un fichier.
	@{"Supprimer fichier" LINK "Kill file"}     Permet de supprimer un fichier.
	@{"Réduire fenêtre  " LINK "Iconify"}     Réduit la fenêtre active (icône).
	@{"Cacher fenêtre   " LINK "Hide"}     Ferme la fenêtre active, le texte reste en mémoire.
	@{"Autre fenêtre    " LINK "Other window F3"}      Ouvre une nouvelle fenêtre.
	@{"Initialiser      " LINK "Initialize"}     Vide la fenêtre courante.
	@{"Imprimer         " LINK "Print"}            Impression du texte contenu dans la fenêtre active
	@{"Informations     " LINK "Informations"}        Affiche quelques informations.
	@{"Textes           " LINK "Sheets"}              Donne la liste des textes actuels.
	@{"Aide             " LINK "Help?"}     Affiche une aide AmigaGuide.
	@{"Quitter          " LINK "Quit"}             Ferme tous les textes.
@ENDNODE
@NODE "Load file" "Menu Projet/Charger"
@TOC Project

    Ce menu permet de choisir le schéma à charger dans la fenêtre active.
    La boîte de requête de fichiers utilise la bibliothèque asl.library
    (celle-ci  est sur  disque).  À  noter  que celle-ci  n'est chargée
    que lors de l'appel d'une des fonctions qui en a besoin (Chargement,
    Sauver en...). La fenêtre prend le nom du fichier chargé.

    Si la fenêtre contenait un schéma, celui-ci est perdu, sauf s'il avait
    été modifié mais non sauvé: le programme vous offre alors le choix de
    continuer l'opération de chargement (l'ancien schéma est alors perdu)
    ou bien d'abandonner, vous permettant alors de le sauver.

	Raccourci clavier : AMIGA-O (open) ou O

    Nota: vous pouvez également utiliser les fonctions du système 3.0
    pour charger un fichier: voir @{"AppIcon" LINK "AppIcon"}.

	Voir aussi: fonctions @{"LOAD" LINK LOAD}, @{"OPEN" LINK OPEN}

	Appel ARexx: MENU("Charger")
@ENDNODE
@NODE "Save file" "Menu Projet/Sauver"
@TOC Project

    Permet de sauvegarder le schéma dans un fichier disque en utilisant
    le nom de la fenêtre.

	Raccourci clavier : AMIGA-S (sauver) ou S

	Voir aussi: fonction @{"SAVE" LINK SAVE}

	Appel ARexx: MENU("Sauver")
@ENDNODE
@NODE "Save as" "Menu Projet/Sauver en"
@TOC Project

    Ce menu permet de sauvegarder le texte en choisissant le fichier
    destination à l'aide d'une boîte de requête. Pour ce menu
    vous ne pouvez pas cliquer deux fois sur le nom d'un fichier pour
    le sélectionner (obligation d'utiliser le gadget VALIDE pour
    éviter les erreurs)

    Si le nom de fichier choisi correspond à un fichier déjà existant
    le programme vous demandera une confirmation avant de l'écraser.

	Raccourci clavier : AMIGA-A (save As) ou A

	Voir aussi: fonction @{"SAVE" LINK SAVE}

	Appel ARexx: MENU("Sauver en")      Attention: espace "solide"
					(ALT-ESPACE) entre Sauver et en.
@ENDNODE
@NODE "Save IFF" "Menu Projet/Sauver format IFF"
@TOC Project

    Ce menu permet de sauvegarder la fenêtre courante dans un
    fichier au format IFF, récupérable par un programme de dessin
    bitmap (Personal Paint, Deluxe Paint ou autre...).
    La sauvegarde se fait en monochrome (traits noirs sur fond blanc).
    La grille n'est pas incluse dans le fichier, même si elle
    est présente à l'écran lors de l'appel du menu.

    La sauvegarde d'un écran hors des standards Amiga (par exemple
    CyberGraphX) est impossible, du moins pour l'instant.

    Le choix du fichier destination est fait à l'aide de la requête
    de l'asl.library.

	Il n'y a pas de raccourci clavier pour ce menu.

	Voir aussi: fonction @{"SAVEIFF" LINK SAVEIFF}

	Appel ARexx: MENU("Sauver format")      Attention: espace "solide"
					(ALT-ESPACE) entre Sauver et format.
@ENDNODE
@NODE "Rename" "Menu Projet/Renommer"
@TOC Project

    Ce menu permet permet de renommer le fichier associé au schéma
    de la fenêtre en cours.
    Le choix s'effectue à l'aide d'une boîte de requête de fichier.

	Raccourci clavier : AMIGA-= ou =

	Voir aussi: fonction @{"FILENAME" LINK FILENAME}

	Appel ARexx: MENU("Renommer")
@ENDNODE
@NODE "Filenote" "Menu Projet/Annoter fichier"
@TOC Project

    Ce menu permet d'ajouter une note à un fichier choisi (effet
    analogue à celui de la commande FileNote du DOS).

    Cette note sera affichée lors de la commande List de l'AmigaDOS.

	Il n'y a pas de raccourci clavier pour ce menu.

	Appel ARexx: MENU("Annoter")
@ENDNODE
@NODE "Kill file" "Menu Projet/Supprimer fichier"
@TOC Project

    Ce menu permet, comme son nom l'indique, de supprimer un fichier...
    Le fichier est choisi à l'aide du requester (pas de double clic là
    non plus). Attention à ce que vous faites  (il faut plus  de temps
    pour créer un fichier que pour l'effacer...).

	Il n'y a pas de raccourci clavier pour ce menu (danger...).

	Appel ARexx: MENU("Supprimer fichier")      Attention: espace "solide"
					(ALT-ESPACE) entre Supprimer et fichier.
@ENDNODE
@NODE "Iconify" "Menu Projet/Réduire fenêtre"
@TOC Project

    Ce menu permet  de réduire les dimensions de la fenêtre active.
    Une petite fenêtre apparaît alors en haut de l'écran avec le nom du
    schéma seul.
    Vous pouvez sélectionner cette fenêtre puis utiliser le bouton droit
    de la souris ou frapper une  touche au clavier pour la faire revenir
    à son état initial. Cette fonction est bien utile quand on travaille
    sur de multiples fenêtres.

    Vous pouvez déplacer cette fenêtre à n'importe quel emplacement de votre
    choix, quand ce menu sera rappelée ultérieurement, cette petite
    fenêtre reprendra cette place.

    Pour fermer une fenêtre qui a été réduite sans la rouvrir, sélectionnez-la
    puis effectuez la combinaison CTRL-Q au clavier.

	Raccourci clavier : AMIGA-I (icône) I

	Appel ARexx: MENU("Réduire")
@ENDNODE
@NODE "Hide" "Menu Projet/Cacher fenêtre"
@TOC Project

    Ce menu permet de fermer la fenêtre active. Le schéma reste cependant
    en mémoire. Pour faire réapparaître cette fenêtre vous pouvez cliquer
    deux fois sur l'icône d'application du programme, située sur l'écran
    du Workbench, ou bien utiliser un double clic sur le bouton central de
    la souris, lequel vous permet d'afficher une liste de boutons contenant
    chacun le nom des diverses fenêtres présentes en mémoire.

	Raccourci clavier : AMIGA-$ ou $

	Appel ARexx: MENU("Cacher")
@ENDNODE
@NODE "Other window F3" "Menu Projet/Autre fenêtre"
@TOC Project

    Cette fonction permet l'ouverture d'une nouvelle fenêtre.
    Une requête de fichier permet de choisir le schéma à y charger (utilisez
    le gadget ANNULE si vous ne voulez rien y mettre, mais utilisez alors
    plutôt la touche F4, comme expliqué ci-dessous).

	Raccourci clavier : touche de fonction F3.
	La touche de fonction F4 permet la même chose mais sans provoquer
    l'ouverture de la requête de fichier.

    Une nouvelle fenêtre peut être ouverte, en tapant sur F3 ou F4, même à
    partir d'une fenêtre iconifiée (cette dernière ne sera pas réouverte).

	Voir aussi: fonctions @{"NEW" LINK NEW}, @{"OPEN" LINK OPEN}

	Appel ARexx: MENU("Autre")
@ENDNODE
@NODE "Initialize" "Menu Projet/Initialiser"
@TOC Project

    Ce menu sollicite la demande d'effacement du schéma présent dans la
    fenêtre (Attention...). Si le document a été modifié, vous pourrez
    cependant le sauver (répondre Oui à la seconde requête).

	Il n'y a pas de raccourci clavier pour ce menu.

	Appel ARexx: MENU("Nouveau")
@ENDNODE
@NODE "Print" "Menu Projet/Imprimer"
@TOC Project

    Ce menu permet d'envoyer le schéma à l'imprimante.
    Le programme utilise les Préférences sélectionnées par le système:
    pilote d'imprimante... Le schéma entier est imprimé.

    Il vous sera demandé le facteur d'agrandissement: si vous répondez 1
    un pixel à l'écran sera imprimé sur un point, si vous répondez 2, un
    pixel occupera deux points: le schéma sera alors deux foix plus grand.
    C'est à vous d'essayer pour trouver la meilleure échelle possible,
    selon la résolution de votre imprimante et les dimensions de votre
    schéma.
    ATTENTION: la valeur saisie doit être non nulle.

    Il vous sera ensuite demandé si vous voulez imprimer votre schéma
    avec ou sans rotation (Paysage ou Portrait) : ceci permet d'orienter
    le schéma dans le sens horizontal ou le sens vertical de la feuille.

    À noter que le programme crée une image du schéma en utilisant, le
    rapport d'agrandissement que vous avez spécifié, aussi il lui faut
    beaucoup de mémoire "chip", c'est pourquoi il icônifie les fenêtres
    pendant l'impression. Si un problème survient, diminuez ce rapport
    ou fermez le maximum de fenêtres et d'écrans alors ouverts.

	Raccourci clavier : AMIGA-P (Print) ou P

	Voir aussi: @{"PRINT" LINK "PRINT"}

	Appel ARexx: MENU("Imprimer")
@ENDNODE
@NODE "Informations" "Menu Projet/Informations"
@TOC Project

    Ce menu provoque l'affichage d'un certain nombre d'informations :
    copyright, nombre d'objets dans le schéma, nom du @{"port" LINK "Port"}
    ARexx, quantité de mémoire libre...

	Raccourci clavier : AMIGA-K ou K

	Appel ARexx: MENU("Informations")
@ENDNODE
@NODE "Sheets" "Menu Projet/Schémas"
@TOC Project

    Ce menu permet d'afficher dans une boîte le nom des différents schémas
    et de leur nombre d'objets (10 schémas au maximum). Le rang de la
    fenêtre (0 à 9) est affiché dans la colonne de gauche. Cette indication
    est très utile dans le cas où vous travaillez avec de multiples fenêtres:
    une touche ALT utilisée en conjonction avec l'une des touches
    0 à 9 du clavier numérique permet en effet de sélectionner la fenêtre
    correspondante. Ainsi la combinaison ALT-1 ramène la fenêtre de rang 1
    en avant-plan, celle-ci devenant la fenêtre active. Vous pouvez
    aussi faire défiler les fenêtres en utilisant les combinaisons ALT-+
    ou ALT-- (toujours en utilisant les touches + et - du clavier numérique).
    ALT-+ permet de passer à la fenêtre qui suit alors que ALT-- ramène la
    précédente. À noter l'indicateur + ou - signalant si le schéma a été modifié.

    Enfin une dernière possibilité permet de changer de texte sans utiliser le
    clavier: un double clic sur le @{b}bouton central@{ub} de la souris amène une boîte
    de requête sur la fenêtre de travail, la liste des schémas y figure (sans
    le chemin complet, seul figure le nom du fichier), il suffit alors de
    cliquer sur le bouton correspondant au nom du schéma souhaité pour ramener
    sa fenêtre en avant plan.

	Raccourci clavier : AMIGA-. ou ., double clic bouton central ou
			    combinaison ALT-N° fenêtre .

	Voir aussi: fonction @{"REQSHEET" LINK REQSHEET}.

	Appel ARexx: MENU("Schémas").
@ENDNODE
@NODE "Help?" "Menu Projet/Aide"
@TOC Project

    Ce menu permet d'obtenir une aide à l'aide du programme AmigaGuide.
    Vous devez pour cela spécifier le nom d'un "node" appartenant au fichier
    AmiCAD.guide. Ce fichier contient notamment des nodes pour chacunes des
    macros ARexx (Ex: COPY, PASTE...)
    À noter que vous pouvez également obtenir une aide à partir de chacune
    des entrées de menu en sélectionnant l'un de ces menus et en appuyant
    simultanément sur la touche HELP.

	Raccourci clavier: AMIGA-? ou ?

	Voir aussi: fonction @{"HELP" LINK HELP}.

	Appel ARexx: MENU("Aide")
@ENDNODE
@NODE "Quit" "Menu Projet/Quitter"
@TOC Project

    Ce menu permet de fermer toutes les fenêtres et de supprimer tous
    les schémas de la mémoire. Le programme quitte également en libérant
    la mémoire qui'il occupait.
    Si l'un des schémas a été modifié, une sauvegarde sera proposée.

	Raccourci clavier : AMIGA-Q (quitter)
			    Q (ne ferme que la fenêtre active)

	Voir aussi: fonction @{"CLOSE" LINK CLOSE}.

	Appel Arexx: MENU("Quitter")    Quitte sans demander de sauvegarde
@ENDNODE
@NODE "AppIcon" "Icône d'application AmiCAD"
@TOC MAIN

    Le concept d'AppIcon (Icône d'application) autorise le chargement
    d'un fichier de façon très simple, en une seule action, à l'aide
    de la souris. Comme décrit, dans l'introduction, le programme crée
    une icône qui apparaît sur l'écran du Workbench, lors de son
    @{"lancement" LINK "Lancement"}. Cette icône porte le nom d'AmiCAD.
    Il vous suffit de "saisir" une icône correspondant à un fichier
    schéma quelconque, à l'aide de la souris, et de la faire glisser
    sur cette icône pour que ce fichier soit chargé dans une nouvelle
    fenêtre.

    Cette icône possède également une autre fonction: en cliquant deux
    fois dessus rapidement, avec le bouton gauche, vous pouvez "réveiller"
    le programme si toutes les fenêtres sont cachées (la fenêtre active
    est réouverte), ou faire passer en avant-plan la fenêtre active si
    celle-ci est cachée. Cette action peut également permettre un
    déblocage éventuel, provoqué par une mauvaise utilisation de la
    fonction @{"LOCK" LINK "LOCK"} dans un @{"script" LINK "Script"} ARexx.
@ENDNODE
@NODE "Pools" "Gestion de la mémoire"
@TOC MAIN

    Les pools correspondent à un concept de gestion de la mémoire
    amélioré, permettant de ne pas trop fragmenter la mémoire. En
    effet chaque objet est mémorisé de façon dynamique, dans une
    zone mémoire qui est allouée au programme au fur et à mesure
    des besoins. Ceci a généralement pour conséquence de créer de
    nombreuses zones de mémoire libre et occupée, en alternance,
    dans la mémoire de votre Amiga. Grâce à ce concept, cet effet
    est beaucoup diminué, et surtout la vitesse est nettemment
    améliorée. Malheureusement ce concept exige l'utilisation du
    système 3.0 au moins.
@ENDNODE
@NODE "Drawing" "Menu Dessin"

    Ce menu possède 24 entrées:
	@{"Pas de la grille= 10    " LINK "Grid size"}
	@{"Aligner sur grille      " LINK "Snap on grid"}
	@{"Choisir composant       " LINK "Choose component"}
	@{"Placer composant        " LINK "Place component"}
	@{"Placer référence        " LINK "Place reference"}
	@{"Placer valeur/type      " LINK "Place value"}
	@{"Placer numéros bornes   " LINK "Place pins numbers"}
	@{"Rotation                " LINK Rotation}
	@{"Symétrie                " LINK Reflection}
	@{"Alterner symbole        " LINK "Alternate symbol"}
	@{"Position normale        " LINK "Normal position"}
	@{"Placer fil              " LINK "Place line"}
	@{"Tracé orthogonal        " LINK "Orthogonal mode"}
	@{"Tracé continu           " LINK "Continuous drawing"}
	@{"Trait double            " LINK "Double line"}
	@{"Trait fort (Bus)        " LINK Bus}
	@{"Pointillés              " LINK "Dashed line"}
	@{"Placer ellipse          " LINK "Place ellipse"}
	@{"Placer arc de cercle    " LINK "Place arc"}
	@{"Placer connexion        " LINK "Place junction"}
	@{"Placer texte            " LINK "Place text"}
	@{"Placer connecteur entrée" LINK "Place input connector"}
	@{"Placer connecteur sortie" LINK "Place output connector"}
	@{"Redessiner tout         " LINK "Redraw all"}
@ENDNODE
@NODE "Grid size" "Menu Dessin/Pas de la grille= 10 "
@TOC Drawing

	Ce menu détermine la taille de la grille permettant d'aligner
    plus facilement les éléments et leurs connexions.
	Cette grille possède une taille par défaut de 10 pixels, les
    composants définis dans les diverses bibliothèques de symboles
    tiennent tous compte de cette dimension. Vous pouvez cependant
    travailler avec une taille différente si vous le souhaitez.

	Raccourci clavier: AMIGA-µ ou µ

	Voir aussi: macro ARexx @{"SETGRID" LINK SETGRID}.

	Appel ARexx: MENU("Pas grille")     Attention: espace "solide"
					(ALT-ESPACE) entre Pas et grille.
@ENDNODE
@NODE "Snap on grid" "Menu Dessin/Aligner sur grille"
@TOC Drawing

	Ce menu, quand il est marqué, permet de placer les objets (composants,
    fils, jonctions, etc...) directement aux intersections de la @{"grille" LINK "Grid size"}.
	Ceci permet de travailler plus vite, tout en alignant plus facilement
    les éléments qui doivent être connectés.

	Raccourci clavier: AMIGA-G ou G

	Appel ARexx: MENU("Aligner")
@ENDNODE
@NODE "Choose component" "Menu Dessin/Choisir composant"
@TOC Drawing

	Ce menu permet de choisir un composant (ou un symbole) dans une
    bibliothèque. Attention: ce menu fait appel à la @{"bgui.library" LINK "BGUI"}.
	Une fenêtre comportant deux listes est ouverte: la liste de
    gauche comporte les noms des bibliothèques déjà chargées, la liste
    de droite comporte les noms des symboles appartenant à la bibliothèque
    sélectionnée.

	Vous pouvez charger ou supprimer une bibliothèque en utilisant les
    boutons correspondants. Les boutons "Placer avant" et "Placer après"
    permettent de changer l'ordre des bibliothèques (les symboles seront
    cherchés d'abord dans la première, puis dans les suivantes...)
	Les boutons situés en bas à gauche sont équivalents aux menus
    correspondants.

	À noter que le composant sélectionné est affiché dans la fenêtre
    de travail, en haut à gauche. Vous pouvez cliquer deux fois de suite
    sur un nom pour choisir un symbole ou utiliser le bouton "Accepter".
    Le bouton "Trier" permet de classer les symboles de la liste dans
    l'ordre alphabétique.

	Raccourci clavier: AMIGA-% ou %

	Voir aussi: macros ARexx @{"GETPART" LINK "GETPART"}, @{"LOADLIB" LINK "LOADLIB"}.

	Appel ARexx: MENU("Choisir composant")      Attention: espace "solide"
					(ALT-ESPACE) entre Choisir et composant.
@ENDNODE
@NODE "Place component" "Menu Dessin/Placer composant"
@TOC Drawing

	Ce menu permet de placer un composant ou un symbole sur la feuille
    de dessin. Si aucun objet n'a été choisi, la @{"requête" LINK "Choose component"} permettant d'effectuer
    ce choix est ouverte.
	Quand un objet valide a été choisi, le curseur se transforme, en
    dessinant cet objet. Il suffit alors de déplacer le curseur à l'emplacement
    souhaité puis de cliquer avec le bouton gauche de la souris pour le
    fixer.

	Raccourci clavier: AMIGA-H ou H

	Voir aussi: fonctions @{"PUTPART" LINK PUTPART}

	Appel ARexx: MENU("Placer composant")       Attention: espace "solide"
					(ALT-ESPACE) entre Placer et composant.
@ENDNODE
@NODE "Place reference" "Menu Dessin/Placer référence"
@TOC Drawing

	Quand ce menu est marqué, lors du @{"placement" LINK "Place component"} d'un composant, sa
    référence (par défaut) sera automatiquement placée sur le schéma, à proximité.
	À noter que cette référence, qui est un objet du type texte,
    peut être déplacée à votre convenance, simplement en cliquant dessus
    à l'aide du bouton gauche de la souris, puis tout en maintenant
    celui-ci appuyé, de la déplacer à l'emplacement souhaité et de le
    relâcher.
	Les références par défaut sont définies dans les bibliothèques
    de symboles (Exemple D pour une diode, R pour une résistance...)
	Pour modifier cette référence ou la compléter, vous pouvez
    cliquer deux fois sur le composant ou la référence elle-même, puis
    choisir l'option "Modifier texte" dans la requête qui suit.

	Il n'y a pas de raccourci clavier pour ce menu.

	Voir aussi: macro ARexx @{"SETREF" LINK "SETREF"}.

	Pas d'appel ARexx possible pour ce menu.
@ENDNODE
@NODE "Place value" "Menu Dessin/Placer valeur/type"
@TOC Drawing

	Quand ce menu est marqué, lors du @{"placement" LINK "Place component"} d'un composant, sa
    valeur (par défaut) sera automatiquement placée sur le schéma, à proximité.
	À noter que cette valeur, qui est un objet du type texte,
    peut être déplacée à votre convenance, simplement en cliquant dessus
    à l'aide du bouton gauche de la souris, puis tout en maintenant
    celui-ci appuyé, de la déplacer à l'emplacement souhaité et de le
    relâcher.
	Les valeurs par défaut prennent le nom du composant défini
    dans la bibliothèque de symboles auquel il appartient.
	Pour modifier cette valeur ou la compléter, vous pouvez
    cliquer deux fois sur le composant ou la valeur elle-même, puis
    choisir l'option "Modifier texte" dans la requête qui suit.

	Il n'y a pas de raccourci clavier pour ce menu.

	Voir aussi: macro ARexx @{"SETVAL" LINK "SETVAL"}.

	Pas d'appel ARexx possible pour ce menu.
@ENDNODE
@NODE "Place pins numbers" "Menu Dessin/Placer numéros bornes"
@TOC Drawing

	Quand ce menu est marqué, lors du @{"placement" LINK "Place component"} d'un composant,
    les numéros de ses bornes seront indiqués, s'il y a lieu (pour un circuit
    intégré par exemple).
	Quand un composant est déjà placé sur le schéma, cette indication
    peut être modifiée en cliquant deux fois dessus, puis en choisissant
    l'option "Numérotation bornes". À noter que cette option n'apparaîtra
    que s'il y a lieu de le faire (les bornes d'une résistance ne sont par
    exemple jamais marquées).

	Il n'y a pas de raccourci clavier pour ce menu.

	Pas d'appel ARexx possible pour ce menu.
@ENDNODE
@NODE "Rotation" "Menu Dessin/Rotation"
@TOC Drawing

	Ce menu permet de faire tourner d'un quart de tour le composant
    courant (en cours de placement, sous le curseur) ou le bloc d'objets
    sélectionné.
	La rotation s'effectue dans le sens des aiguilles d'une montre,
    sauf si vous pressez une des touches SHIFT lors de l'appel du menu.

	Raccourci clavier : AMIGA-R ou R (sens "normal")
			    AMIGA-SHIFT-R ou SHIFT-R (sens inverse)

	Voir aussi: macro ARexx @{"ROTATE" LINK "ROTATE"}.

	Appel ARexx: MENU("Rotation")
@ENDNODE
@NODE "Reflection" "Menu Dessin/Symétrie"
@TOC Drawing

	Ce menu permet de dessiner l'objet courant ou les objets
    sélectionnés en effectuant une symétrie par rapport à leur axe
    vertical (ou horizontal s'il ont été tournés).

	Raccourci clavier : AMIGA-/ ou /

	Voir aussi: fonction ARexx @{"SYMMETRY" LINK SYMMETRY}.

	Appel ARexx: MENU("Symétrie").
@ENDNODE
@NODE "Alternate symbol" "Menu Dessin/Alterner symbole"
@TOC Drawing

	Ce menu permet de choisir un second symbole pour un composant,
    quand il existe (défini dans les fichiers bibliothèques).
	Quand le curseur est en mode "placement composant", c'est lui
    qui est modifié, le composant éventuellement placé ensuite (avec
    un clic du bouton gauche), aura donc ce symbole.
	Sinon si certains éléments sont sélectionnés lors de l'appel
    de ce menu, leurs symboles seront changés.

	Cette fonction est utile pour dessiner un ampli avec les entrées
    + et - inversées par exemple. Dans certaines bibliothèques les
    symboles alternés sont des symboles américains ou aux anciennes
    normes (Résistance par exemple).

	Raccourci clavier : AMIGA-~ ou ~

	Voir aussi: fonction @{"CONVERT" LINK CONVERT}.

	Appel ARexx: MENU("Alterner")
@ENDNODE
@NODE "Normal position" "Menu Dessin/Position normale"
@TOC Drawing

	L'appel de ce menu provoque l'annulation des effets obtenus par
    les précédents: @{"rotation" LINK "Rotation"}, @{"symétrie" LINK "symétrie"} et @{"symbole alterné" LINK "Alternate symbol"}.
	Le curseur ou les composants sélectionnés sont donc amenés à
    leur position initiale (aucune rotation, pas de symétrie, utilisation
    du symbole normal).

	Raccourci clavier : AMIGA-N ou N.

	Appel ARexx: MENU("Position normale")       Attention: espace "solide"
					(ALT-ESPACE) entre Position et normale.
@ENDNODE
@NODE "Place line" "Menu Dessin/Placer fil"
@TOC Drawing

	L'appel de ce menu fait passer le curseur en mode "placement de fil".
    Le curseur se transforme alors pour indiquer ce mode (il prend la forme
    d'une croix). Pour placer un fil, il suffit ensuite de cliquer sur son
    point de départ, puis de recliquer sur son point d'arrivée.
	Pour interrompre ce mode, appuyez sur le bouton droit de la souris.

	Pour modifier le tracé d'un fil, cliquez sur un de ses points de
    départ ou d'arrivée, puis tout en maintenant le bouton gauche de la
    souris appuyé, déplacez celui-ci sur le point d'arrivée souhaité, et
    relâchez le bouton.

	Raccourci clavier : AMIGA-ESPACE ou ESPACE

	Voir aussi: @{"tracé orthogonal" LINK "Orthogonal mode"}, @{"tracé continu" LINK "Continuous drawing"}, @{"trait double" LINK "Double line"},
		    @{"trait fort" LINK Bus} et @{"pointillés" LINK "Dashed line"}.
		    Fonction ARexx @{"DRAW" LINK DRAW}.

	Appel ARexx: MENU("Placer fil")         Attention: espace "solide"
					    (ALT-ESPACE) entre Placer et fil.
@ENDNODE
@NODE "Orthogonal mode" "Menu Dessin/Tracé orthogonal"
@TOC Drawing

	Quand ce menu est marqué, les fils ne peuvent être @{"tracés" LINK "Place line"} que
    verticalement, horizontalement ou bien à 45°.
	Sélectionnez ce menu pour changer son état.

	Raccourci clavier : AMIGA-| ou |

	Appel ARexx: MENU("Tracé orthogonal")       Attention: espace "solide"
					(ALT-ESPACE) entre tracé et orthogonal.
@ENDNODE
@NODE "Continuous drawing" "Menu Dessin/Tracé continu"
@TOC Drawing

	Quand ce menu est marqué, lors d'une opération de placement de
    fils, dès que vous @{"placez un fil" LINK "Place line"}, le point d'arrivée du dernier fil
    qui a été placé devient le point de départ du fil suivant.
	Appuyez sur le bouton droit de la souris pour interrompre la
    continuité du tracé, et recommencer ailleurs.

	Il n'y a pas de raccourci clavier pour ce menu.

	Pas d'appel ARexx possible pour ce menu.
@ENDNODE
@NODE "Double line" "Menu Dessin/Trait double"
@TOC Drawing

	Quand ce menu est marqué, les fils sont tracés en double largeur, leur
    largeur est alors de deux pixels à l'écran.

	Pour annuler ce mode, sélectionnez-le à nouveau, ou bien choisissez
    l'un des deux suivants (@{"Trait fort" LINK Bus}, ou @{"Pointillés" LINK "Dashed line"}).
	Si aucun de ces modes n'est marqués le tracé s'effectue avec une
    largeur de un pixel.

	Raccourci clavier : AMIGA-\

	Voir aussi: fonction ARexx @{"DRAWMODE(1)" LINK DRAWMODE}.

	Pas d'appel ARexx possible pour ce menu.
@ENDNODE
@NODE "Bus" "Menu Dessin/Trait fort (Bus)"
@TOC Drawing

	Quand ce menu est marqué, les fils sont tracés en quadruple largeur, leur
    largeur est alors de cinq à sept pixels à l'écran (selon leur orientation).

	Pour annuler ce mode, sélectionnez-le à nouveau, ou bien choisissez
    l'un des deux autres (@{"Trait double" LINK "Double line"}, ou @{"Pointillés" LINK "Dashed line"}).
	Si aucun de ces modes n'est marqués le tracé s'effectue avec une
    largeur de un pixel.

	Raccourci clavier : AMIGA-B

	Voir aussi: fonction ARexx @{"DRAWMODE(2)" LINK DRAWMODE}.

	Pas d'appel ARexx possible pour ce menu.
@ENDNODE
@NODE "Dashed line" "Menu Dessin/Pointillés"
@TOC Drawing

	Quand ce menu est marqué, les fils sont tracés en pointillés, en simple
    largeur.
	Pour annuler ce mode, sélectionnez-le à nouveau, ou bien choisissez
    l'un des deux autres (@{"Trait double" LINK "Double line"}, ou @{"Trait fort" LINK Bus}).
	Si aucun de ces modes n'est marqués le tracé s'effectue avec une
    largeur de un pixel.

	Raccourci clavier : AMIGA-:

	Voir aussi: fonction ARexx @{"DRAWMODE (0)" LINK DRAWMODE}.

	Pas d'appel ARexx possible pour ce menu.
@ENDNODE
@NODE "Place ellipse" "Menu Dessin/Placer ellipse"
@TOC Drawing

	La sélection de ce menu fait passer le curseur en mode "placement
    d'ellipse". Une ellipse est alors dessinée à l'écran et celle-ci suit
    les mouvements de la souris. Pour placer une ellipse, cliquez alors
    sur le bouton gauche. Le diamètre peut être modifié en utilisant les
    touches fléchées (FLÈCHES verticales pour le rayon vertical, FLÈCHES
    horizontales pour le rayon horizontal) qui permet d'augmenter ou de
    diminuer ces rayons d'une dimension égale au pas de la grille.
	Quand une ellipse a été fixée sur le schéma, il est possible de
    la modifier en cliquant sur l'un de ses axes (vertical ou horizontal),
    près de sa périphérie, puis tout en maintenant le bouton de la souris
    appuyé, de déplacer celle-ci jusqu'à ce que la dimension souhaitée soit
    atteinte. Si vous souhaitez obtenir un cercle, maintenez la touche
    Ctrl enfoncée lors de ces opérations : les deux diamètres seront alors
    égaux.
	Pour déplacer une ellipse, cliquez en son centre puis, tout en
    maintenant le bouton appuyé, faites glisser la souris jusqu'à ce que
    la position désirée soit atteinte.

	Pour annuler ce mode utilisez le bouton droit de la souris, ou
    choisissez un autre mode.

	Raccourci clavier : AMIGA-E ou E

	Voir aussi: fonction @{"ELLIPSE" LINK ELLIPSE}.

	Appel ARexx: MENU("Placer ellipse")         Attention: espace "solide"
					(ALT-ESPACE) entre Placer et ellipse.
@ENDNODE
@NODE "Place arc" "Menu Dessin/Placer arc de cercle"
@TOC Drawing

	La sélection de ce  menu fait passer le curseur en mode  "placement
    d'arc". Ces arcs de cercle ont une précision de 1 degré maximum.
	Pour choisir les dimensions,  utilisez les  touches fléchées,  avec
    ou sans SHIFT. Pour modifier son diamètre utilisez les touches fléchées
    plus la touche ALT, avec ou sans SHIFT.  La touche SHIFT permet d'avoir
    un changement plus rapide.
	Pour placer un arc  cliquez sur le bouton gauche de la souris quand
    la position désirée est atteinte.
	Pour modifier le diamètre d'un arc déjà placé sur le schéma, cliquez
    deux fois dessus, puis saisissez les valeurs demandées, ou sélectionnez-le
    puis utilisez les touches fléchées en combinaison avec les touches SHIFT
    et ALT, comme lors du placement.

	Pour déplacer un arc, cliquez vers son centre puis, tout en
    maintenant le bouton appuyé, faites glisser la souris jusqu'à ce que
    la position désirée soit atteinte.

	Pour annuler ce mode utilisez le bouton droit de la souris, ou
    choisissez un autre mode de dessin.

	Vous pouvez utiliser les commandes de rotation et/ou de symétrie
    pour changer rapidement les valeurs des angles.

	Raccourci clavier : AMIGA-§ ou §

	Voir aussi: fonction @{"ARC" LINK ARC}.

	Appel ARexx: MENU("Placer arc")             Attention: espace "solide"
					(ALT-ESPACE) entre Placer et arc.
@ENDNODE
@NODE "Place junction" "Menu Dessin/Placer connexion"
@TOC Drawing

	La sélection de ce menu fait passer le curseur en mode "placement
    de connexion".
	Pour placer une connexion, cliquez sur le bouton gauche de la souris
    quand la position désirée est atteinte.

	Pour annuler ce mode utilisez le bouton droit de la souris, ou
    choisissez un autre mode.

	Raccourci clavier : AMIGA-J ou J

	Voir aussi: fonction @{"JUNCTION" LINK JUNCTION}.

	Appel ARexx: MENU("Placer connexion")       Attention: espace "solide"
					(ALT-ESPACE) entre Placer et connexion.
@ENDNODE
@NODE "Place text" "Menu Dessin/Placer texte"
@TOC Drawing

	La sélection de ce menu entraîne l'apparition d'une requête,
    demandant quel est le texte à placer. Si le choix est positif,
    le curseur se transforme en texte, utilisez alors le bouton
    gauche de la souris pour placer celui-ci à l'emplacement désiré.

	Pour modifier un texte, cliquez deux fois de suite sur celui-ci
    puis choisissez l'option proposée (Modifier texte, échelle verticale
    ou échelle horizontale).

	Pour annuler ce mode utilisez le bouton droit de la souris, ou
    choisissez un autre mode.

	Raccourci clavier : AMIGA-T ou T

	Voir aussi: fonction @{"WRITE" LINK WRITE}.

	Appel ARexx: MENU("Placer texte")       Attention: espace "solide"
					(ALT-ESPACE) entre Placer et texte.
@ENDNODE
@NODE "Place input connector" "Menu Dessin/Placer connecteur entrée"
@TOC Drawing

    Permet de placer un symbole correspondant à une liaison avec un élément
    extérieur. Le point d'attache de cet objet est situé à sa droite. Il
    est dessiné à gauche du curseur. La taille de cet objet sera
    automatiquement adaptée à son nom (un cadre est dessiné autour du texte,
    avec une flèche à sa gauche, en position "normale").
    Comme pour un composant, cliquez à l'aide du bouton gauche de la
    souris pour fixer l'emplacement de cet élément, après lui avoir
    donné son nom dans la requête prévue à cet effet.
    Pour modifier le nom d'un connecteur, cliquez deux fois dessus à
    l'aide du bouton gauche de la souris, puis choisissez l'option
    "Modifier texte".

    Si vous voulez que la flèche soit dirigée vers la droite, utilisez
    le menu @{"Dessin/Symétrie" LINK Reflection}.

	Pour annuler ce mode utilisez le bouton droit de la souris, ou
    choisissez un autre mode.

	Raccourci clavier : AMIGA-< ou <

	Voir aussi: fonction @{"INPUT" LINK INPUT}.

	Appel ARexx: MENU("Placer connecteur entrée")   Attention: espaces
					"solides" (ALT-ESPACE) entre les mots.
@ENDNODE
@NODE "Place output connector" "Menu Dessin/Placer connecteur sortie"
@TOC Drawing

    Permet de placer un symbole correspondant à une liaison avec un élément
    extérieur. Le point d'attache de cet objet est situé à sa gauche.
    La taille de cet objet sera automatiquement adaptée à son nom (un
    cadre est dessiné autour du texte, avec une flèche à sa droite,
    en position "normale").
    Comme pour un composant, cliquez à l'aide du bouton gauche de la
    souris pour fixer l'emplacement de cet élément, après lui avoir
    donné son nom dans la requête prévue à cet effet.
    Pour modifier le nom d'un connecteur, cliquez deux fois dessus à
    l'aide du bouton gauche de la souris, puis choisissez l'option
    "Modifier texte".

    Si vous voulez que la flèche soit dirigée vers la gauche, utilisez
    le menu @{"Dessin/Symétrie" LINK Reflection}.

	Pour annuler ce mode utilisez le bouton droit de la souris, ou
    choisissez un autre mode.

	Raccourci clavier : AMIGA-> ou >

	Voir aussi: fonction @{"OUTPUT" LINK OUTPUT}.

	Appel ARexx: MENU("Placer connecteur sortie")   Attention: espaces
					"solides" (ALT-ESPACE) entre les mots.
@ENDNODE
@NODE "Redraw all" "Menu Dessin/Redessiner tout"
@TOC Drawing

    Permet d'effacer toute la feuille de schéma puis de la redessiner.
    Utile après un travail de sélection, de déplacement de blocs, ou
    pour réafficher correctement la grille...

	Raccourci clavier : AMIGA-Z ou Z

	Appel ARexx: MENU("Redessiner")
@ENDNODE
@NODE "Edit" "Menu Édition"
@TOC "Menus"

	Cette série de menus est relative aux blocs d'éléments sélectionnés.
    Avant de commencer leur description il faut expliquer comment sont
    sélectionnés ces blocs.
	Cette sélection peut s'effectuer de deux manières :
	- en cliquant dans une zone ne contenant aucun élément puis en
    maintenant le bouton gauche de la souris, et en faisant glisser
    celle-ci vous pouvez encadrer une zone dans laquelle tous les éléments
    présents seront sélectionnés,
	- en cliquant sur un élément, celui-ci sera sélectionné. Cependant
    si le menu @{"Édition/Multisélection" LINK Multiselection} n'est pas marqué, seul un élément peut
    être sélectionné, sauf si vous enfoncez une des touches SHIFT au moment
    où vous cliquez.

	Quand un bloc est déjà sélectionné, vous pouvez l'étendre en pressant
    une des touches SHIFT avant de cliquer avec le bouton gauche de la souris,
    pour n'importe quelle des deux méthodes vues précédemment.

	Pour annuler la sélection d'un élément ou d'un bloc, pressez la touche
    Ctrl en même temps que vous utilisez la souris (lors du glissement).

	Pour annuler la sélection d'un bloc pressez la touche ESC ou cliquez
    à nouveau deux fois de suite n'importe où sur l'écran.

    @{"Copier          " LINK "Copy to clip"}
    @{"Coller          " LINK "Paste from clip"}
    @{"Couper          " LINK "Cut to clip"}
    @{"Effacer         " LINK "Delete selection"}
    @{"Cloner          " LINK Clone}
    @{"Fixer sur grille" LINK "Fix on grid"}
    @{"Passer devant   " LINK "To Front"}
    @{"Passer derrière " LINK "To Back"}
    @{"Doubler taille  " LINK "Double size"}
    @{"Diviser taille  " LINK "Divide size"}
    @{"Grouper         " LINK Group}
    @{"Séparer         " LINK Ungroup}
    @{"Sauver clip     " LINK "Save clip"}
    @{"Charger clip    " LINK "Load clip"}
    @{"Multisélection  " LINK Multiselection}
    @{"Restaurer       " LINK Undo}
@ENDNODE
@NODE "Copy to clip" "Menu Édition/Copier"
@TOC Edit

    Ce menu permet la recopie du bloc spécifié dans une zone mémoire.
    Si l'opération réussit, la sélection est annulée.
    Le programme gère 10 zones mémoires différentes permettant ainsi
    de stocker 10 blocs différents (voir @{"CLIPUNIT" LINK "CLIPUNIT"}).

	Raccourci clavier : AMIGA-C (copier) ou C

	Voir aussi: fonctions @{"COPY" LINK COPY}, @{"PASTE" LINK PASTE}.

	Appel ARexx: MENU("Copier")
@ENDNODE
@NODE "Paste from clip" "Menu Édition/Coller"
@TOC Edit

    Le contenu de la zone mémoire valide est copié à l'emplacement actuel
    du curseur. Il se déplace avec la souris, pour placer ce bloc, cliquez
    sur le bouton gauche.

	Raccourci clavier: AMIGA-V ou V

	Voir aussi : fonctions @{"CLIPUNIT" LINK "CLIPUNIT"}, @{"PASTE" LINK PASTE}, @{"COPY" LINK COPY}.

	Appel ARexx: MENU("Coller")
@ENDNODE
@NODE "Cut to clip" "Menu Édition/Couper"
@TOC Edit

    Ce menu permet d'effacer le bloc spécifié (le bloc est copié dans la
    zone mémoire alors valide).

    Attention: cette fonction peut modifier les numéros des objets restants.

	Raccourci clavier : AMIGA-X ou X

	Voir aussi: fonctions @{"CLIPUNIT" LINK "CLIPUNIT"}, @{"PASTE" LINK PASTE}, @{"COPY" LINK COPY}.

	Appel ARexx: MENU("Couper")
@ENDNODE
@NODE "Delete selection" "Menu Édition/Effacer"
@TOC Edit

    Ce menu permet d'effacer le bloc spécifié. Vous pouvez aussi
    utiliser la touche DEL.

    Attention: cette fonction peut modifier les numéros des objets restants.

	Raccourci clavier : AMIGA-Y, Y ou DEL

	Appel ARexx: MENU("Effacer")
@ENDNODE
@NODE "Clone" "Menu Édition/Cloner"
@TOC Edit

    Ce menu permet de recopier le bloc spécifié.

	Raccourci clavier : AMIGA-TAB ou TAB

	Appel ARexx: MENU("Cloner")
@ENDNODE
@NODE "Fix on grid" "Menu Édition/Fixer sur grille"
@TOC Edit

    Ce menu permet d'aligner les éléments appartenant au bloc
    spécifié sur la grille (leur point d'attache, déterminé par
    le point correspondant au pointeur de la souris, lors de
    leur pose, est fixé sur le point le plus proche de la grille).

	Raccourci clavier : AMIGA-! ou !

	Appel ARexx: MENU("Fixer")
@ENDNODE
@NODE "To Front" "Menu Édition/Passer devant"
@TOC Edit

    Ce menu permet de faire passer un élément en tête de la
    liste, il est alors choisi s'il est en recoupement avec
    d'autres quand l'utilisateur clique sur eux.

    À noter une astuce pour sélectionner un élément qui est
    en recoupement avec d'autres, alors qu'il est derrière:
    sélectionnez d'abord le premier élément en cliquant dessus
    puis utilisez la touche ALT lorsque vous cliquez avec le
    bouton gauche, ce sera l'élément suivant qui sera sélectionné.

    Attention: cette fonction modifie les numéros des objets.

	Raccourci clavier : AMIGA-M ou M

	Appel ARexx: MENU("Passer devant")      Attention: espace "solide"
					(ALT-ESPACE) entre Passer et devant.
@ENDNODE
@NODE "To Back" "Menu Édition/Passer derrière"
@TOC Edit

    Ce menu permet de faire passer un élément en queue de
    liste. Il est alors choisi en dernier s'il est en recoupement
    avec d'autres quand l'utilisateur clique sur eux.

    Attention: cette fonction modifie les numéros des objets.

	Raccourci clavier : AMIGA-D ou D

	Appel ARexx: MENU("Passer derrière")    Attention: espace "solide"
					(ALT-ESPACE) entre Passer et derrière.
@ENDNODE
@NODE "Double size" "Menu Édition/Doubler taille"
@TOC Edit

    Ce menu permet de doubler la taille des éléments sélectionnés.
    Cette fonction s'applique aussi à l'élément présent sous le
    curseur lorsque celui-ci est en mode "placement composant".

    La fonction ne prend effet que si l'agrandissement est possible,
    c'est à dire sans que les éléments ne sortent de la fenêtre.

	Raccourci clavier : AMIGA-+ ou +

	Voir aussi: fonction @{"SETSCALE" LINK SETSCALE}.

	Appel ARexx: MENU("Doubler taille")     Attention: espace "solide"
					(ALT-ESPACE) entre Doubler et taille.

@ENDNODE
@NODE "Divide size" "Menu Édition/Diviser taille"
@TOC Edit

    Ce menu permet de diminuer la taille des éléments sélectionnés.
    La taille des éléments doit être un multiple de deux (échelles 2,
    4, 8...)
    Cette fonction s'applique aussi à l'élément présent sous le
    curseur lorsque celui-ci est en mode "placement composant".

	Raccourci clavier : AMIGA-- ou -

	Voir aussi: fonction @{"SETSCALE" LINK SETSCALE}.

	Appel ARexx: MENU("Diviser taille")     Attention: espace "solide"
					(ALT-ESPACE) entre Diviser et taille.
@ENDNODE
@NODE "Group" "Menu Édition/Grouper"
@TOC Edit

    Ce menu permet d'associer les éléments sélectionnés, en un
    groupe, leur sélection se fait alors en cliquant sur un seul
    d'entre eux, cependant leur édition individuelle reste toujours
    possible, s'il y a lieu, en cliquant deux fois dessus.
    Il est impossible d'annuler la sélection d'un seul élément d'un
    groupe : la sélection d'un de ses éléments ou son annulation est
    transmise automatiquement aux autres éléments du groupe.

	Raccourci clavier : AMIGA-{ ou {

	Appel ARexx: MENU("Créer groupe")       Attention: espace "solide"
					(ALT-ESPACE) entre Créer et groupe.
@ENDNODE
@NODE "Ungroup" "Menu Édition/Séparer"
@TOC Edit

    Ce menu permet de supprimer les liens définissant un groupe
    sélectionné, les éléments retrouvent alors leur indépendance.
    Les éléments sont désélectionnés pour marquer la réussite
    de la fonction. Ceux qui n'appartiennent pas à un groupe
    restent sélectionnés.

	Raccourci clavier : AMIGA-} ou }

	Appel ARexx: MENU("Dissocier groupe")   Attention: espace "solide"
					(ALT-ESPACE) entre Dissocier et groupe.
@ENDNODE
@NODE "Save clip" "Menu Édition/Sauver clip"
@TOC "Edit"

    Ce menu permet de sauvegarder le bloc sélectionné dans un
    fichier (choisi à l'aide d'une requête).

	Raccourci clavier : AMIGA-W ou W

	Voir aussi: fonctions @{"SAVECLIP" LINK SAVECLIP}, @{"LOADCLIP" LINK LOADCLIP}.

	Appel ARexx: MENU("Sauver clip")        Attention: espace "solide"
					(ALT-ESPACE) entre Sauver et clip.
@ENDNODE
@NODE "Load clip" "Menu Édition/Charger clip"
@TOC "Edit"

    Ce menu permet de lire un bloc précédemment sauvé dans un
    fichier (choisi à l'aide d'une requête). Si la lecture
    réussit le bloc de données est affiché sous le curseur et
    se déplace avec lui, utilisez un clic du bouton gauche
    pour le fixer à l'emplacement souhaité ou bien cliquez
    avec le bouton droit pour annuler l'opération.

    Le point d'accrochage d'un clip est le point le plus haut à
    gauche, aussi essayez de créer des clips possédant ce point
    situé sur la grille afin de pouvoir les placer facilement par
    la suite.

	Raccourci clavier : AMIGA-L ou L

	Voir aussi: fonctions @{"LOADCLIP" LINK LOADCLIP}, @{"SAVECLIP" LINK SAVECLIP}.

	Appel ARexx: MENU("Charger clip")       Attention: espace "solide"
					(ALT-ESPACE) entre Charger et clip.
@ENDNODE
@NODE "Multiselection" "Menu Édition/Multisélection"
@TOC Edit

    Quand ce menu est marqué, vous pouvez sélectionner autant
    d'éléments que vous le désirez, en cliquant successivement
    sur chacun d'eux, sans avoir à utiliser une touche SHIFT.
    Quand il n'est pas marqué, vous devez utiliser une touche
    SHIFT pour sélectionner plusieurs éléments, sinon chaque
    nouvelle sélection annule la précédente.

    Il suffit de sélectionner ce menu pour changer son état.

	Raccourci clavier : AMIGA-*

	Pas d'appel ARexx possible pour ce menu.
@ENDNODE
@NODE "Undo" "Menu Édition/Restaurer"
@TOC Edit

    Ce menu est très pratique pour annuler l'effet de la dernière
    opération qui a été réalisée. Cependant les effets réalisés à
    l'aide des fonctions ARexx ne pourront être annulés. D'autre
    part ce menu est quelque peu bugué...

	Raccourci clavier : AMIGA-U ou U

	Appel ARexx: MENU("Restaurer")
@ENDNODE
@NODE "Macros" "Menu Macros"
@TOC "Menus"

	Cette série de menus est dédiée aux @{"macro-commandes" LINK "Ecriture commandes"} et
    aux @{"scripts ARexx" LINK "Script"}.

    @{"Mode direct " LINK Direct}       Saisie, exécution d'une ligne de commande.
    @{"Appel script" LINK "Call script"}       Appel d'un script ARexx choisi.
    @{"ARexx...    " LINK "ARexx..."}       Appel (programmable) de 10 scripts.
@ENDNODE
@NODE "Direct" "Menu Macros/Mode direct"
@TOC "Macros"

    Ce menu permet la saisie d'une @{"macro-commande" LINK "Ecriture commandes"}, puis son exécution. À noter
    que vous pouvez également utiliser la combinaison d'une touche ALT et d'une
    touche de fonction pour obtenir 10 macros préprogrammées.
    Il faut noter que ces séquences programmées sont sauvegardées
    dans le fichier "s:AmiCAD.keys", à l'aide du menu
    @{"Préférences/Touches/Sauver" LINK Keys}. Celles-ci sont alors rechargées lors de
    chaque lancement du programme.

    Vous pouvez provoquer l'affichage du résultat de la commande en
    faisant commencer le texte spécifiant cette commande par le signe
    égal (=).
	Exemple: =4*95	    affiche le résultat de la multiplication (4 fois 95)
		 =FIRSTSEL  affiche le numéro du premier élément sélectionné

	Raccourci clavier : AMIGA-; ou ;

	Voir aussi: fonctions @{"EXEC" LINK EXEC}, @{"MACRO" LINK MACRO}, @{"MAP" LINK MAP}.

	Appel ARexx: MENU("Mode direct")         Attention: espace "solide"
					(ALT-ESPACE) entre Mode et direct.
@ENDNODE
@NODE "Call script" "Menu Macros/Appel script"
@TOC "Macros"

    Ce menu permet la saisie d'une commande ARexx (donnez le nom du @{"script" LINK "Script"},
    l'extension ".amiCAD" n'est pas obligatoire).
	Raccourci clavier : AMIGA-, ou ,

	Voir aussi: fonction @{"CALL" LINK CALL}.

	Appel ARexx: MENU("Appel script")       Attention: espace "solide"
					(ALT-ESPACE) entre Appel et script.
@ENDNODE
@NODE "ARexx..." "Menu Macros/ARexx..."
@TOC "Macros"

    Ces 10 menus servent à définir 10 commandes pouvant être lancés par la
    sélection du menu correspondant.
    Lors du premier appel du menu, l'utilisateur définit sa commande.
    Les appels qui suivront permettent alors l'appel du @{"script" LINK "Script"} défini.
    Le nom du script apparaît ensuite dans le menu. Les 10 définitions peuvent
    être sauvegardées dans le fichier "Configuration.AmiCAD", et rechargées
    automatiquement lors de l'appel du programme.
	Ces menus peuvent être redéfinis en appuyant sur l'une des touches
    SHIFT lors de la sélection du menu.

	À noter que l'édition du script défini peut être faite de façon
    automatique dans une nouvelle fenêtre en appelant le menu tout en
    maintenant la touche CTRL appuyée (le nom doit naturellement avoir
    été défini auparavant).

    La commande doit comporter le nom du script à exécuter (toujours sans
    l'extension ".amiCAD"). Le nom ne peut compter que 11 caractères au maximum.
    Il n'est pas possible de transmettre de paramètres au script.
    Les communications avec ARexx se font grâce au @{"port" LINK "Port"} AMICAD (ou
    AMICAD0, AMICAD1...AMICAD9 si plusieurs tâches sont exécutées en
    même temps). Utilisez la commande port=ADDRESS() pour connaître le nom
    du port, si nécessaire.
	Raccourcis clavier : AMIGA-0 à AMIGA-9

	Voir aussi: fonction @{"CALL" LINK CALL}.

	Pas d'appel ARexx possible pour ces menus.
@ENDNODE
@NODE "Port" "Port ARexx"
@TOC "Macros"

    Le programme ouvre normalement un port de communication avec l'interpréteur
    ARexx lors de son lancement, ce port s'appelle AMICAD. Si le programme est
    lancé plusieurs fois, le port est appelé AMICAD0 par la seconde tâche, puis
    AMICAD1 pour la suivante, et ainsi de suite jusqu'à AMICAD9.
@ENDNODE
@NODE "Preferences" "Menu Préférences"
@TOC "Menus"

    Cette série de menus permet de sauvegarder certains réglages du
    programme dans le fichier configuration.amiCAD. Ce fichier est
    sauvé dans le répertoire assigné "s:".
    Ce fichier est relu automatiquement à chaque démarrage du
    programme, afin de repositionner les réglages comme voulu par
    l'utilisateur.

    Cependant vous devez avoir installé la bibliothèque ConfigFile.library
    pour pouvoir lire ou écrire ces fichiers. Celle-ci est disponible dans
    le domaine public (CD Aminet, par exemple).

	@{"Défilement auto    " LINK "Auto scroll"}
	@{"Copie schéma sauvé " LINK "Backup file"}
	@{"Sauver icône       " LINK "Save icon"}
	@{"Tirer lignes       " LINK "Pull lines"}
	@{"Afficher grille    " LINK "Display grid"}
	@{"Échelle horizontale" LINK "Horizontal scale"}
	@{"Échelle verticale  " LINK "Vertical scale"}
	@{"Dimensions document" LINK "Sheet size"}
	@{"Choix mode écran   " LINK "Screen mode"}
	@{"Palette            " LINK Palette}
	@{"Choix fonte        " LINK Font}
	@{"Configuration      " LINK Configuration}
	@{"Touches            " LINK Keys}
@ENDNODE
@NODE "Auto scroll" "Menu Préférences/Défilement auto"
@TOC Preferences

    Quand ce menu est marqué, si le curseur arrive à une bordure
    de la fenêtre de travail, le défilement du contenu de la
    feuille de schéma se fait automatiquement s'il y a lieu.

    Il n'y a pas de raccourci clavier pour cette fonction.

	Pas d'appel ARexx possible pour ces menus.
@ENDNODE
@NODE "Backup file" "Menu Préférences/Copie schéma sauvé"
@TOC Preferences

    Quand ce menu est marqué, lors de la sauvegarde, l'ancienne version
    est sauvegardée avec l'extension ".bis" à la fin du nom.

    Il n'y a pas de raccourci clavier pour cette fonction.

	Voir aussi: fonction @{"SAVECOPY" LINK SAVECOPY}.

	Pas d'appel ARexx possible pour ce menu.
@ENDNODE
@NODE "Save icon" "Menu Préférences/Sauver icône"
@TOC Preferences

    Si ce menu est marqué une icône est créée lors de la sauvegarde
    du texte. Le nom du programme figure dans le champ TOOL-TYPES.
    L'icône utilisée est l'icône "Projet" par défaut, stockée dans
    le répertoire ENV:.

    Il n'y a pas de raccourci clavier pour cette fonction.

	Voir aussi: fonction @{"SAVEICON" LINK SAVEICON}.

	Pas d'appel ARexx possible pour ce menu.
@ENDNODE
@NODE "Pull lines" "Menu Préférences/Tirer lignes"
@TOC Preferences

    Si ce menu est marqué, lors du déplacement d'un ou plusieurs
    composants à l'aide la souris, les fils connectés à ces
    composants seront également déplacés. Attention : cette
    opération n'a lieu qu'après avoir lâché ces composants à
    leur emplacement de destination.

    Raccourci clavier: AMIGA-F ou F

	Appel ARexx: MENU("Tirer")
@ENDNODE
@NODE "Display grid" "Menu Préférences/Afficher grille"
@TOC Preferences

    Si ce menu est marqué, une grille est affichée sur l'écran.
    Le pas utilisé est celui défini dans le menu @{"Dessin/Pas grille" LINK "Grid size"}.
    L'écran est mis à jour après l'appel du menu.

    Il n'y a pas de raccourci clavier pour cette fonction.

	Pas d'appel ARexx possible pour ce menu.
@ENDNODE
@NODE "Horizontal scale" "Menu Préférences/Échelle horizontale"
@TOC Preferences

    La valeur associée à ce menu permet de définir l'échelle par
    défaut des composants qui seront placés sur le schéma.

    Il n'y a pas de raccourci clavier pour cette fonction.

	Voir aussi: fonctions @{"HSCALE" LINK HSCALE}, @{"SETSCALE" LINK SETSCALE}.

	Appel ARexx: MENU("Échelle horizontale")    Attention: espace "solide"
					(ALT-ESPACE) entre Échelle et horizontale.
@ENDNODE
@NODE "Vertical scale" "Menu Préférences/Échelle verticale"
@TOC Preferences

    La valeur associée à ce menu permet de définir l'échelle par
    défaut des composants qui seront placés sur le schéma.

    Il n'y a pas de raccourci clavier pour cette fonction.

    Voir aussi : fonctions @{"VSCALE" LINK VSCALE}, @{"SETSCALE" LINK "SETSCALE"}.

	Appel ARexx: MENU("Échelle verticale")      Attention: espace "solide"
					(ALT-ESPACE) entre Échelle et verticale.
@ENDNODE
@NODE "Sheet size" "Menu Préférences/Dimensions document"
@TOC Preferences

    Ce menu permet de définir la largeur et la hauteur de la fenêtre
    de travail. La fenêtre est en fait du type SuperBitmap, ce qui
    permet de bénéficier de défilements très rapides, mais exige une
    quantité mémoire "chip" importante.

    Il n'y a pas de raccourci clavier pour cette fonction.

    Voir aussi: fonction @{"DIMSHEET" LINK DIMSHEET}.

	Appel ARexx: MENU("Dimensions")
@ENDNODE
@NODE "Screen mode" "Menu Préférences/Choix mode écran"
@TOC Preferences

    Ce menu permet de choisir le type d'écran utilisé pour afficher les
    fenêtres. Une requête asl est affichée pour choisir ce mode. Les
    modes basse-résolution permettent de travailler sur certains détails
    alors que les modes haute-résolution permettent d'avoir une vue
    d'ensemble du schéma.

	Raccourcis clavier : AMIGA-] ou ]

	Voir aussi: fonction @{"SCREEN" LINK SCREEN}.

	Appel ARexx: MENU("Choix mode")         Attention: espace "solide"
					(ALT-ESPACE) entre Choix et mode.
@ENDNODE
@NODE "Palette" "Menu Préférences/Palette"
@TOC Preferences

    Ce menu permet de choisir les couleurs de l'écran utilisé par AmiCAD.
    À noter que ces couleurs sont sauvées dans le fichier de configuration.
    Cette fonction fait appel à la bibliothèque reqtools.library pour
    fonctionner. Assurer-vous que vous en avez une copie dans votre
    répertoire "libs:".

    Attention: n'utilisez pas une couleur trop sombre pour la couleur 0,
    du noir par exemple, car alors le curseur utilisé pour placer les fils
    deviendrait invisible...

    Il n'y a pas de raccourci clavier pour cette fonction.

	Appel ARexx: MENU("Palette")
@ENDNODE
@NODE "Font" "Menu Préférences/Choix fonte"
@TOC Preferences

    Ce menu permet de choisir la fonte utilisée dans l'écran AmiCAD.
    En l'absence de fichier de configuration (voir ci-dessous), c'est la fonte
    choisie pour l'écran public par défaut qui est utilisée.

	Raccourcis clavier : AMIGA-[ ou [

	Voir aussi: fonction @{"SCREEN" LINK SCREEN}.

	Appel ARexx: MENU("Choix fonte")        Attention: espace "solide"
					(ALT-ESPACE) entre Choix et fonte.
@ENDNODE
@NODE "Configuration" "Menu Préférences/Configuration"
@TOC Preferences

	Ce menu comporte trois rubriques, permettant de sauver ou de
    lire les noms des @{"scripts ARexx" LINK "Script"} choisis, ainsi que
    les divers modes (défilement, sauver avec ou sans icône, copie schéma...).

	CHARGER : permet de relire le fichier de configuration de votre choix,
	préalablement sauvé grâce à l'option SAUVER ou SAUVER EN.

	SAUVER	: permet la sauvegarde des préférences dans le fichier
	Configuration.AmiCAD. Ce fichier est relu à chaque chargement du
	programme. Il doit être situé dans le répertoire courant.

	SAUVER EN : permet la sauvegarde des préférences dans un fichier, de
	votre choix (requête asl.library).

	Voir aussi: fonctions @{"LOADPREF" LINK LOADPREF}, @{"SAVEPREF" LINK SAVEPREF}.

	Pas d'appel ARexx pour ces menus.
@ENDNODE
@NODE "Keys" "Menu Préférences/Touches"
@TOC Preferences

	Ce menu comporte trois rubriques, permettant de sauver ou de
    lire les séquences de touches programmées (touches de fonction, combinaisons
    de touches).

	CHARGER : permet de relire le fichier de configuration de votre choix,
	préalablement sauvé grâce à l'option SAUVER ou SAUVER EN.

	SAUVER	: permet la sauvegarde des préférences dans le fichier
	AmiCAD.keys. Ce fichier est relu à chaque chargement du
	programme.

	SAUVER EN : permet la sauvegarde des préférences dans un fichier, de
	votre choix (requête asl.library).

	Voir aussi: fonctions @{"LOADKEYS" LINK LOADKEYS}, @{"SAVEKEYS" LINK SAVEKEYS}, @{"MAP" LINK MAP}, @{"Mode direct" LINK Direct}.

	Pas d'appel ARexx pour ces menus.
@ENDNODE
@NODE "Ecriture commandes" "Écriture d'une ligne de commande(s)"
@TOC "Macros"

	Les macro-commandes peuvent être exécutées en mode local ou bien par
    l'intermédiaire d'un @{"script ARexx" LINK "Script"}. Vous pouvez vous reporter aux scripts
    donnés en exemple, dans le répertoire "s:ARexx". Ceux-ci doivent posséder
    l'extension ".amiCAD" à leur nom.
	Chacune de ces macro-commandes peut appeler l'une des fonctions
    ARexx, ou même plusieurs. Certaines d'entre elles nécessitent un ou
    plusieurs arguments, enfin la plupart d'entre elles retournent un résultat.
    Le programme permet aussi de manipuler des @{"variables" LINK "Variable"} (des types numérique
    ou chaîne de caractères). De plus vous pouvez définir vos propres fonctions.
	L'appel d'une fonction se fait en donnant son nom, suivi d'un ou
    plusieurs arguments, entourés de parenthèses, éventuellement séparés par
    des virgules.

    Les opérateurs mathématiques classiques sont bien sûr disponibles :
	    opérateur		  signe 	priorité
	élévation à une puissance : ^		   10
	division :		    /		    9
	multiplication :	    *		    9
	modulo :		    %		    9
	addition :		    +		    8
	soustraction :		    -		    8
	ET logique :		    &		    6
	OU exclusif :		    ?		    5
	OU logique :		    |		    4
	affectation :		    =		    2

    Ce dernier opérateur (=) peut être utilisé pour affecter les @{"variables" LINK "Variable"}.
	Ex : A=2, affecte la valeur 2 à la variable A.
    Il est à noter que l'écriture A=B=3 n'est pas admise, elle entraînera
    un message d'erreur "Affectation impossible". Utilisez plutôt l'écriture
    A=3:B=3

    Autres opérateurs :
	décalage à gauche : <<
	décalage à droite : >>
	Ces deux opérateurs ont une priorité égale à 7.
	test supérieur : >	    test supérieur ou égal : >=
	test inférieur : <	    test inférieur ou égal : <=
	test si différent : <>	    test égalité : ==
	Les tests renvoient la valeur 1 s'ils sont vérifiés, 0 dans les
    autres cas. Leur priorité est égale à 3.

    Il existe un opérateur particulier qui en fait n'en est pas un, c'est le
    signe :, celui-ci permet en fait de séparer deux formules (ou davantage)
    afin de pouvoir saisir plusieurs affectations de @{"variables" LINK "Variable"} dans une même
    fonction. Ainsi vous pouvez saisir A=2:B=3:C=0 dans une seule commande au
    lieu d'en utiliser trois. Le résultat renvoyé est alors celui de la
    dernière opération réalisée (0 dans cet exemple). Cette possibilité peut
    également présenter un intérêt pour une fonction FOR (voir plus loin),
    afin de réaliser de multiples initialisations au début d'une boucle.

    Enfin il est à noter que vous pouvez placer un commentaire dans une macro
    comportant une expression mathématique en utilisant l'apostrophe vue
    plus haut.
	Exemple:
	    DELETE(FIRSTSEL) ' Effacement du premier élément sélectionné

	Enfin, vous pouvez placer plusieurs appels de fonctions sur une
    même ligne, en les séparant par deux points.
	Exemple:
	    HSCALE(FIRSTSEL,2) : VSCALE(FIRSTSEL,2)
@ENDNODE
@NODE "Variable" "Les variables"
@TOC "Macros"

	Les variables manipulées par AmiCAD peuvent être de deux types:
	@{b}numérique@{ub} ou @{b}chaîne de caractères@{ub}. Le type est choisi lors de
	l'affectation, il ne peut ensuite être changé, à moins de
	réinitialiser cette variable (voir fonction @{"INIT" LINK "INIT"}).

	Pour affecter une valeur à une variable il suffit de faire suivre
	son nom du signe = et de la valeur à lui affecter.

	Exemples:
	    A = 1
	    B2 = "chaîne de texte"
	    A2 = "Première "+B2     donne "Première chaîne de texte"

	Les @{"chaînes de caractères" LINK "chaînes de caractères"} doivent être encadrées par des guillemets
	s'il s'agit de constantes. Les @{"valeurs numériques" LINK "Nombres"} sont limitées aux
	entiers, utilisez ARexx pour manipuler des nombres réels.

	Les noms de variables peuvent comprendre de 1 à 21 caractères, ils
	doivent débuter par une lettre, les caractères suivants pouvant être
	des lettres (accentuées ou non), des nombres ou le caractère _.

	Exemples de noms valides:
	    ESSAI
	    TYPE_DONNÉE
	    LIGNE1

	À noter que le programme convertit normalement les noms de fonctions
	et de variables en majuscules lors de la saisie, aussi n'y aura-t-il
	pas de différence entre deux noms comme variable et VARIABLE (ou même
	Variable), cependant dans un @{"script ARexx" LINK "Script"}, utilisez de préférence les
	majuscules car les chaînes issues de l'interpréteur ne sont pas
	forcément converties, et le programme différenciera alors les noms
	écrits en minuscules et/ou en majuscules.
@ENDNODE
@NODE "Nombres" "Les variables numériques"
@TOC Maths

	Les nombres manipulés par AmiCAD sont limités aux nombres entiers.
	Ceux ci sont des entiers longs signés, sur 32 bits. La valeur
	maximale est doc de 2^31-1 (2147483647) et la valeur minimale
	-2^31 (-2147483648). Utilisez les capacités de l'interpréteur
	ARexx pour manipuler des nombres en virgule flottante.
@ENDNODE
@NODE "Chaînes de caractères" "Les chaînes de caractères"
@TOC Variable

	Les chaînes de caractères comprennent un nombre quelconque de
	caractères (théoriquement limité uniquement par la capacité
	mémoire de votre micro-ordinateur), en commençant par les
	chaînes nulles qui ne comprennent aucun caractère. Pour
	définir une chaîne de caractères, vous devez encadrer son
	contenu par deux guillemets. Si cette chaîne comprend
	elle-même un ou plusieurs guillemets, ceux-ci doivent être
	doublés.

	Exemples:
	    "Ceci est une chaîne de caractères"
	    ""
	    "C'est un guillemet "" !"
@ENDNODE
@NODE "Script" "Structure des scripts ARexx"

	Les scripts ARexx sont des fichiers ASCII, se conformant à un
	format permettant leur interprétation par ce logiciel.
	Ils peuvent inclure toutes les fonctions spécifiques à ARexx
	et à ses bibliothèques (reportez-vous à leurs documentations
	pour plus de précisions), ainsi que toutes les commandes
	supportées par le programme AmiCAD (une centaine, plus les
	fonctions éventuellement définies par vos soins).

    @{b}Emplacement@{ub}
	Ces scripts doivent se situer soit dans le répertoire assigné
	REXX: (conseillé), soit dans le répertoire courant (normalement
	le même que celui du programme AmiCAD). Il est conseillé de les
	nommer avec l'extension .AmiCAD, mais ce n'est pas obligatoire.

    @{b}Format@{ub}
	Ces scripts doivent toujours commencer par une remarque
	incluse entre les caractères /* et */, comme en langage C.

	Les commandes AmiCAD doivent impérativement figurer en
	majuscules. Ce sont les mêmes que celles qui sont utilisées
	en @{"mode local" LINK Direct}, cependant leur analyse par ARexx
	nécessite quelques précautions, ainsi ces commandes doivent
	impérativement être encadrées par des apostrophes (') ou des
	guillemets, afin de les différencier des fonctions internes
	à ARexx.

    @{b}Exemple@{ub}
	La structure suivante est recommandée pour ces scripts:

/* Ce fichier vous donne un exemple de structure possible
pour un fichier de macros appelé par AmiCAD, par le menu Macros */

options results     /* indispensable pour récupérer le résultat des macros */

signal on error     /* pour l'interception des erreurs */
signal on syntax

/* votre programme doit être situé dans cette zone */

exit

/* Traitement des erreurs, interruption du programme */
syntax:
erreur=RC
'MESSAGE("Erreur de syntaxe"+CHR(10)+"en ligne 'SIGL'"+CHR(10)+"'errortext(erreur)'")'
exit

error:
'MESSAGE("Erreur en ligne 'SIGL'")'
exit

	Cet exemple existe déjà prêt dans le répertoire Rexx, sous
	le nom @{b}squelette.AmiCAD@{ub}.
@ENDNODE

@NODE "Fonctions" "Liste des fonctions ARexx"
@TOC "Macros"

	@{"ABS     " LINK ABS} valeur absolue d'un nombre
	@{"ASC     " LINK ASC} code ASCII d'un caractère
	@{"ARC     " LINK ARC} trace un arc de cercle
	@{"ASK     " LINK ASK} saisie d'une chaîne de caractères au clavier
	@{"CALL    " LINK CALL} appel d'un script ARexx
	@{"CHR     " LINK CHR} renvoie le caractère possédant le code ASCII spécifié
	@{"CLIPPATH" LINK CLIPPATH} choix du tiroir contenant les clips
	@{"CLIPUNIT" LINK CLIPUNIT} choix de la zone mémoire utilisée pour les opérations couper/coller
	@{"CLOSE   " LINK CLOSE} ferme la fenêtre texte spécifiée
	@{"COL     " LINK COL} numéro de colonne où est situé un objet
	@{"CONVERT " LINK CONVERT} choix symbole alterné pour composant
	@{"COPY    " LINK COPY} copie d'un ou plusieurs objets en mémoire
	@{"DATE    " LINK DATE} renvoie la date actuelle
	@{"DEF     " LINK DEF} définition d'une nouvelle fonction
	@{"DELETE  " LINK DELETE} suppression d'un objet
	@{"DIMSHEET" LINK DIMSHEET} dimensionne la fenêtre (SuperBitmap)
	@{"DRAW    " LINK DRAW} tracé d'une ligne
	@{"DRAWMODE" LINK DRAWMODE} sélection du type de tracé
	@{"EDIT    " LINK EDIT} appel de la requête d'édition
	@{"ELLIPSE " LINK ELLIPSE} tracé d'une ellipse ou d'un cercle
	@{"EXEC    " LINK EXEC} interprétation d'une chaîne de caractères
	@{"FILENAME" LINK FILENAME} nom du fichier complet
	@{"FILEPART" LINK FILEPART} nom du fichier
	@{"FINDPART" LINK FINDPART} recherche d'un composant
	@{"FINDREF " LINK FINDREF} recherche d'un composant par sa référence
	@{"FINDVAL " LINK FINDVAL} recherche d'un composant par sa valeur
	@{"FIRSTSEL" LINK FIRSTSEL} renvoie le numéro du premier objet sélectionné
	@{"FONTNAME" LINK FONTNAME} renvoie le nom de la fonte de caractères utilisée
	@{"FONTSIZE" LINK FONTSIZE} renvoie la taille de la fonte de caractères utilisée
	@{"FOR     " LINK FOR} traitement d'une boucle
	@{"GETPART " LINK GETPART} choix du composant courant
	@{"GETREF  " LINK GETREF} lecture de la référence d'un composant
	@{"GETVAL  " LINK GETVAL} lecture de la valeur ou du type d'un composant
	@{"HEIGHT  " LINK HEIGHT} renvoie la largeur d'un objet
	@{"HELP    " LINK HELP} affichage d'une aide AmigaGuide
	@{"HSCALE  " LINK HSCALE} renvoie la valeur de l'échelle horizontale d'un objet
	@{"IF      " LINK IF} test
	@{"INIT    " LINK INIT} initialisation de variables
	@{"INPUT   " LINK INPUT} placement d'un connecteur d'entrée
	@{"JUNCTION" LINK JUNCTION} placement d'une jonction
	@{"LEN     " LINK LEN} longueur d'une chaîne de caractères
	@{"LIBSPATH" LINK LIBSPATH} choix du tiroir contenant les bibliothèques de symboles
	@{"LINE    " LINK LINE} numéro de ligne où est situé un objet
	@{"LINKREF " LINK LINKREF} affectation d'une référence à un composant
	@{"LINKVAL " LINK LINKVAL} affectation d'une valeur à un composant
	@{"LOAD    " LINK LOAD} chargement d'un schéma
	@{"LOADCLIP" LINK LOADCLIP} chargement d'un clip
	@{"LOADKEYS" LONK LOADKEYS} chargement d'un fichier de macros
	@{"LOADLIB " LINK LOADLIB} chargement d'une bibliothèque de symboles
	@{"LOADPREF" LINK LOADPREF} chargement d'un fichier de préférences
	@{"LOCK    " LINK LOCK} verrouillage saisies utilisateur
	@{"MACRO   " LINK MACRO} appel d'une séquence programmée
	@{"MAP     " LINK MAP} programmation d'une macro clavier
	@{"MARK    " LINK MARK} marquage d'un ou plusieurs objets
	@{"MARKZONE" LINK MARKZONE} marquage des éléments compris dans la zone spécifiée
	@{"MENU    " LINK MENU} exécution de la fonction associée à un menu
	@{"MESSAGE " LINK MESSAGE} affichage d'un message
	@{"MESURE  " LINK MESURE}  renvoie une dimension de la fenêtre
	@{"MODIF   " LINK MODIF} test modification texte
	@{"MOVE    " LINK MOVE} déplacement d'un objet
	@{"NBSHEET " LINK NBSHEET} nombre de schémas présents en mémoire
	@{"NEW     " LINK NEW} ouverture d'une nouvelle fenêtre
	@{"NEXTSEL " LINK NEXTSEL} numéro du prochain élément sélectionné
	@{"OBJECTS " LINK OBJECTS} renvoie le nombre d'éléments d'un schéma
	@{"OPEN    " LINK OPEN} ouverture de schéma(s)
	@{"OUTPUT  " LINK OUTPUT} placement d'un connecteur d'entrée
	@{"PARTNAME" LINK PARTNAME} lecture du nom d'un composant
	@{"PASTE   " LINK PASTE} collage du contenu d'un tampon mémoire
	@{"PICKOBJ " LINK PICKOBJ} choix d'un objet à l'aide de la souris
	@{"PRINT   " LINK PRINT} impression du schéma
	@{"PUTPART " LINK PUTPART} placement d'un composant
	@{"READCONV" LINK READCONV} lecture du type de symbole
	@{"READDEF " LINK READDEF} lecture de la définition d'une fonction
	@{"READDEV " LINK READDEV} lecture du numéro de circuit d'un composant
	@{"READMAP " LINK READMAP} lecture d'une macro clavier
	@{"READTEXT" LINK READTEXT} lecture d'un texte associé à un objet
	@{"REMLIB  " LINK REMLIB} suppression d'une bibliothèque
	@{"REQFILE " LINK REQFILE} choix d'un fichier
	@{"REQSHEET" LINK REQSHEET} choix d'un schéma
	@{"REQUEST " LINK REQUEST} affichage d'un message, choix OUI/NON
	@{"RESET   " LINK RESET} réinitialisation de variables
	@{"ROTATE  " LINK ROTATE} rotation d'un objet
	@{"SAVEIFF " LINK SAVEIFF} sauvegarde au format IFF
	@{"SAVE    " LINK SAVE} sauvegarde d'un schéma
	@{"SAVECLIP" LINK SAVECLIP} sauvegarde d'un clip
	@{"SAVECOPY" LINK SAVECOPY} test/choix sauvegarde copie fichier
	@{"SAVEICON" LINK SAVEICON} test/choix sauvegarde avec création icône
	@{"SAVEKEYS" LONK SAVEKEYS} sauvegarde des macros
	@{"SAVEPREF" LINK SAVEPREF} sauvegarde fichier préférences
	@{"SCREEN  " LINK SCREEN} choix du mode écran
	@{"SCRMODE " LINK SCRMODE} renvoie le mode écran
	@{"SECURITY" LINK SECURITY} détermination d'un nombre de boucles maximum avant débordement
	@{"SELECT  " LINK SELECT} choix d'une option parmi plusieurs
	@{"SELFILE " LINK SELFILE} sélection d'un schéma par son nom
	@{"SELSHEET" LINK SELSHEET} sélection d'un schéma par son indice
	@{"SETCOLOR" LINK SETCOLOR} choix couleur écran
	@{"SETDEV  " LINK SETDEV} choix du circuit ou d'une porte de composant
	@{"SETGRID " LINK SETGRID} choix du pas de la grille
	@{"SETREF  " LINK SETREF} fixe la référence d'un objet
	@{"SETSCALE" LINK SETSCALE} détermination des échelles horizontale et verticale
	@{"SETVAL  " LINK SETVAL} fixe la valeur ou le type d'un objet
	@{"SGN     " LINK SGN} test du signe d'un nombre
	@{"SHEIGHT " LINK SHEIGHT} renvoie la hauteur de l'écran
	@{"STOBACK " LINK STOBACK} passage de l'écran en arrière-plan
	@{"STOFRONT" LINK STOFRONT} passage de l'écran an avant-plan
	@{"STR     " LINK STR} conversion d'un nombre en chaîne de caractères (décimal)
	@{"SWIDTH  " LINK SWIDTH} renvoie la largeur de l'écran
	@{"SYMMETRY" LINK SYMMETRY} symétrie d'un objet
	@{"TEST    " LINK TEST} test si objet sélectionné
	@{"TIME    " LINK TIME} renvoie l'heure courante
	@{"TITLE   " LINK TITLE} choix du titre affiché dans la fenêtre
	@{"TYPE    " LINK TYPE} renvoie le type d'un objet
	@{"TXHEIGHT" LINK TXHEIGHT} renvoie la hauteur occupée par un texte
	@{"TXWIDTH " LINK TXWIDTH} renvoie la largeur occupée par un texte
	@{"UNLINK  " LINK UNLINK} suppression des liens d'un composant
	@{"UNLOCK  " LINK UNLOCK} annule le verrouillage des actions utilisateur
	@{"UNMAP   " LINK UNMAP} annulation d'une macro clavier
	@{"UNMARK  " LINK UNMARK} annulation du marquage d'un objet
	@{"VAL     " LINK VAL} conversion d'une chaîne de caractères en nombre
	@{"VERSION " LINK VERSION} numéro de version du programme
	@{"VSCALE  " LINK VSCALE} renvoie la valeur de l'échelle verticale d'un objet
	@{"WHEIGHT " LINK WHEIGHT} renvoie la hauteur totale du plan de travail
	@{"WHILE   " LINK WHILE} boucle tant_que...
	@{"WIDTH   " LINK WIDTH} renvoie la largeur d'un objet
	@{"WINDOW  " LINK WINDOW} dimensionne la fenêtre schéma
	@{"WRITE   " LINK WRITE} placement d'un texte
	@{"WTOBACK " LINK WTOBACK} renvoie la fenêtre active en arrière-plan
	@{"WTOFRONT" LINK WTOFRONT} renvoie la fenêtre active en avant-plan
	@{"WWIDTH  " LINK WWIDTH} renvoie la largeur totale du plan de travail
	@{"Index thématique" LINK "Index thématique"}
@ENDNODE
@NODE "Index thématique" "Classement thématique des fonctions ARexx"
@TOC Fonctions

	@{"  " LINK "Traitement chaînes"} Traitement des @{"chaînes de caractères" LINK "Chaînes de caractères"}
	@{"  " LINK "Placement objets"} Placement de nouveaux objets sur le schéma
	@{"  " LINK "Gestion des objets"} Édition, modification des objets existants
	@{"  " LINK "Gestion blocs"} Fonctions portant sur des blocs d'objets
	@{"  " LINK Maths} Fonctions mathématiques
	@{"  " LINK Interactivité} Fonctions interactives
	@{"  " LINK "Gestion fenêtres"} Gestion des fenêtres
	@{"  " LINK "Gestion préférences"} Gestion des préférences
	@{"  " LINK Divers} Fonctions diverses
@ENDNODE
@NODE "Traitement chaînes" "Fonctions ARexx de traitement des chaînes de caractères"
@TOC "Index thématique"

	@{"ASC" LINK ASC} code ASCII d'un caractère
	@{"CHR" LINK CHR} renvoie le caractère possédant le code ASCII spécifié
	@{"LEN" LINK LEN} longueur d'une chaîne de caractères
	@{"STR" LINK STR} conversion d'un nombre en chaîne de caractères (décimal)
	@{"VAL" LINK VAL} conversion d'une chaîne de caractères en nombre
@ENDNODE
@NODE "Placement objets" "Fonctions ARexx permettant l'édition du schéma"
@TOC "Index thématique"

	@{"ARC     " LINK ARC} trace un arc de cercle
	@{"DELETE  " LINK DELETE} suppression d'un objet
	@{"DRAW    " LINK DRAW} tracé d'une ligne
	@{"DRAWMODE" LINK DRAWMODE} sélection du type de tracé
	@{"ELLIPSE " LINK ELLIPSE} tracé d'une ellipse ou d'un cercle
	@{"GETPART " LINK GETPART} choix du composant courant
	@{"INPUT   " LINK INPUT} placement d'un connecteur d'entrée
	@{"JUNCTION" LINK JUNCTION} placement d'une jonction
	@{"OUTPUT  " LINK OUTPUT} placement d'un connecteur d'entrée
	@{"PUTPART " LINK PUTPART} placement d'un composant
	@{"WRITE   " LINK WRITE} placement d'un texte
@ENDNODE
@NODE "Gestion blocs" "Fonctions ARexx permettant de gérer les blocs d'objets"
@TOC "Index thématique"

	@{"CLIPUNIT" LINK CLIPUNIT} choix de la zone mémoire utilisée pour les opérations couper/coller
	@{"COPY    " LINK COPY} copie d'un ou plusieurs objets en mémoire
	@{"FIRSTSEL" LINK FIRSTSEL} renvoie le numéro du premier objet sélectionné
	@{"LOADCLIP" LINK LOADCLIP} chargement d'un clip
	@{"MARK    " LINK MARK} marquage d'un ou plusieurs objets
	@{"MARKZONE" LINK MARKZONE} marquage des éléments compris dans la zone spécifiée
	@{"NEXTSEL " LINK NEXTSEL} numéro du prochain élément sélectionné
	@{"PASTE   " LINK PASTE} collage du contenu d'un tampon mémoire
	@{"SAVECLIP" LINK SAVECLIP} sauvegarde d'un clip
	@{"TEST    " LINK TEST} test si objet sélectionné
	@{"UNMARK  " LINK UNMARK} annulation du marquage d'un objet
@ENDNODE
@NODE "Gestion des objets" "Fonctions ARexx permettant de gérer les objets"
@TOC "Index thématique"

	@{"CLIPPATH" LINK CLIPPATH} choix du tiroir contenant les clips
	@{"COL     " LINK COL} numéro de colonne où est situé un objet
	@{"CONVERT " LINK CONVERT} choix symbole alterné pour composant
	@{"DELETE  " LINK DELETE} suppression d'un objet
	@{"EDIT    " LINK EDIT} appel de la requête d'édition
	@{"GETREF  " LINK GETREF} lecture de la référence d'un composant
	@{"GETVAL  " LINK GETVAL} lecture de la valeur ou du type d'un composant
	@{"HEIGHT  " LINK HEIGHT} largeur d'un objet
	@{"HSCALE  " LINK HSCALE} renvoie la valeur de l'échelle horizontale d'un objet
	@{"LIBSPATH" LINK LIBSPATH} choix du tiroir contenant les bibliothèques de symboles
	@{"LINE    " LINK LINE} numéro de ligne où est situé un objet
	@{"LINKREF " LINK LINKREF} affectation d'une référence à un composant
	@{"LINKVAL " LINK LINKVAL} affectation d'une valeur à un composant
	@{"LOADLIB " LINK LOADLIB} chargement d'une bibliothèque de symboles
	@{"MOVE    " LINK MOVE} déplacement d'un objet
	@{"OBJECTS " LINK OBJECTS} renvoie le nombre d'éléments d'un schéma
	@{"PARTNAME" LINK PARTNAME} lecture du nom d'un composant
	@{"READCONV" LINK READCONV} lecture du type de symbole
	@{"READDEV " LINK READDEV} lecture du numéro de circuit d'un composant
	@{"READTEXT" LINK READTEXT} lecture d'un texte associé à un objet
	@{"REMLIB  " LINK REMLIB} suppression d'une bibliothèque
	@{"ROTATE  " LINK ROTATE} rotation d'un objet
	@{"SETDEV  " LINK SETDEV} choix du circuit ou d'une porte de composant
	@{"SETREF  " LINK SETREF} fixe la référence d'un objet
	@{"SETSCALE" LINK SETSCALE} détermination des échelles horizontale et verticale
	@{"SETVAL  " LINK SETVAL} fixe la valeur ou le type d'un objet
	@{"SYMMETRY" LINK SYMMETRY} symétrie d'un objet
	@{"TYPE    " LINK TYPE} renvoie le type d'un objet
	@{"TXHEIGHT" LINK TXHEIGHT} renvoie la hauteur occupée par un texte
	@{"TXWIDTH " LINK TXWIDTH} renvoie la largeur occupée par un texte
	@{"UNLINK  " LINK UNLINK} suppression des liens d'un composant
	@{"VSCALE  " LINK VSCALE} renvoie la valeur de l'échelle verticale d'un objet
	@{"WIDTH   " LINK WIDTH} renvoie la largeur d'un objet
@ENDNODE
@NODE "Gestion préférences" "Fonctions ARexx de gestion des préférences"
@TOC "Index thématique"

	@{"FONTNAME" LINK FONTNAME} nom de la fonte de caractères utilisée
	@{"FONTSIZE" LINK FONTSIZE} taille de la fonte de caractères utilisée
	@{"LOADKEYS" LONK LOADKEYS} chargement d'un fichier de macros
	@{"LOADPREF" LINK LOADPREF} chargement d'un fichier de préférences
	@{"SAVECOPY" LINK SAVECOPY} test/choix sauvegarde copie fichier
	@{"SAVEICON" LINK SAVEICON} test/choix sauvegarde avec création icône
	@{"SAVEKEYS" LONK SAVEKEYS} sauvegarde des macros
	@{"SAVEPREF" LINK SAVEPREF} sauvegarde fichier préférences
	@{"SCREEN  " LINK SCREEN} choix du mode écran
	@{"SCRMODE " LINK SCRMODE} renvoie le mode écran
	@{"SETCOLOR" LINK SETCOLOR} choix couleur écran
	@{"SETGRID " LINK SETGRID} choix du pas de la grille
	@{"SHEIGHT " LINK SHEIGHT} renvoie la hauteur de l'écran
	@{"SWIDTH  " LINK SWIDTH} renvoie la largeur de l'écran
@ENDNODE
@NODE "Maths" "Fonctions ARexx de calcul"
@TOC "Index thématique"

	@{"ABS     " LINK ABS} valeur absolue d'un nombre
	@{"FOR     " LINK FOR} traitement d'une boucle
	@{"IF      " LINK IF} test
	@{"INIT    " LINK INIT} initialisation de variables
	@{"RESET   " LINK RESET} réinitialisation de variables
	@{"SECURITY" LINK SECURITY} nombre de boucles maximum avant débordement
	@{"SGN     " LINK SGN} test du signe d'un nombre
	@{"STR     " LINK STR} conversion d'un nombre en chaîne de caractères (décimal)
	@{"VAL     " LINK VAL} conversion d'une chaîne de caractères en nombre
	@{"WHILE   " LINK WHILE} boucle tant_que...
@ENDNODE
@NODE "Interactivité" "Fonctions ARexx permettant le dialogue avec l'utilisateur"
@TOC "Index thématique"

	@{"ASK     " LINK ASK} saisie d'une chaîne de caractères au clavier
	@{"LOCK    " LINK LOCK} verrouillage saisies utilisateur
	@{"MESSAGE " LINK MESSAGE} affichage d'un message
	@{"PICKOBJ " LINK PICKOBJ} choix d'un objet à l'aide de la souris
	@{"REQFILE " LINK REQFILE} choix d'un fichier
	@{"REQUEST " LINK REQUEST} affichage d'un message, choix OUI/NON
	@{"SELECT  " LINK SELECT} choix d'une option parmi plusieurs
	@{"UNLOCK  " LINK UNLOCK} annule le verrouillage des actions utilisateur
@ENDNODE
@NODE "Divers" "Fonctions ARexx diverses"
@TOC "Index thématique"

	@{"CALL    " LINK CALL} appel d'un script ARexx
	@{"DATE    " LINK DATE} renvoie la date actuelle
	@{"DEF     " LINK DEF} définition d'une nouvelle fonction
	@{"EXEC    " LINK EXEC} interprétation d'une chaîne de caractères
	@{"FINDPART" LINK FINDPART} recherche d'un composant
	@{"FINDREF " LINK FINDREF} recherche d'un composant par sa référence
	@{"FINDVAL " LINK FINDVAL} recherche d'un composant par sa valeur
	@{"HELP    " LINK HELP} affichage d'une aide AmigaGuide
	@{"MACRO   " LINK MACRO} appel d'une séquence programmée
	@{"MAP     " LINK MAP} programmation d'une macro clavier
	@{"MENU    " LINK MENU} exécution de la fonction associée à un menu
	@{"READDEF " LINK READDEF} lecture de la définition d'une fonction
	@{"READMAP " LINK READMAP} lecture d'une macro clavier
	@{"TIME    " LINK TIME} renvoie l'heure courante
	@{"UNMAP   " LINK UNMAP} annulation d'une macro clavier
	@{"VERSION " LINK VERSION} numéro de version du programme
@ENDNODE
@NODE "Gestion fenêtres" "Fonctions ARexx de gestion des fenêtres"
@TOC "Index thématique"

	@{"CLOSE   " LINK CLOSE} ferme la fenêtre texte spécifiée
	@{"DIMSHEET" LINK DIMSHEET} dimensionne la fenêtre (SuperBitmap)
	@{"FILENAME" LINK FILENAME} nom du fichier complet
	@{"FILEPART" LINK FILEPART} nom du fichier
	@{"FONTNAME" LINK FONTNAME} nom de la fonte de caractères utilisée
	@{"FONTSIZE" LINK FONTSIZE} taille de la fonte de caractères utilisée
	@{"LOAD    " LINK LOAD} chargement d'un schéma
	@{"MESURE  " LINK MESURE}  renvoie une dimension de la fenêtre
	@{"MODIF   " LINK MODIF} test modification texte
	@{"NBSHEET " LINK NBSHEET} nombre de schémas présents en mémoire
	@{"NEW     " LINK NEW} ouverture d'une nouvelle fenêtre
	@{"OPEN    " LINK OPEN} ouverture de schéma(s)
	@{"PRINT   " LINK PRINT} impression du schéma
	@{"REQSHEET" LINK REQSHEET} choix d'un schéma
	@{"SAVEIFF " LINK SAVEIFF} sauvegarde au format IFF
	@{"SAVE    " LINK SAVE} sauvegarde d'un schéma
	@{"SELFILE " LINK SELFILE} sélection d'un schéma par son nom
	@{"SELSHEET" LINK SELSHEET} sélection d'un schéma par son indice
	@{"SETCOLOR" LINK SETCOLOR} choix couleur écran
	@{"SETGRID " LINK SETGRID} choix du pas de la grille
	@{"STOBACK " LINK STOBACK} passage de l'écran en arrière-plan
	@{"STOFRONT" LINK STOFRONT} passage de l'écran an avant-plan
	@{"TITLE   " LINK TITLE} choix du titre affiché dans la fenêtre
	@{"WHEIGHT " LINK WHEIGHT} renvoie la hauteur totale de la fenêtre
	@{"WINDOW  " LINK WINDOW} dimensionne la fenêtre schéma
	@{"WTOBACK " LINK WTOBACK} renvoie la fenêtre active en arrière-plan
	@{"WTOFRONT" LINK WTOFRONT} renvoie la fenêtre active en avant-plan
	@{"WWIDTH  " LINK WWIDTH} renvoie la largeur totale du plan de travail
@ENDNODE
@NODE "DEF" "Fonction ARexx DEF"
@TOC "Fonctions"

	Vous pouvez définir un nombre quelconque de fonctions utilisant
    des fonctions internes ainsi que n'importe quel opérateur.
    Une de ces fonctions peut même faire appel à une autre fonction
    précédemment définie. Les arguments peuvent être d'un type quelconque,
    il doivent simplement correspondre aux types attendus par les fonctions
    qui seront appelées ou être compatibles avec les opérateurs utilisés.

	Il ne peut y avoir plus d'une déclaration dans une même ligne.
	La forme de ces définitions est de la forme suivante:
	    DEF nom_fonction(argument,...) = définition des opérations.
	Le mot clé DEF doit impérativement commencer la définition, sans
    aucun espace préalable.

	Le nom des fonctions peut comprendre de 1 à 13 caractères
    alphanumériques, y compris les lettres accentuées et le soulignement (_).
    Le premier caractère doit cependant toujours être une lettre.
	Les fonctions internes ne peuvent être redéfinies.
    Le nombre des arguments est limité à 15 au maximum.
	Ce nombre est fixe pour une définition donnée (vous ne pouvez pas
    déclarer de fonction possédant un nombre variable d'arguments).
	Il doit y avoir au moins un argument dans la définition, mais celui-ci
    peut ne pas être utilisé.
	Les arguments doivent bien entendu posséder des noms distincts.

    Exemples:
	DEF EXPAND(OBJET) = SETSCALE(OBJET,HSCALE(OBJET)+1,VSCALE(OBJET)+1)

	La redéfinition d'une fonction ayant déjà été définie est possible,
    la nouvelle définition remplace alors l'ancienne. Ceci peut être utile
    lorsque vous essayez de définir une fonction complexe.

	Voir aussi :
	    @{"READDEF" LINK READDEF}
@ENDNODE
@NODE "ABS" "Fonction ARexx ABS"
@TOC "Maths"

    ABS(nombre)
	Cette fonction renvoie la valeur absolue du nombre donné en
	argument. Le nombre peut appartenir à une @{"variable" LINK "Variable"}.

	Exemples:
	    ABS(-8)     renvoie 8
	    ABS(4)      renvoie 4
	    ABS(N)      renvoie la valeur absolue du nombre N

	Rappel: les nombres doivent être du type entier.
@ENDNODE
@NODE "ASC" "Fonction ARexx ASC"
@TOC "Fonctions"

    ASC("texte",rang)
	Cette fonction renvoie le code ASCII du caractère appartenant
	à la chaîne de texte passée en argument, du rang spécifié.
	Le rang doit être compris entre 1 et la longueur de la chaîne
	passée en argument.

	Exemples:
	    ASC("essai",1)  renvoie 101 (code ASCII du caractère e)
	    ASC(TEXTE,LEN(TEXTE))   renvoie le code ASCII du dernier
				    caractère de la @{"variable" LINK "Variable"} TEXTE.

	Voir aussi: @{"CHR" LINK "CHR"}
@ENDNODE
@NODE "ARC" "Fonction ARexx ARC"
@TOC "Fonctions"

    ARC (x, y, rayon_horizontal, rayon_vertical, angle_début, angle_fin)
	Trace un arc de cercle. Le centre est spécifié par les coordonnées
	x et y.

	La valeur de l'argument angle de début doit être inférieure à celle
	de l'angle de fin (utilisez éventuellement une valeur négative).
	Elles doivent être spécifiées en degrés, avec une précision
	maximale de 1 degré.

	Si le placement est réussi la valeur renvoyée correspond au
	numéro du nouvel objet, sinon la valeur renvoyée est nulle.

	Exemple :
	    ARC(100,100,25,25,0,90):ARC(100,100,25,25,90,180)   trace un demi-cercle
	    effet identique à celui de la seule instruction suivante:
	    ARC(100,100,25,25,0,180)
	    ou
	    ARC(100,100,25,25,-180,0)       (trace le demi-cercle complémentaire)

	Voir aussi: menu @{"Dessin/Placer arc de cercle" LINK "Place arc"}
		    fonction @{"ELLIPSE" LINK ELLIPSE}
@ENDNODE
@NODE "ASK" "Fonction ARexx ASK"
@TOC "Interactivité"

    ASK("texte")
	Ouvre une requête contenant le texte spécifié. La boîte de requête
	contient une boîte de texte dans laquelle l'utilisateur peut saisir
	une chaîne de caractères. Le texte saisi est renvoyé comme résultat
	si l'utilisateur clique sur le bouton Valide, sinon une chaîne nulle
	est renvoyée (clic sur le bouton Annule).
	Le texte affiché en titre peut contenir de une à treize lignes
	séparées par des sauts de lignes.

	Exemple:
	    ASK("Entrez le premier"+CHR(10)+"mot puis frappez"+CHR(10)+"sur ENTREE")
@ENDNODE
@NODE "CALL" "Fonction ARexx CALL"
@TOC "Divers"

    CALL("script", argument1, argument2...)
	Appel d'un script ARexx. Le nom du script, donné en argument, n'a pas
	à inclure l'extension ".amiCAD". Cette fonction n'est pas utile dans
	un script ARexx mais peut servir dans une @{"macro-commande" LINK Direct} (ALT-Fx ou
	macro locale).
	L'appel peut être fait en spécifiant de 0 à 15 arguments (@{"numériques" LINK "Nombres"}
	ou @{"chaînes de caractères" LINK "Chaînes de caractères"}).

	L'exécution du script se fait en asynchrone, c'est à dire que la main
	est rendue au programme appelant avant la fin de l'exécution du script.
	La valeur renvoyée est le nom du script (sans grand intérêt)...

	Exemples:
	    'CALL("editscript")'
	    'CALL("multiplier",1.5,X)'
@ENDNODE
@NODE "CHR" "Fonction ARexx CHR"
@TOC "Fonctions"

    CHR(code)
	Renvoie le caractère possédant le code ASCII spécifié.

	Utilisé pour obtenir un saut de ligne (CHR(10)) ou un caractère
	spécial non présent sur le clavier.  Le code peut varier de 1 à
	255 maxi.

	Voir aussi: @{"ASC" LINK "ASC"}
@ENDNODE
@NODE "CLIPPATH" "Fonction ARexx CLIPPATH"
@TOC "Gestion blocs"

    CLIPPATH("chemin")
	Détermine l'emplacement (le tiroir) où sont situés les clips.
	Cette fonction permet de modifier le chemin acquis à l'aide de
	l'outil @{"CLIPS" LINK CLIPS}.

	La fonction renvoie le chemin utilisé avant son utilisation.
	Si le chemin spécifié est une chaîne nulle, il n'y a pas de
	modification du chemin utilisé: CLIPPATH("").

	Exemple:
	    CLIPPATH("Work:AmiCAD/Clips")
@ENDNODE
@NODE "CLIPUNIT" "Fonction ARexx CLIPUNIT"
@TOC "Gestion blocs"

    CLIPUNIT(unité)
	Cette fonction permet de choisir la zone mémoire
	utilisée pour les opérations de couper/coller.
	Ce numéro peut varier de 1 à 10.

	La valeur renvoyée correspond au numéro de l'unité qui été
	utilisée AVANT l'appel à cette fonction. Si vous voulez
	connaître celui-ci sans en changer passez une valeur négative
	ou nulle en argument.

	Exemple de script:
	    'CLIPUNIT(1)'       choix d'une nouvelle unité (numéro 1)
	    clip=RESULT 	conserver le numéro de l'ancienne unité
	    ...
	    'CLIPUNIT('clip')'  remettre l'ancienne unité
@ENDNODE
@NODE "CLOSE" "Fonction ARexx CLOSE"
@TOC "Gestion fenêtres"

    CLOSE(fenêtre)
	Cette fonction provoque la fermeture de la fenêtre d'indice
	spécifié. Chaque fenêtre possède un indice différent, en
	commençant par l'indice 0 ( voir @{"SELSHEET" LINK SELSHEET}).
	La valeur renvoyée correspond au nombre de fenêtres texte
	restant présentes en mémoire.

	Utilisez la commande @{"MENU" LINK "MENU"}("Quitter") pour fermer toutes les
	fenêtres et entraîner la fin du programme.

	Pour cacher une fenêtre, sans perdre son texte en mémoire,
	utilisez la commande MENU("Cacher"), pour la réduire à sa
	taille minimale, utilisez la commande MENU("Réduire").
@ENDNODE
@NODE "COL" "Fonction ARexx COL"
@TOC "Gestion des objets"

    COL(numéro_objet)
	Cette fonction permet de connaître le numéro de colonne où est
	situé l'objet spécifié.
	L'argument doit être compris entre 1 et @{"OBJECTS" LINK "OBJECTS"}.
@ENDNODE
@NODE "CONVERT" "Fonction ARexx CONVERT"
@TOC "Gestion des objets"

    CONVERT(numéro_objet, 0/1/-1)
	Le premier argument doit être compris entre 1 et @{"OBJECTS" LINK "OBJECTS"}.
	S'il est nul, l'action validera le mode de placement courant
	des composants (comme en utilisant le menu Dessin/@{"Placer composant" LINK "Place component"}
	par exemple). La valeur renvoyée sera alors égale à 0 si le
	mode de placement courant est le mode "normal", si le mode
	"alterné" était valide, la valeur renvoyée est différente de 0.

	Cette fonction permet de choisir le type de symbole pour un
	composant. Selon la valeur du second argument, l'action sera
	la suivante :
	    - égal à 0: c'est le symbole normal qui sera utilisé,
	    - égal à 1: c'est le deuxième symbole qui sera utilisé,
	    - égal à -1: on change de symbole.

	La valeur renvoyée est alors égale à 1 si l'objet sélectionné
	est bien un composant, sinon c'est un 0.

	Voir aussi: menu Dessin/@{"Alterner symbole" LINK "Alternate symbol"}
@ENDNODE
@NODE "COPY" "Fonction ARexx COPY"
@TOC "Gestion blocs"

    COPY(clip)
	Cette fonction permet de recopier les objets sélectionnés
	dans la zone mémoire spécifiée. Le numéro de clip
	peut varier de 1 à 10.
	Utilisez la fonction @{"PASTE" LINK "PASTE"} pour coller les objets ainsi collés
	ou choisissez l'unité comme unité par défaut (@{"CLIPUNIT" LINK "CLIPUNIT"}) puis
	utilisez le menu @{"Édition/Coller" LINK "Paste form clip"}.

	La valeur renvoyée est égale à 1 si tout se passe normalement.
@ENDNODE
@NODE "DATE" "Fonction ARexx DATE"
@TOC "Divers"

    DATE(jour)
	Renvoie la date courante. Si l'argument jour est différent
	de zéro, le jour de la semaine est inclus.

	Exemples:
	    DATE(0)     renvoie 18-Oct-97
	    DATE(1)     renvoie Samedi 18-Oct-97

	Voir aussi: @{"TIME" LINK TIME}.
@ENDNODE
@NODE "DELETE" "Fonction ARexx DELETE"
@TOC "Gestion des objets"

    DELETE(numéro_objet)
	Supprime l'objet dont le numéro est spécifié.
	Renvoie le nombre d'objets restants.

	La valeur de l'argument doit être comprise
	entre 1 et @{"OBJECTS" LINK OBJECTS}.

    Attention: cette fonction modifie les numéros des objets.
@ENDNODE
@NODE "DIMSHEET" "Fonction ARexx DIMSHEET"
@TOC "Gestion fenêtres"

    DIMSHEET(largeur,hauteur)
	Cette fonction permet de changer les dimensions de la
	fenêtre de travail courante. Ces dimensions sont données
	en pixels. Utilisez le menu @{"Projet/Informations" LINK Informations} pour
	connaître les dimensions de la feuille de travail.

	Rappel: les fenêtres sont du type SuperBitmap, ce qui fait
	que leur surface apparente peut être plus petite que leur
	surface utile (il suffit de regarder l'état des ascenseurs
	vertical et horizontal pour savoir si celle-ci est partiellement
	cachée ou non). Ce type de fenêtre permet un défilement très
	rapide du dessin lorsque le dessin est plus grand que l'écran,
	cependant il peut être gourmand en mémoire chip, si vous
	spécifiez de grandes dimensions. Les dimensions maximales
	pouvant être prises par la fenêtre dépendent bien sûr de la
	quantité de mémoire chip installée sur votre système.
	Des dimensions de 1100 par 700 sont convenables pour un
	système équipé de 2 Mo de chip.

	À noter: la largeur est toujours ramenée à une valeur qui est
	un multiple de 16, afin d'assurer une sauvegarde correcte du
	dessin en utilisant le menu @{"Projet/Sauver format IFF" LINK "Save IFF"}.

	Valeur renvoyée: 1 si l'opération a réussi, 0 dans le cas contraire.
	Attention, aucun contrôle n'est fait sur les valeurs passées en
	arguments.

	Voir aussi: menu @{"Préférences/Dimensions document" LINK "Sheet size"}, fonctions @{"WWIDTH" LINK WWIDTH}, @{"WHEIGHT" LINK WHEIGHT}
@ENDNODE
@NODE "DRAW" "Fonction ARexx DRAW"
@TOC "Fonctions"

    DRAW(x0, y0, x1, y1)
	Trace une ligne en utilisant les coordonnées spécifiées.
	Le type de ligne tracé dépend du mode alors valide (voir
	@{"DRAWMODE" LINK DRAWMODE}).

	Si le placement du tracé réussit, cette fonction renvoie
	le numéro de l'objet qui a été placé, sinon elle renvoie
	0.
@ENDNODE
@NODE "DRAWMODE" "Fonction ARexx DRAWMODE"
@TOC "Fonctions"

    DRAWMODE(type_ligne)
	Détermine quel sera le type de ligne qui sera tracé (voir @{"DRAW" LINK "DRAW"}).
	Si type_ligne est égal à 0: ce seront des lignes en pointillés,
			  égal à 1: ce seront des lignes "normales" (liaisons),
			  égal à 2: ce seront des lignes doubles,
			  égal à 3: ce seront des bus.
	Le menu Dessin est mis à jour en fonction du type sélectionné.

	Cette fonction renvoie le type de ligne qui était en vigueur AVANT
	l'appel de la fonction.
@ENDNODE
@NODE "EDIT" "Fonction ARexx EDIT"
@TOC "Gestion des objets"

    EDIT(numéro_objet)
	Cette fonction appelle la requête permettant d'éditer un élément
	du schéma. Elle a le même effet qu'un double clic sur un objet à
	l'aide du bouton gauche de la souris.
	Aucune valeur n'est renvoyée.

	Cette fonction est utile  associée à une combinaison de  touches
	du clavier.
	Exemple:
	    MAP("alt-e","EDIT(FIRSTSEL)")
	    Il suffit alors  de sélectionner un objet puis  de faire  la
	    combinaison  de touches  ALT-e  au	clavier  pour appeler la
	    requête d'édition du premier élément sélectionné.
@ENDNODE
@NODE "ELLIPSE" "Fonction ARexx ELLIPSE"
@TOC Fonctions

    ELLIPSE(x, y, rayon_horizontal, rayon_vertical)
	Trace une ellipse, le centre est spécifié par les coordonnées
	x et y, les rayons par les deux arguments suivants. Spécifiez
	deux rayons égaux pour tracer un cercle  ou utilisez la macro
	suivante :
	    DEF CERCLE(x,y,rayon)=ELLIPSE(x,y,rayon,rayon)

	Voir aussi: @{"ARC" LINK ARC}
@ENDNODE
@NODE "EXEC" "Fonction ARexx EXEC"
@TOC "Divers"

    EXEC("chaîne de caractères")
	Demande l'interprétation et l'exécution de la chaîne de
	caractères passée en argument, comme s'il s'agissait
	d'une ligne de commande.
	Le résultat dépend naturellement du contenu de la
	chaîne passée en argument.

	Exemple:
	    EXEC(READTEXT(OBJET))   interprète la ligne de texte associée à l'objet spécifié
	    EXEC(READMAP("CTRL-)")  exécute la séquence associée à la combinaison de touches CTRL-)
@ENDNODE
@NODE "FILENAME" "Fonction ARexx FILENAME"
@TOC "Gestion fenêtres"

    FILENAME(nom)
	Renomme la fenêtre courante, avec le nom spécifié.
	Si une chaîne nulle ("") est passée en argument, cette
	fonction renvoie le nom de la fenêtre, y compris le
	chemin complet.

	Voir aussi : @{"FILEPART" LINK FILEPART}
@ENDNODE
@NODE "FILEPART" "Fonction ARexx FILEPART"
@TOC "Gestion fenêtres"

    FILEPART("nom")
	Renomme la fenêtre courante, en conservant le chemin.
	Si une chaîne nulle ("") est passée en argument, cette
	fonction renvoie le nom de la fenêtre courante, sans le
	chemin complet.

	Exemple:
	    Supposons que le fichier courant soit "RAM:sources/Schéma"
	    la fonction FILEPART("") renverrait Schéma, alors que la
	    fonction FILEPART("Nouveau schéma") renommerait le fichier
	    "RAM:sources/Nouveau schéma".

	Voir aussi : @{"FILENAME" LINK FILENAME}
@ENDNODE
@NODE "FINDPART" "Fonction ARexx FINDPART"
@TOC "Divers"

    FINDPART(premier_objet, "composant")
	Lance la recherche du composant dont le nom est spécifié.
	Ce nom correspond au nom du symbole, "Résistance" par exemple
	pour une résistance.
	Le premier argument sert à commencer la recherche après
	un objet déjà trouvé. Cet argument doit prendre une valeur
	comprise entre 1 (la recherche s'effectuera sur tous les
	objets du schéma) et @{"OBJECTS" LINK OBJECTS}.

	La valeur renvoyée est égale au numéro de l'objet qui a
	été trouvé, ou à 0 si aucun objet ne correspond.

	Exemple:
	    'FINDPART(1,"Résistance")'; objet=result
@ENDNODE
@NODE "FINDREF" "Fonction ARexx FINDREF"
@TOC "Divers"

    FINDREF(premier_objet, "référence")
	Lance la recherche du composant dont la référence est
	spécifiée, R3 par exemple pour une résistance ou CI9
	pour un circuit intégré.
	Le premier argument sert à commencer la recherche après
	un objet déjà trouvé. Cet argument doit prendre une valeur
	comprise entre 1 (la recherche s'effectuera sur tous les
	objets du schéma) et @{"OBJECTS" LINK OBJECTS}.

	La valeur renvoyée est égale au numéro de l'objet qui a
	été trouvé, ou à 0 si aucun objet ne correspond.

	Exemple:
	    'FINDREF(1,"R4")'; objet=result
@ENDNODE
@NODE "FINDVAL" "Fonction ARexx FINDVAL"
@TOC "Divers"

    FINDVAL(premier_objet, "valeur")
	Lance la recherche du composant dont la valeur ou le type
	est spécifié, 10k par exemple pour une résistance ou 7400
	pour un circuit intégré.
	Le premier argument sert à commencer la recherche après
	un objet déjà trouvé. Cet argument doit prendre une valeur
	comprise entre 1 (la recherche s'effectuera sur tous les
	objets du schéma) et @{"OBJECTS" LINK OBJECTS}.

	La valeur renvoyée est égale au numéro de l'objet qui a
	été trouvé, ou à 0 si aucun objet ne correspond.

	Exemple:
	    'FINDVAL(1,"10k")'; objet=result
@ENDNODE
@NODE "FIRSTSEL" "Fonction ARexx FIRSTSEL"
@TOC "Gestion blocs"

    FIRSTSEL
	Cette fonction renvoie le numéro du premier objet sélectionné.
	Elle ne nécessite aucun argument. Si aucun objet n'est marqué
	la valeur renvoyée est nulle.
@ENDNODE
@NODE "FONTNAME" "Fonction ARexx FONTNAME"
@TOC "Gestion préférences"

    FONTNAME(x)
	Renvoie le nom de la fonte utilisée dans la fenêtre courante.
	L'argument peut prendre n'importe quelle valeur. Utilisez de
	préférence l'argument @{"SELSHEET" LINK SELSHEET}(-1), en vue d'une compatibilité
	ultérieure.

	Exemple:
	    FONTNAME(SELSHEET(-1))   renvoie topaz.font (par exemple)
@ENDNODE
@NODE "FONTSIZE" "Fonction ARexx FONTSIZE"
@TOC "Gestion préférences"

    FONTSIZE(x)
	Renvoie la taille de la fonte utilisée dans la fenêtre courante.
	L'argument peut prendre n'importe quelle valeur. Utilisez de
	préférence l'argument @{"SELSHEET" LINK SELSHEET}(-1), en vue d'une compatibilité
	ultérieure.

	Exemple:
	    FONTSIZE(SELSHEET(-1))   renvoie 11 (par exemple)
@ENDNODE
@NODE "FOR" "Fonction ARexx FOR"
@TOC "Maths"

    FOR(init,condition_fin,action1,...) cette fonction permet de définir des
	boucles. Le premier argument (init) est exécuté une seule fois,
	quand l'appel de la fonction vient d'être fait. Le second argument
	définit la condition de fin de boucle. Enfin le troisième argument
	ainsi que les arguments suivants s'ils existent sont évalués à
	chaque exécution de la boucle.

	Exemples:
	    FOR (I=0, I<10, I=I+1)
	    Dans cet exemple la @{"variable" LINK "Variable"} I est initialisée à la valeur 0,
	    tant que cette valeur est inférieure à 10, on incrémente cette
	    valeur. I va donc prendre successivement les valeurs 1 à 10.

	    FOR (I=1, I<=10, I=I+1, DELETE(I))
	    Cette formule comprend une instruction supplémentaire
	    permettant de supprimer les 10 premiers objets.

	    N=100:FOR (I=0:J=0, I<=N, J=J+I, I=I+1):J
	    Cette formule permet de calculer la somme des 100 premiers
	    nombres. Le résultat de la somme est renvoyé (:J à la fin).

	Remarque: une boucle bloquée peut être interrompue par deux
	moyens: soit par le nombre de boucles maximal (défini par la
	fonction @{"SECURITY" LINK SECURITY}, soit en appuyant simultanément sur les trois
	touches CTRL, ALT et ESC.
@ENDNODE
@NODE "GETPART" "Fonction ARexx GETPART"
@TOC Fonctions

    GETPART("nom_composant")
	Permet de choisir le composant qui sera dessiné à l'aide
	du menu "Dessin/Placer composant". Le nom du composant peut
	figurer en majuscules comme en mibuscules.
	La fonction renvoie 1 si le composant a été trouvé, 0 sinon.

	Exemples: GETPART("RÉSISTANCE")
		  IF(GETPART(ASK("Composant?")),MENU("Placer composant"),0)

	À noter,  une information  intéressante:  le nom du composant
	peut être spécifié par ses premières lettres seulement, c'est
	en effet le premier composant dont le début du nom correspond
	à l'argument qui sera choisi. Ainsi dans le second exemple il
	suffit de saisir la lettre R dans la requête pour choisir une
	résistance  comme  composant courant  (si la bibliothèque  de
	symboles Symboles_AmiCAD est la première de la liste).

	Voir aussi: @{"LOADLIB" LINK "LOADLIB"}, menu @{"Dessin/Placer composant" LINK "Place component"}
@ENDNODE
@NODE "GETREF" "Fonction ARexx GETREF"
@TOC "Gestion des objets"

    GETREF(numéro_objet)
	Renvoie le numéro de l'objet associé à la référence du composant
	spécifié.
	Le numéro de l'objet passé en argument doit naturellement être
	un composant.
	Si l'objet est d'un autre type la fonction renvoie -1.
	Si cette référence n'existe pas la fonction renvoie 0.

	Le numéro d'objet doit avoir sa valeur comprise entre 1
	et @{"OBJECTS" LINK OBJECTS}.

	Exemple : READTEXT(GETREF(FIRSTSEL))

	Voir aussi : @{"SETREF" LINK SETREF}, @{"LINKREF" LINK LINKREF}, @{"UNLINK" LINK UNLINK}, @{"GETVAL" LINK GETVAL}
@ENDNODE
@NODE "GETVAL" "Fonction ARexx GETVAL"
@TOC "Gestion des objets"

    GETVAL(numéro_objet)
	Renvoie le numéro de l'objet associé à la valeur du composant
	spécifié.
	Le numéro de l'objet passé en argument doit naturellement être
	un composant.
	Si l'objet est d'un autre type la fonction renvoie -1.
	Si cette référence n'existe pas la fonction renvoie 0.

	Le numéro d'objet doit avoir sa valeur comprise entre 1
	et @{"OBJECTS" LINK OBJECTS}.

	Exemple : READTEXT(GETVAL(FIRSTSEL))

	Voir aussi : @{"SETVAL" LINK SETVAL}, @{"LINKVAL" LINK LINKVAL}, @{"UNLINK" LINK UNLINK}, @{"GETREF" LINK GETREF}
@ENDNODE
@NODE "HEIGHT" "Fonction ARexx HEIGHT"
@TOC "Gestion des objets"

    HEIGHT (numéro_objet)
	Renvoie la hauteur de l'objet spécifié, en pixels.
	Le numéro d'objet doit avoir sa valeur comprise entre 1
	et @{"OBJECTS" LINK OBJECTS}.

	Voir aussi: @{"WIDTH" LINK WIDTH}
@ENDNODE
@NODE "HELP" "Fonction ARexx HELP"
@TOC Divers

    HELP("node")
	Cette fonction permet l'appel d'AmigaGuide, comme par le
	menu @{"Projet/Aide" LINK "Help?"}. L'argument doit être le
	nom d'un noeud (node) du fichier AmiCAD.guide. Vous
	pouvez, en particulier, spécifier n'importe quel nom
	de fonction ou de menu.

	Exemples:
	    HELP("Copy to clip")
	    HELP("DRAW")
@ENDNODE
@NODE "HSCALE" "Fonction ARexx HSCALE"
@TOC "Gestion des objets"

    HSCALE(numéro_objet)
	Cette fonction renvoie la valeur de l'échelle horizontale de
	l'objet spécifié. La valeur de l'argument doit être comprise
	entre 1 et @{"OBJECTS" LINK OBJECTS}.

	Voir aussi: @{"VSCALE" LINK VSCALE}
@ENDNODE
@NODE "IF" "Fonction ARexx IF"
@TOC "Maths"

    IF(x, a1, a2)
	Si x est différent de zéro, renvoie a1 sinon renvoie a2.
	Seul a1 OU a2 sera évalué, selon le résultat de x. À noter que les
	arguments a1 et a2 peuvent être de n'importe quel type, ils
	peuvent également faire appel à d'autres fonctions, y compris
	d'autres fonctions IF.

	Exemples:
	    IF(A>B,A,B)                 renvoie la valeur maximale
	    DEF MIN(A,B)=IF(A<B,A,B)    définition fonction MIN
	    IF(GETPART(ASK("Composant?")),MENU("Placer composant"),0)
@ENDNODE
@NODE "INIT" "Fonction ARexx INIT"
@TOC "Maths"

    INIT(variable,...)
	    Cette fonction est identique à la fonction @{"RESET" LINK "RESET"},
	cependant le type est réinitialisé, c'est à dire que la
	@{"variable" LINK "Variable"} pourra ensuite prendre n'importe quel type autorisé
	(numérique ou chaîne de caractères).
	    Le nombre d'arguments est quelconque.

	Voir aussi : @{"RESET" LINK RESET}
@ENDNODE
@NODE "INPUT" "Fonction ARexx INPUT"
@TOC "Placement objets"

    INPUT("nom", x, y)
	Place le connecteur avec le nom spécifié, aux coordonnées x, y.
	La flèche du connecteur est dirigée vers la gauche.
	Si la fonction réussit, elle renvoie le numéro de l'objet, sinon 0.

	Voir aussi: @{"OUTPUT" LINK OUTPUT}
@ENDNODE
@NODE "JUNCTION" "Fonction ARexx JUNCTION"
@TOC Fonctions

    JUNCTION(x, y)
	Place une jonction à l'emplacement spécifié. L'échelle verticale
	et l'échelle horizontale courantes sont prises en compte pour
	déterminer le diamètre de cet élément.
	Si le placement est réussi, la fonction renvoie le numéro du
	nouvel objet qui a été placé, sinon elle renvoie 0.
@ENDNODE
@NODE "LEN" "Fonction ARexx LEN"
@TOC "Fonctions"

    LEN("chaîne")
	Renvoie la longueur de la chaîne de caractères passée
	en argument.
@ENDNODE
@NODE "LIBSPATH" "Fonction ARexx LIBSPATH"
@TOC "Gestion blocs"

    LIBSPATH("chemin")
	Détermine l'emplacement (le tiroir) où sont situés les bibliothèques
	de symboles.
	Cette fonction permet de modifier le chemin acquis à l'aide de
	l'outil @{"LIBS" LINK LIBS}.

	La fonction renvoie le chemin utilisé avant son utilisation.
	Si le chemin spécifié est une chaîne nulle, il n'y a pas de
	modification du chemin utilisé: LIBSPATH("").

	Exemple:
	    LIBSPATH("Work:AmiCAD/Symboles")
@ENDNODE
@NODE "LINE" "Fonction ARexx LINE"
@TOC "Gestion des objets"

    LINE(numéro_objet)
	Cette fonction renvoie le numéro de ligne où est situé l'objet
	spécifié. L'argument doit être compris entre 1 et @{"OBJECTS" LINK OBJECTS}.

@ENDNODE
@NODE "LINKREF" "Fonction ARexx LINKREF"
@TOC "Gestion des objets"

    LINKREF(objet1,objet2)
	Cette fonction permet d'affecter à un objet du type composant
	une référence. L'objet déterminant la référence doit être du
	type texte et ne doit pas être déjà lié à un autre composant.
	Les arguments doivent être compris entre 1 et @{"OBJECTS" LINK OBJECTS}, ils
	peuvent être placés dans n'importe quel ordre.

	Exemple : LINKREF(FIRSTSEL,NEXTSEL(FIRSTSEL))

	Voir aussi: SETREF, GETREF, LINKVAL, SETVAL, GETVAL
@ENDNODE
@NODE "LINKVAL" "Fonction ARexx LINKVAL"
@TOC "Gestion des objets"

    LINKVAL(objet1,objet2)
	Cette fonction permet d'affecter à un objet du type composant
	une valeur. L'objet déterminant cette valeur doit être du
	type texte et ne doit pas être déjà lié à un autre composant.
	Les arguments doivent être compris entre 1 et @{"OBJECTS" LINK OBJECTS}, ils
	peuvent être placés dans n'importe quel ordre.

	Exemple : LINKVAL(FIRSTSEL,NEXTSEL(FIRSTSEL))

	Voir aussi: SETREF, GETREF, LINKREF, SETVAL, GETVAL
@ENDNODE
@NODE "LOAD" "Fonction ARexx LOAD"
@TOC "Gestion fenêtres"

    LOAD("nom_fichier")
	Charge le fichier schéma spécifié dans la fenêtre courante.
	La fenêtre perd son contenu, même s'il avait été modifié.
	Utilisez la commande @{"MODIF" LINK MODIF} pour savoir si le schéma a été
	modifié auparavant, sans avoir été sauvé.
	La fenêtre prend le nom du fichier qui a été chargé.
	Renvoie 0 si tout s'est bien passé, sinon un code d'erreur.

	Voir aussi: @{"OPEN" LINK OPEN}, @{"SAVE" LINK SAVE}
@ENDNODE
@NODE "LOADCLIP" "Fonction ARexx LOADCLIP"
@TOC "Gestion blocs"

    LOADCLIP(unité_clip,"fichier")
	Charge le fichier spécifié dans l'unité spécifiée. Si le
	nom du fichier n'est pas spécifié, la recherche de celui-ci
	s'effectue dans le chemin courant, puis dans le chemin spécifié
	par le type d'outil @{"CLIPS" LINK CLIPS}.

	Voir aussi: @{"CLIPUNIT" LINK CLIPUNIT}, @{"SAVECLIP" LINK SAVECLIP}.
@ENDNODE
@NODE "LOADKEYS" "Fonction ARexx LOADKEYS"
@TOC "Gestion préférences"

    LOADKEYS("fichier_macros")
	Cette fonction permet de charger les combinaisons de touches
	définies dans le fichier passé en argument. Ce fichier doit
	avoir été préalablement sauvé par le menu @{"Préférences/Touches/Sauver" LINK Keys}
	ou la fonction @{"SAVEKEYS" LINK SAVEKEYS}.

	Exemple: LOADKEYS("Touches AmiCAD")

	Voir aussi : MAP, @{"Mode direct" LINK Direct}
@ENDNODE
@NODE "LOADLIB" "Fonction ARexx LOADLIB"
@TOC "Gestion des objets"

    LOADLIB("nom_bibliothèque")
	Cette fonction permet de charger une bibliothèque de symboles
	en mémoire, elle renvoie 1 si la bibliothèque a été chargée.
	Si le nom de la bibliothèque ne comporte pas de nom de
	répertoire ou de "device" (DF0:, Work:, etc...), la recherche
	s'effectuera dans le chemin courant puis dans le chemin
	spécifié par le type d'outil @{"LIB" LINK LIB}.

	Exemple : LOADLIB("Symboles CMOS")

	Voir aussi : @{"REMLIB" LINK REMLIB}
@ENDNODE
@NODE "LOADPREF" "Fonction ARexx LOADPREF"
@TOC "Gestion préférences"

    LOADPREF("nom_fichier")
	Charge les préférences contenues dans le fichier spécifié.
	Ce fichier doit naturellement être au format convenable,
	c'est à dire qu'il a dû être créé lors d'une @{"sauvegarde" LINK Configuration}
	des préférences.
	La ConfigFile.library doit être présente dans votre répertoire libs:
@ENDNODE
@NODE "LOCK" "Fonction ARexx LOCK"
@TOC "Interactivité"

    LOCK(x)
	Verrouille la fenêtre d'indice spécifié (voir @{"SELSHEET" LINK SELSHEET}). Si x vaut -1
	toutes les fenêtres sont verrouillées. C'est à dire que pendant toute
	l'exécution du script l'utilisateur ne peut plus avoir accès au
	texte: les menus ne sont plus accessibles et les opérations faites
	à l'aide du clavier ou de la souris ne sont plus prises en compte.
	Si un verrouillage est effectué sur une fenêtre déjà bloquée, un
	compteur est incrémenté, il faut ensuite que la fenêtre soit
	débloquée autant de fois qu'elle a été bloquée avant qu'elle ne
	soit effectivement déverrouillée. Certaines fonctions, comme
	le choix d'un fichier, la sauvegarde, le chargement, l'impression,
	entraînent un verrouillage temporaire de toutes les fenêtres.
	Vous avez généralement intérêt à verrouiller toutes les fenêtres,
	sauf condition très particulière (LOCK(-1)). Pour verrouiller
	uniquement la fenêtre active, utilisez l'écriture suivante:
	    LOCK(SELSHEET(-1))

	Valeur renvoyée: code supérieur ou égal à zéro si opération réussie,
	    -1 si verrouillage impossible (manque de mémoire ?).

	Nota: les fenêtres sont automatiquement débloquées lorsque l'exécution
	d'un script se termine. S'il se produit un blocage vous pouvez
	également mettre fin à cette situation en cliquant deux fois sur
	l'icône du programme située sur l'écran du Workbench.
	Cette fonction ne peut être appelée depuis une macro clavier (il
	y aurait rique de blocage total des entrées/sorties).

	Voir aussi: @{"UNLOCK" LINK UNLOCK}.
@ENDNODE
@NODE "MACRO" "Fonction ARexx MACRO"
@TOC "Divers"

    MACRO(x)
	Exécute la macro associée à l'une des dix touches de fonctions F1 (x=1)
	à F10 (x=10).   Cette  fonction est surtout pratique pour  exécuter des
	appels de macros entre elles mêmes. Je l'utilise en liaison avec le
	menu @{"Macros/Mode direct" LINK Direct}.
	Ainsi la touche F4 peut par exemple appeler la macro associée à la
	touche F5 (MACRO(5)).
	Valeur renvoyée: résultat du calcul de la macro.

	À noter que le type du résultat de la macro peut être quelconque:
	numérique ou chaîne de caractères.
@ENDNODE
@NODE "MAP" "Fonction ARexx MAP"
@TOC Divers

    MAP("combinaison touches", "séquence")
	Cette fonction permet de programmer une macro-commande, qui
	sera exécutée lors de l'appui d'une certaine combinaison de
	touches. Les touches ALT, SHIFT et CTRL peuvent être utilisées
	pour définir la touche (il faut d'ailleurs utiliser au moins
	l'une d'entre elles).
	Seules les touches définies par un seul caractère sont
	définissables (pour l'instant), vous ne pouvez définir par
	cette fonction, ni les touches de fonction, ni les flèches.

	La séquence peut inclure n'importe quelle autre commande, elle
	doit être incluse entre des parenthèses (chaîne de caractères).
	La définition peut commencer par le signe =, le résultat de
	la macro alors automatiquement affiché, s'il y en a un.

	À noter que ces définitions sont sauvées dans le fichier de
	configuration AmiCAD.keys lors d'une opération de
	sauvegarde des @{"Préférences" LINK Configuration}, et sont donc récupérées
	lors d'une opération de lecture ou au lancement du programme.

	Exemples:
	    MAP("shift-ctrl-a","SAVE(""Prog:Projets/Schémas/Essai schéma"")")
	    MAP("CTRL-)","CALL(""Swap"")")

	Voir aussi:
	    @{"READMAP" LINK READMAP}, @{"UNMAP" LINK UNMAP}
@ENDNODE
@NODE "MARK" "Fonction ARexx MARK"
@TOC "Gestion blocs"

    MARK(numéro_objet,...)
	Permet de sélectionner un ou plusieurs objets. Les arguments
	doivent avoir une valeur comprise entre 1 et @{"OBJECTS" LINK OBJECTS}.
	Cette fonction renvoie le nombre d'objets qui ont été
	effectivement sélectionnés.
@ENDNODE
@NODE "MARKZONE" "Fonction ARexx MARKZONE"
@TOC "Gestion blocs"

    MARKZONE(x0, x1, y0, y1)
	Permet de sélectionner les objets compris dans le rectangle
	défini par les points de coordonnées x0, y0 et x1, y1. Les
	éléments doivent être entièrement dans la zone pour être
	sélectionnés.
	Cette fonction ne renvoie aucune valeur particulière.

	Pour sélectionner l'ensemble des éléments du schéma, utilisez
	la commande suivante:
	    MARKZONE (0, 0, WWIDTH(-1)-1, WHEIGHT(-1)-1)
@ENDNODE
@NODE "MENU" "Fonction ARexx MENU"
@TOC "Divers"

    MENU("intitulé menu")
	Appelle le menu dont le titre (ou le début du titre seul) est spécifié.
	Certains menus sont cependant inopérants pour cette fonction
	comme @{"Macros" LINK Macros} ou @{"Préférences/Configuration" LINK Configuration}
	Il faut aussi savoir que les titres des menus comportant des espaces,
	comme "Effacer fichier" comportent des "espaces solides", obtenus en
	frappant ALT-espace au clavier. Ceci a été rendu nécessaire par
	AmigaGuide qui ne retrouve pas les noeuds (nodes) dont le nom comporte
	des espaces (à moins que je n'aie fait une bétise ?). Il faut donc bien
	taper le nom des menus concernés avec ces "espaces solides".
	    Ex: MENU ("Quit")   Entraîne la fermeture de tous les tableaux
		MENU ("Copier") Recopie des objets sélectionnés dans le tampon mémoire

	Valeur renvoyée: 1 si le menu a été trouvé, 0 sinon.
@ENDNODE
@NODE "MESSAGE" "Fonction ARexx MESSAGE"
@TOC "Interactivité"

    MESSAGE("chaîne")
	Affiche une requête contenant le message spécifié. Ce texte peut
	contenir de une à treize lignes séparées par des sauts de lignes.
	    Ex: MESSAGE("Ceci est un"+CHR(10)+"message.")

	Valeur renvoyée: 0.
@ENDNODE
@NODE "MESURE" "Fonction ARexx MESURE"
@TOC "Gestion fenêtres"

    MESURE(dimension fenêtre)
	Renvoie une des dimensions de la fenêtre courante. La valeur qui
	est renvoyée dépend de celle passée en argument:
	    égal 0: coordonnée gauche de l'emplacement de la fenêtre
	    égal 1: coordonnée haute de l'emplacement de la fenêtre
	    égal 2: largeur de la fenêtre (en pixels)
	    égal 3: hauteur de la fenêtre (en pixels)
	    égal 4: largeur maximale pouvant être prise par la fenêtre
	    égal 5: hauteur maximale pouvant être prise par la fenêtre
	    égal 6: largeur de l'écran
	    égal 7: hauteur de l'écran
	Si la fenêtre est cachée la valeur renvoyée est toujours nulle,
	sauf pour les dimensions de l'écran, nulles uniquement si l'écran
	est fermé (quand toutes les fenêtres sont cachées).
	Si la fenêtre est réduite la valeur déterminant sa dimension
	est renvoyée sous forme négative (soit pour les valeurs de
	l'argument égales de 0 à 3 compris).

	Voir aussi: @{"WINDOW" LINK WINDOW}
@ENDNODE
@NODE "MODIF" "Fonction ARexx MODIF"
@TOC "Gestion fenêtres"

    MODIF(fenêtre)
	Permet de savoir si une fenêtre contient un schéma ayant
	été modifié, sans avoir été sauvé. L'argument peut être
	positif ou nul, comme renvoyé par la fonction @{"SELSHEET" LINK SELSHEET} :
	c'est l'information concernant cette fenêtre qui est
	alors renvoyée. Si l'argument est négatif, c'est pour
	la fenêtre courante que l'information est renvoyée.

	La valeur renvoyée est nulle si le schéma n'a pas été
	modifié depuis la dernière sauvegarde, sinon elle est
	normalement égale à 1.

	Exemple:
	    'MODIF(-1)'
	    if result~=0 then 'MENU("Sauver")'

	    Autre écriture (plus rapide):
	    'IF(MODIF(-1),MENU("Sauver"),0)'

	    Ce petit script peut être utilisé pour une sauvegarde
	    automatique.
@ENDNODE
@NODE "MOVE" "Fonction ARexx MOVE"
@TOC "Gestion des objets"

    MOVE(numéro_objet, dx, dy)
	Cette fonction permet de déplacer un objet du nombre de
	pixels spécifié par les valeurs de dx et dy.
	Le numéro d'objet doit avoir sa valeur comprise entre 1
	et @{"OBJECTS" LINK OBJECTS}.

	Aucune valeur n'est renvoyée par cette fonction
@ENDNODE
@NODE "NBSHEET" "Fonction ARexx NBSHEET"
@TOC "Gestion fenêtres"

    NBSHEET(x)
	Renvoie le nombre de schémas présents en mémoire. Ce
	comptage s'effectue sur tout ou partie des fenêtres,
	selon la valeur de l'argument:
	 égal 0:  on ne compte que les schémas cachés
	 égal 1:  on ne compte que les schémas ouverts (non cachés ou réduits)
	 égal -1: on compte tous les schémas

	Exemple:
	    NBSHEET(-1)-NBSHEET(0)  'renvoie le nombre de fenêtres réduites
@ENDNODE
@NODE "NEW" "Fonction ARexx NEW"
@TOC "Gestion fenêtres"

    NEW("titre")
	Provoque l'ouverture d'une nouvelle fenêtre, le nom de
	cette fenêtre est celui passé en argument. Si l'argument
	est une chaîne nulle, la fenêtre prend le nom "Innomé".
	Valeur renvoyée: 1 si réussi, 0 sinon.
@ENDNODE
@NODE "NEXTSEL" "Fonction ARexx NEXTSEL"
@TOC "Gestion blocs"

    NEXTSEL(numéro_objet)
	Renvoie le numéro d'objet sélectionné, suivant celui qui
	est spécifié en argument. Cette fonction permet ainsi,
	associée à @{"FIRSTSEL" LINK FIRSTSEL}, de parcourir tous les éléments
	sélectionnés.
@ENDNODE
@NODE "OBJECTS" "Fonction ARexx OBJECTS"
@TOC "Gestion des objets"

    OBJECTS(fenêtre)
	Cette fonction renvoie le nombre d'éléments appartenant à
	la fenêtre spécifiée ou à la fenêtre courante, si l'argument
	vaut -1.

	 Voir aussi : @{"SELSHEET" LINK SELSHEET}
@ENDNODE
@NODE "OPEN" "Fonction ARexx OPEN"
@TOC "Gestion fenêtres"

    OPEN("nom_fichier")
	Cette fonction permet de charger un fichier dans une @{b}nouvelle@{ub}
	fenêtre, mais à la différence de la fonction @{"LOAD" LINK LOAD}, elle
	permet également le chargement de plusieurs fichiers. Il
	suffit pour cela de spécifier des caractères génériques
	(#?[]) dans le nom du fichier, comme prévu sous DOS.
	Tous les schémas correspondant à ce format seront chargés.
	Une nouvelle fenêtre est ouverte pour chacun des schémas
	trouvés, correspondant à la demande.
	La fonction renvoie 0 si tout s'est bien passé, un code d'erreur (valeur
	non nulle) s'il s'est produit un problème.

	Exemples :
	    OPEN("Travail:AmiCAD/Schémas/Projet_TV/#?") demande le
		chargement de tous les fichiers du répertoire Projet_TV
	    OPEN("#?.sch")  demande de charger tous les fichiers ayant
		l'extension .sch, situés dans le répertoire courant
@ENDNODE
@NODE "OUTPUT" "Fonction ARexx OUTPUT"
@TOC "Placement objets"

    OUTPUT(nom_connecteur, x, y)
	Cette fonction permet de placer un connecteur d'entrée à
	l'emplacement spécifié par les coordonnées x et y.
	Elle renvoie le numéro de l'objet qui a été placé, si elle
	réussit, sinon elle renvoie 0.

	Voir aussi : @{"INPUT" LINK INPUT}
@ENDNODE
@NODE "PARTNAME" "Fonction ARexx PARTNAME"
@TOC "Gestion des objets"

    PARTNAME(numéro_objet)
	Cette fonction permet de savoir quel est le nom d'un composant.
	Elle renvoie une chaîne nulle si l'objet choisi n'est pas un
	composant.

	Le numéro d'objet doit avoir sa valeur comprise entre 1
	et @{"OBJECTS" LINK "OBJECTS"}.

	Voir aussi : @{"PUTPART" LINK PUTPART}, @{"GETPART" LINK GETPART}
@ENDNODE
@NODE "PASTE" "Fonction ARexx PASTE"
@TOC "Gestion blocs"

    PASTE(clip, x, y)
	Collage du contenu du tampon mémoire spécifié, à l'emplacement
	donné par les arguments x et y.
	Aucune valeur particulière n'est renvoyée.

	Voir aussi: @{"COPY" LINK "COPY"}
@ENDNODE
@NODE "PICKOBJ" "Fonction ARexx PICKOBJ"
@TOC "Interactivité"

    PICKOBJ("message")
	Affiche le message spécifié dans la barre de titre de la fenêtre,
	puis attend un clic de l'utilisateur dans la fenêtre. Renvoie le
	numéro de l'objet sur lequel a eu lieu le clic (0, s'il n'y en a pas).
	L'utilisateur peut faire défiler le texte à l'aide des ascenseurs
	et des boutons associés.Il peut aussi annuler l'opération en appuyant
	sur le bouton droit de la souris ou sur une touche du clavier, la
	valeur renvoyée est alors -1.
@ENDNODE
@NODE "PUTPART" "Fonction ARexx PUTPART"
@TOC "Placement objets"

    PUTPART("nom_composant", x, y)
	Place le composant spécifié à l'emplacement donné par les
	arguments suivants. Attention la référence et la valeur
	ne sont pas placés, utilisez les fonctions @{"SETREF" LINK SETREF} et
	@{"SETVAL" LINK SETVAL} ou @{"LINKREF" LINK LINKREF} et @{"LINKVAL" LINK LINKVAL} pour cela.

	Cette fonction renvoie le code de l'objet qui a été placé
	si elle réussit, sinon elle renvoie 0.

	Voir aussi: @{"GETPART" LINK GETPART}, @{"PARTNAME" LINK PARTNAME}
@ENDNODE
@NODE "PRINT" "Fonction ARexx PRINT"
@TOC "Gestion fenêtres"

    PRINT(rapport, rotation)
	@{"Imprime" LINK Print} le schéma, en tenant compte des arguments
	rapport (facteur d'agrandissement, doit être supérieur ou
	égal à 1) et rotation (si égal à 0, le schéma est imprimé
	comme il est visible à l'écran, si égal à 1, le schéma est
	imprimé avec une rotation de 90 degrés).
	Renvoie 0 si tout se passe bien, un code d'erreur dans le
	cas contraire.
@ENDNODE
@NODE "READDEF" "Fonction ARexx READDEF"
@TOC Divers

    READDEF("fonction")
	Cette fonction permet de connaître la définition associée à
	une fonction. Le nom de la fonction passée en argument doit
	figurer en MAJUSCULES, entre parenthèses. Cette fonction
	doit bien sûr avoir été préalablement définie à l'aide de
	la fonction DEF, sinon une chaîne nulle est renvoyée.
	Vous ne pouvez lire les définitions préprogrammées, comme
	ABS, ASK, etc...

	Exemple :
	    READDEF("CIRCLE")   renvoie la définition associée à la
				fonction CIRCLE, si elle existe.

	Voir aussi:
	    @{"DEF" LINK DEF}
@ENDNODE
@NODE "READCONV" "Fonction ARexx READCONV"
@TOC "Gestion des objets"

    READCONV(numéro_objet)
	Cette fonction permet de savoir quel est le type de symbole
	utilisé pour afficher un composant. Elle renvoie -1 si l'objet
	choisi n'est pas un composant, 0 si ce composant est affiché
	normalement ou 1 si c'est le symbole alterné qui est utilisé.

	Le numéro d'objet doit avoir sa valeur comprise entre 1
	et @{"OBJECTS" LINK OBJECTS}.

	Voir aussi : @{"CONVERT" LINK CONVERT}, menu Dessin/@{"Alterner symbole" LINK "Alternate symbol"}
@ENDNODE
@NODE "READDEV" "Fonction ARexx READDEV"
@TOC "Gestion des objets"

    READDEV(numéro_objet)
	Cette fonction permet de savoir quel est la porte ou le
	circuit utilisé par un composant. Elle renvoie -1 si l'objet
	choisi n'est pas un composant, 0 si ce composant ne comprend
	qu'un circuit ou bien le numéro du circuit sélectionné (alors
	supérieur ou égal à 1).

	Le numéro d'objet doit avoir sa valeur comprise entre 1
	et @{"OBJECTS" LINK OBJECTS}.

	Voir aussi : @{"SETDEV" LINK SETDEV}
@ENDNODE
@NODE "READTEXT" "Fonction ARexx READTEXT"
@TOC "Gestion des objets"

    READTEXT(numéro_objet)
	Renvoie le texte associé à un objet, cet objet peut être un
	élément de texte, ou un connecteur (entrée ou sortie).
	Si ce texte n'existe pas ou si l'objet est d'un type différent
	la fonction renvoie une chaîne nulle.

	Le numéro d'objet doit avoir sa valeur comprise entre 1
	et @{"OBJECTS" LINK OBJECTS}.
@ENDNODE
@NODE "GETVAL" "Fonction ARexx GETVAL"
@TOC "Gestion des objets"

    GETVAL(numéro_objet)
	Renvoie le texte associé à la valeur du composant spécifié.
	Le numéro de l'objet passé en argument doit naturellement être
	un composant. Si cette référence n'existe pas ou si l'objet
	est d'un autre type la fonction renvoie une chaîne nulle.

	Le numéro d'objet doit avoir sa valeur comprise entre 1
	et @{"OBJECTS" LINK OBJECTS}.

	Voir aussi : @{"READDEF" LINK READDEF}
@ENDNODE
@NODE "READMAP" "Fonction ARexx READMAP"
@TOC Divers

    READMAP("combinaison touches")
	Cette fonction renvoie une chaîne de caractère contenant la
	séquence de commande associée à la combinaison de touches
	spécifiée. Elle permet ainsi de créer des macros qui peuvent
	s'appeler les unes les autres. Sa vocation est cependant de
	vérifier qu'une séquence n'existe pas déjà pour une combinaison
	de touches donnée.

	Exemples:
	    READMAP("shift-ctrl-a")
	    READMAP("CTRL-i")
	    READMAP("ALT-µ")

	Voir aussi:
	    @{"MAP" LINK MAP}, @{"UNMAP" LINK UNMAP}
@ENDNODE
@NODE "REMLIB" "Fonction ARexx REMLIB"
@TOC "Gestion des objets"

    REMLIB("nom_bibliothèque")
	Supprime la bibliothèque spécifiée de la mémoire.
	Attention : tous les éléments qui en sont issus seront
	supprimés du schéma (sans avertissement).
	Cette opération peut permettre de gagner de la mémoire,
	en supprimant par exemple une bibliothèque qui n'est
	plus utilisée.

	Vous pouvez aussi utiliser le bouton "Supprimer" de la
	requête de choix d'un composant.

	Exemple : REMLIB("Symboles TTL")

	Voir aussi : @{"LOADLIB" LINK LOADLIB}
@ENDNODE
@NODE "REQFILE" "Fonction ARexx REQFILE"
@TOC "Interactivité"

    REQFILE("titre_requête","chemin")
	Ouvre la boîte de requête de fichier, avec le titre spécifié.
	La requête s'ouvre en explorant le chemin spécifié. Ce chemin
	doit correspondre à celui d'un répertoire ou d'un volume.

	Renvoie le nom du fichier sélectionné ou une chaîne nulle
	si l'utilisateur clique sur le bouton Annule.

	Exemple: REQFILE("Choisissez un fichier","Work:AmiCAD")
@ENDNODE
@NODE "REQSHEET" "Fonction ARexx REQSHEET"
@TOC "Gestion fenêtres"

    REQSHEET("titre")
	Cette fonction permet de choisir, à l'aide d'une boîte de requête,
	un schéma parmi ceux qui sont chargés en mémoire. Le titre est
	affiché en première ligne, il ne doit pas comprendre de saut de
	ligne. Le numéro de schéma choisi (de 1 à x, selon le nombre de
	schémas présents en mémoire) est renvoyé. Si l'utilisateur
	appuie sur le bouton droit de la souris, ou bien si un problème
	survient une valeur inférieure ou égale à zéro est renvoyée.
	Le fonctionnement est analogue à celui obtenu après un double
	clic sur le @{"bouton central" LINK Sheets} de la souris, cependant avec cette
	fonction vous pouvez choisir le titre affiché en en-tête, et
	le numéro du bouton choisi est renvoyé.
@ENDNODE
@NODE "REQUEST" "Fonction ARexx REQUEST"
@TOC "Interactivité"

    REQUEST("titre")
	Affiche une requête avec le texte spécifié (jusqu'à treize
	lignes de texte, séparés par des sauts de ligne), et deux
	boutons OUI et NON. Si l'utilisateur clique sur le bouton OUI
	ou appuie sur ENTRÉE, cette fonction renvoie 1.
	Si l'utilisateur clique sur le bouton NON ou appuie sur la
	touche ESC, la valeur renvoyée est 0.
	En cas de problème (manque mémoire par exemple), la valeur
	renvoyée est négative.
@ENDNODE
@NODE "RESET" "Fonction ARexx RESET"
@TOC "Maths"

    RESET(variable,...)
	    Cette fonction est identique à la fonction @{"INIT" LINK INIT},
	cependant le type n'est pas réinitialisé.
	Si la @{"variable" LINK Variable} est du type numérique elle prend la valeur 0, si
	c'est une chaîne de caractères elle devient une chaîne vide ("").
	    Le nombre d'arguments est quelconque.

	Exemple : RESET(A,B,C)

	Voir aussi : @{"INIT" LINK INIT}
@ENDNODE
@NODE "ROTATE" "Fonction ARexx ROTATE"
@TOC "Gestion des objets"

    ROTATE(numéro_objet, rotations)
	Fait tourner l'objet spécifié du nombre de quarts de tour
	spécifié. Si le numéro d'objet est nul, c'est le mode de
	placement courant qui est affecté: les placements effectués
	ensuite tiendront compte de cette nouvelle position, que
	ce soit par une macro (@{"PUTPART" LINK PUTPART} par exemple) ou un menu.
	Cette fonction renvoie 0 si l'opération a échoué (par
	manque de place par exemple), sinon elle renvoie 1.

	Voir aussi : @{"SYMMETRY" LINK SYMMETRY}, @{"SETSCALE" LINK SETSCALE}
@ENDNODE
@NODE "SAVEIFF" "Fonction ARexx SAVEIFF"
@TOC "Gestion fenêtres"

    SAVEIFF("nom_fichier")
	Sauve le document au format ILBM (image BitMap). Renvoie 0 si
	tout s'est bien passé.

	Voir aussi: menu @{"Projet/Sauver format IFF" LINK "Save IFF"}
@ENDNODE
@NODE "SAVE" "Fonction ARexx SAVE"
@TOC "Gestion fenêtres"

    SAVE("nom_fichier")
	Sauve le document sous le nom spécifié. Si le fichier existait déjà
	aucun avertissement n'a lieu. Renvoie 1 si aucun problème ne
	survient, sinon 0. Un fichier .info comportant une icône est
	créée si le menu @{"Préférences/Sauver icône" LINK "Save icon"} est marqué, un fichier
	comportant l'extension .bis est créé si le menu
	@{"Préférences/Copie schéma sauvé" LINK "Backup file"} est marqué.
@ENDNODE
@NODE "SAVECLIP" "Fonction ARexx SAVECLIP"
@TOC "Gestion blocs"

    SAVECLIP(unité,"nom_fichier")
	Cette fonction permet de sauver le clip spécifié dans le fichier
	spécifié. Naturellement le clip doit auparavant avoir été rempli
	à l'aide de la fonction COPY, par exemple.

	Voir aussi : @{"LOADCLIP" LINK LOADCLIP}, @{"CLIPUNIT." LINK CLIPUNIT.}
@ENDNODE
@NODE "SAVECOPY" "Fonction ARexx SAVECOPY"
@TOC "Gestion préférences"

    SAVECOPY(1/0/-1)
	Cette fonction permet de fixer, comme le menu @{"Préférences/Copie schéma sauvé" LINK "Backup file"},
	si une copie du schéma sera créée lors d'une opération de sauvegarde.
	Cette fonction renvoie 1 si le menu était marqué AVANT l'exécution
	de la fonction, ou 0 s'il ne l'était pas.
	Pour lire l'état du menu sans le modifier, utilisez la commande
	SAVECOPY(-1).
@ENDNODE
@NODE "SAVEICON" "Fonction ARexx SAVEICON"
@TOC "Gestion préférences"

    SAVEICON(1/0/-1)
	Cette fonction permet de fixer, comme le menu @{"Préférences/Sauver icône" LINK "Save icon"},
	si une icône sera créée lors d'une opération de sauvegarde.
	Cette fonction renvoie 1 si le menu était marqué AVANT l'exécution
	de la fonction, ou 0 s'il ne l'était pas.
	Pour lire l'état du menu sans le modifier, utilisez la commande
	SAVEICON(-1).
@ENDNODE
@NODE "SAVEKEYS" "Fonction ARexx SAVEKEYS"
@TOC "Gestion préférences"

    SAVEKEYS("fichier")
	Cette fonction permet de sauver les combinaisons de touches alors
	définies (combinaisons de touches et touches de fonction) dans le
	fichier passé en argument. Ces définitions pourront ensuite être
	définies par le menu @{"Préférences/Touches/Charger" LINK Keys} ou la fonction
	@{"LOADKEYS" LINK LOADKEYS}.

	Voir aussi : MAP, @{"Mode direct" LINK Direct}
@ENDNODE
@NODE "SAVEPREF" "Fonction ARexx SAVEPREF"
@TOC "Gestion préférences"

    SAVEPREF("nom fichier")
	Cette fonction permet de sauvegarder les préférences courantes
	sous le nom spécifié. Elle renvoie 0 si tout se passe bien, un
	code d'erreur dans le cas contraire
@ENDNODE
@NODE "SCREEN" "Fonction ARexx SCREEN"
@TOC "Gestion préférences"

    SCREEN (mode, largeur, hauteur,"fonte",taille)
	Cette fonction permet de choisir la résolution de l'écran
	d'AmiCAD sans avoir à passer par la requête Asl, comme avec
	le menu "Préférences/Choix mode écran". De plus vous pouvez
	spécifier quelle sera la fonte utilisée pour les menus, les
	boîtes de requêtes, etc... Le nom de la fonte doit être complet,
	y compris l'extension ".font"
	Cependant il vous faudra connaître les valeurs associées
	aux divers types d'écran, un moyen simple pour les connaître
	et de les choisir avec le menu, de sauver la configuration
	dans un fichier, et d'aller lire ce fichier : la ligne
	ModeID= donne le code à passer à cette fonction.
	    Ainsi les valeurs suivantes sont possibles:
	    - 561188 pour un écran en super résolution entrelacée (SUPER72)
	    - 561152 pour un écran en SUPER72 haute résolution.
	    - 233509 pour un écran MultiScan Productivité entrelacée
	    - 167936 pour un écran PAL haute résolution
	    - 135168 pour un écran PAL basse résolution
	La fonction renvoie le code en vigueur AVANT son exécution.

	Le programme ne gère pas correctement, pour l'instant, les
	dimensions supérieures à la portion visible à l'écran.

	L'écran comprend toujours huit couleurs.

	Exemples:
	    SCREEN(561188,800,600,"courier.font",15) ' écran "normal" (Super 72)
	    SCREEN(135168,320,200,"topaz.font",8)    ' écran basse résolution (pour "zoomer")

	Voir aussi: @{"SCRMODE" LINK SCRMODE}, @{"SHEIGHT" LINK SHEIGHT}
@ENDNODE
@NODE "SCRMODE" "Fonction ARexx SCRMODE"
@TOC "Gestion préférences"

    SCRMODE
	Cette fonction renvoie la valeur associée au mode d'écran courant.
	Elle n'a besoin d'aucun argument.

	Voir aussi: @{"SCREEN" LINK SCREEN}
@ENDNODE
@NODE "SECURITY" "Fonction ARexx SECURITY"
@TOC "Maths"

    SECURITY(nombre boucles)
	Cette fonction détermine le nombre maximal de boucles pouvant
	être effectuées par une des fonctions @{"FOR" LINK FOR} ou @{"WHILE" LINK WHILE}. Ceci
	permet de sortir des boucles sans fin assez simplement.
	La valeur par défaut est égale à 500. Vous pouvez entrer
	une valeur allant de 1 jusqu'à 2^31-1 (2147483647). La
	fonction renvoie la valeur en cours avant son exécution.

	Vous pouvez donner à cette fonction un argument de grande
	valeur sans craindre de blocage, il est effet maintenant
	possible d'interrompre une boucle en appuyant simultanément
	sur les touches CTRL, ALT et ESC.

	Si la valeur passée en argument est nulle seule la valeur
	actuelle est renvoyée, sans modification.
@ENDNODE
@NODE "SELECT" "Fonction ARexx SELECT"
@TOC "Interactivité"

    SELECT("texte")
	Cette fonction permet d'ouvrir une boîte de requête comportant
	un nombre variable de boutons, comportant chacun un texte
	choisi par l'utilsateur. Si l'utilisateur clique sur l'un
	de ces boutons, la fonction renvoie le rang du bouton (en
	commençant par la valeur 1 pour le premier, 2 pour le
	second, etc...). Il peut y avoir jusqu'à 13 boutons.
	Le format du texte passé en argument doit être le suivant:
	    - une première ligne, affichée en titre,
	    - une seconde ligne, correspondant au texte du premier bouton
	    - une troisième ligne, correspondant au texte du second bouton,
	    - et ainsi de suite, autant de lignes que de boutons...
	Chacune des lignes est séparée des suivantes par un saut de
	ligne (CHR(10)).
	Si la valeur renvoyée est négative ou nulle, c'est que
	l'utilisateur a appuyé sur le bouton droit ou sur la touche
	Esc, ou bien que la requête n'a pu être ouverte.

	Exemple:
	    SELECT("Nombre de circuits ?"+CHR(10)+"10 circuits"+CHR(10)+"20 circuits"+CHR(10)+"À déterminer")
@ENDNODE
@NODE "SELFILE" "Fonction ARexx SELFILE"
@TOC "Gestion fenêtres"

    SELFILE("nom_fichier")
	Cette fonction permet de choisir la fenêtre active, en
	spécifiant son nom. Le nom spécifié peut être le nom
	complet, ou bien le nom du fichier, sans le chemin.
	Si plusieurs fenêtres possèdent le même nom, la première
	fenêtre trouvée est sélectionnée.
	Cependant la fenêtre sélectionnée ne passe pas au
	premier plan, utilisez pour cela la fonction @{"WTOFRONT" LINK WTOFRONT}.
	De même si la fenêtre est réduite ou bien cachée, elle le
	restera. Ceci est utile pour lire une ligne ou quelques
	caractères d'une fenêtre sans la "réveiller".

	La valeur renvoyée est positive ou nulle si la fenêtre a
	été trouvée (elle correspond à la valeur qu'aurait renvoyé
	la fonction @{"SELSHEET" LINK SELSHEET}(-1)), sinon elle est négative.

	    Exemples:
		SELFILE("RAM:texte")
		SELFILE("texte")
		    Ces deux exemples permettent la sélection de la
		    même fenêtre (RAM:texte).
@ENDNODE
@NODE "SELSHEET" "Fonction ARexx SELSHEET"
@TOC "Gestion fenêtres"

    SELSHEET(fenêtre)
	Cette fonction permet de choisir la fenêtre active ou
	de connaître l'indice de la fenêtre courante.
	Si l'argument est positif ou nul, la fenêtre d'indice spécifié
	est sélectionnée et devient la fenêtre active.
	Cependant la fenêtre sélectionnée ne passe pas au
	premier plan, utilisez pour cela la fonction @{"WTOFRONT" LINK WTOFRONT}.
	De même si la fenêtre est réduite ou bien cachée, elle le
	restera.

	La fonction renvoie toujours l'indice de la fenêtre active
	avant son exécution. Si l'indice passé en argument est
	négatif, seule cette valeur est renvoyée.
@ENDNODE
@NODE "SETCOLOR" "Fonction ARexx SETCOLOR"
@TOC "Gestion fenêtres"

    SETCOLOR(couleur,niveau_rouge,niveau_vert,niveau_bleu)
	Cette fonction permet de choisir une couleur de l'écran
	AmiCAD. Le nombre correspondant à cette couleur doit être
	compris entre 0 et 7 compris (l'écran a huit couleurs).
	Les niveaux de couleurs sont des mots long, de 32 bits,
	pour spécifier du blanc, passez trois arguments égaux à
	0xFFFFFFFF, pour ramener un niveau de couleur à un niveau
	intermédiaire, passez un argument de valeur 0x7FFFFFFF.

	Aucune valeur n'est renvoyée par cette fonction.
@ENDNODE
@NODE "SETDEV" "Fonction ARexx SETDEV"
@TOC "Gestion des objets"

    SETDEV(numéro_objet, numéro_circuit)
	Cette fonction permet de choisir le numéro de circuit ou
	de porte pour un composant qui en comporte plusieurs.
	Elle est utile pour les circuits comportant de multiples
	portes comme les circuits TTL 7400 par exemple.

	Le numéro d'objet doit avoir sa valeur comprise entre 1
	et @{"OBJECTS" LINK OBJECTS}.

	La fonction peut renvoyer trois résultats possibles:
	    - 0 si l'objet spécifié n'est pas un composant,
	    - 1 si l'opération a réussi,
	    - -1 si le numéro de circuit est incorrect.

	Voir aussi : @{"READDEV" LINK READDEV}
@ENDNODE
@NODE "SETGRID" "Fonction ARexx SETGRID"
@TOC "Gestion fenêtres"

    SETGRID(pas_grille)
	Détermine la taille de la grille utilisée pour placer les
	composants sur le schéma. À noter que cette fonction ne
	met pas à jour la grille à l'écran, ce qui peut poser des
	problèmes, utilisez le menu "Dessin/Redessiner tout" si
	vous souhaitez qu'elle soit mise à jour, en utilisant par
	exemple la commande suivante :
	    SETGRID(15):MENU("Redessiner")

	Valeur renvoyée: pas utilisé avant l'exécution de la commande.
	Utilisez la commande SETGRID(0) pour connaître le pas de
	la grille sans le modifier.
@ENDNODE
@NODE "SETREF" "Fonction ARexx SETREF"
@TOC "Gestion des objets"

    SETREF(numéro_objet,"référence")
	La valeur spécifiée (sous forme de chaîne de caractères) est
	attribuée à l'objet spécifié. Si l'objet spécifié possédait
	déjà une référence, elle est remplacée.

	Exemple: SETREF(FIRSTSEL,"R2")

	Voir aussi : @{"LINKREF" LINK LINKREF}, @{"SETVAL" LINK SETVAL}, @{"LINKVAL" LINK LINKVAL}
@ENDNODE
@NODE "SETSCALE" "Fonction ARexx SETSCALE"
@TOC "Gestion des objets"

    SETSCALE(numéro_objet, échelle_horizontale, échelle_verticale)
	Le numéro d'objet doit avoir sa valeur comprise entre 1
	et @{"OBJECTS" LINK OBJECTS}. S'il est nul, la fonction fixe les
	valeurs par défaut des échelles, utilisées lors du placement
	des composants, comme avec le menu @{"Dessin/Placer composant" LINK "Place component"}.
	Ces valeurs peuvent aussi être déterminées à l'aide des
	menus @{"Préférences/Échelle verticale" LINK "Vertical scale"} et @{"Préférences/Échelle horizontale" LINK "Horizontal scale"}.
	Si l'une des valeurs des arguments correspondant à une
	échelle est négative, cette échelle restera inchangée.

	Cette fonction renvoie 1 si elle a réussi, 0 dans le cas
	contraire.
@ENDNODE
@NODE "SETVAL" "Fonction ARexx SETVAL"
@TOC "Gestion des objets"

    SETVAL(numéro_objet,"valeur")
	La valeur spécifiée (sous forme de chaîne de caractères) est
	attribuée à l'objet spécifié. Si l'objet spécifié possédait
	déjà une valeur, elle est remplacée.

	Exemple: SETVAL(FIRSTSEL,"100k")

	Voir aussi : @{"LINKVAL" LINK LINKVAL}, @{"SETREF" LINK SETREF}, @{"LINKREF" LINK LINKREF}
@ENDNODE
@NODE "SGN" "Fonction ARexx SGN"
@TOC "Maths"

    SGN(nombre)
	Renvoie 1 si l'argument est positif, -1 s'il est négatif,
	zéro s'il est nul.
@ENDNODE
@NODE "SHEIGHT" "Fonction ARexx SHEIGHT"
@TOC "Gestion préférences"

    SHEIGHT
	Cette fonction renvoie la hauteur de l'écran courant.
	Elle ne nécessite aucun argument.

	Voir aussi: @{"SCREEN" LINK SCREEN}, @{"SWIDTH" LINK SWIDTH}, @{"SCRMODE" LINK SCRMODE
@ENDNODE
@NODE "STOBACK" "Fonction ARexx STOBACK"
@TOC "Gestion fenêtres"

    STOBACK
	Cette fonction fait passer l'écran d'AmiCAD en arrière-plan.
	Elle ne nécessite aucun argument.

	Voir aussi : @{"STOFRONT" LINK STOFRONT} @{"WTOBACK" LINK WTOBACK} @{"WTOFRONT" LINK WTOFRONT}
@ENDNODE
@NODE "STOFRONT" "Fonction ARexx STOFRONT"
@TOC "Gestion fenêtres"

    STOFRONT
	Cette fonction fait passer l'écran d'AmiCAD au premier plan.
	Elle ne nécessite aucun argument.

	Voir aussi : @{"STOBACK" LINK STOBACK} @{"WTOBACK" LINK WTOBACK} @{"WTOFRONT" LINK WTOFRONT}
@ENDNODE
@NODE "STR" "Fonction ARexx STR"
@TOC "Maths"

    STR(nombre)
	Renvoie la chaîne de caractères correspondant à un nombre.
	La base utilisée pour la conversion est la base 10 (décimal).
@ENDNODE
@NODE "SWIDTH" "Fonction ARexx SWIDTH"
@TOC "Gestion préférences"

    SWIDTH
	Cette fonction renvoie la largeur de l'écran courant.
	Elle ne nécessite aucun argument.

	Voir aussi: @{"SCREEN" LINK SCREEN}, @{"SHEIGHT" LINK SHEIGHT}, @{"SCRMODE" LINK SCRMODE}
@ENDNODE
@NODE SYMMETRY "Fonction ARexx SYMMETRY"
@TOC "Gestion des objets"

    SYMMETRY(numéro_objet, position)
	Cette fonction permet de symétriser on non un objet, par
	rapport à son axe vertical (ou son axe horizontal, s'il
	a été tourné d'un ou trois quarts de tour).

	Le numéro d'objet doit avoir sa valeur comprise entre 1
	et @{"OBJECTS" LINK OBJECTS}. Si ce numéro est nul, la fonction
	modifie la façon de placer un composant (menu "Dessin/Placer
	composant").

	L'argument position peut prendre trois valeurs :
	    - égal à 1: la symétrie est réalisée,
	    - égal à 0: pas de symétrie,
	    - égal à -1: inversion de la position.

	La valeur renvoyée est égale à 1 s'il y a eu une modification
	de la position de l'objet, 0 dans le cas contraire.

	Voir aussi : @{"ROTATE" LINK ROTATE}, @{"SETSCALE" LINK SETSCALE}
@ENDNODE
@NODE "TEST" "Fonction ARexx TEST"
@TOC "Gestion blocs"

    TEST(numéro_objet)
	Permet de savoir si un objet est sélectionné ou non.
	Le numéro d'objet doit avoir sa valeur comprise entre 1
	et @{"OBJECTS" LINK OBJECTS}.

	La fonction renvoie 1 si l'objet est sélectionné, 0
	dans le cas contraire.
@ENDNODE
@NODE "TIME" "Fonction ARexx TIME"
@TOC "Divers"

    TIME(secondes)
	Renvoie l'heure courante, si l'argument est non nul, les
	secondes sont comprises.

	Exemples:
	    TIME(0)     renvoie 23:24
	    TIME(1)     renvoie 23:24:27

	Voir aussi: @{"DATE" LINK DATE}
@ENDNODE
@NODE "TITLE" "Fonction ARexx TITLE"
@TOC "Gestion fenêtres"

    TITLE("titre")
	Spécifie le titre de la fenêtre courante. Si l'argument
	est une chaîne nulle, le titre reprend son état normal,
	c'est à dire que le nom du fichier y réapparaît.
	Cette fonction permet de signaler une opération un peu
	longue en prévenant l'utilisateur, sans pour autant
	bloquer la fenêtre ni le programme.

	Exemple de script:
	    'TITLE("Traitement en cours...")'
	    ... 		traitement...
	    'TITLE("")'         on remet le titre normal
@ENDNODE
@NODE "VSCALE" "Fonction ARexx VSCALE"
@TOC "Gestion des objets"

    VSCALE(numéro_objet)
	Cette fonction renvoie la valeur de l'échelle verticale de
	l'objet spécifié. La valeur de l'argument doit être comprise
	entre 1 et @{"OBJECTS" LINK OBJECTS}.

	Voir aussi: @{"HSCALE" LINK HSCALE}
@ENDNODE
@NODE "WTOBACK" "Fonction ARexx WTOBACK"
@TOC "Gestion fenêtres"

    WTOBACK(fenêtre)
	Envoie la fenêtre d'indice spécifié ou la fenêtre
	courante (argument égal à -1) en arrière-plan.

	Voir aussi: @{"SELSHEET" LINK SELSHEET}, @{"WTOFRONT" LINK WTOFRONT}, @{"STOBACK" LINK STOBACK}, @{"STOFRONT" LINK STOFRONT}
@ENDNODE
@NODE "WTOFRONT" "Fonction ARexx WTOFRONT"
@TOC "Gestion fenêtres"

    WTOFRONT(fenêtre)
	Envoie la fenêtre d'indice spécifié ou la fenêtre
	courante (argument égal à -1) à l'avant-plan.

	Voir aussi: @{"SELSHEET" LINK SELSHEET}, @{"WTOBACK" LINK WTOBACK}
@ENDNODE
@NODE "TXHEIGHT" "Fonction ARexx TXHEIGHT"
@TOC "Gestion des objets"

    TXHEIGHT("texte")
	Renvoie la hauteur du texte spécifié, en pixels. Cette fonction prend
	en compte l'échelle courante, ainsi que le mode de placement (rotation
	éventuelle). Dans tous les cas c'est l'espace vertical occupé qui
	est renvoyé.

	Voir aussi: @{"TXWIDTH" LINK TXWIDTH}
@ENDNODE
@NODE "TXWIDTH" "Fonction ARexx TXWIDTH"
@TOC "Gestion des objets"

    TXWIDTH("texte")
	Renvoie la largeur du texte spécifié, en pixels. Cette fonction prend
	en compte l'échelle courante, ainsi que le mode de placement (rotation
	éventuelle). Dans tous les cas c'est l'espace horizontal occupé qui
	est renvoyé.

	Cette fonction est utile pour centrer un texte dans un rectangle:
	    options results
	    texte="Essai texte"
	    xx=100;y=100
	    'TXWIDTH("'texte'")'
	    l=result
	    'TXHEIGHT("'texte'")'
	    h=result
	    'DRAW('xx','y','xx+l','y'):DRAW('xx+l','y','xx+l','y+h')'
	    'DRAW('xx+l','y+h','xx','y+h'):DRAW('xx','y+h','xx','y')'
	    'WRITE("'texte'",'xx','y+h')'

	Voir aussi: @{"TXHEIGHT" LINK TXHEIGHT}
@ENDNODE
@NODE "TYPE" "Fonction ARexx TYPE"
@TOC "Gestion des objets"

    TYPE(numéro_objet)
	Cette fonction permet de connaître la nature d'un objet.
	Le numéro d'objet doit avoir sa valeur comprise entre 1
	et @{"OBJECTS" LINK OBJECTS}.
	La valeur renvoyée dépend du type du caractère:
	    - égale à 1: c'est un composant
	    - égale à 2: c'est un fil de liaison normal
	    - égale à 3: c'est un arc de cercle
	    - égale à 4: c'est un texte
	    - égale à 5: c'est une référence de composant
	    - égale à 6: c'est une valeur de composant (ou son type)
	    - égale à 7: c'est une connexion
	    - égale à 8: c'est un trait en pointillés
	    - égale à 9: c'est un bus
	    - égale à 10: c'est une ellipse
	    - égale à 11: c'est un connecteur d'entrée
	    - égale à 12: c'est un connecteur de sortie
	    - égale à 15: c'est un trait double
	    - égale à 17: c'est un groupe

	Vous pouvez ainsi définir des fonctions permettant de reconnaître
	les objets :
	    DEF COMPOSANT(O) = IF (TYPE(O) == 1, 1, 0)
	    DEF FIL(O) = IF (TYPE(O) == 2, 1, 0)
	    DEF CONNECTEUR(O) = IF ((TYPE(O)==11) | (TYPE(O)==12), 1 ,0)
	Chacune de ces fonctions renvoie 1 si le caractère est du
	type testé, sinon elles renvoient 0.
@ENDNODE
@NODE "UNLINK" "Fonction ARexx UNLINK"
@TOC "Gestion des objets"

    UNLINK(numéro_objet)
	Le numéro d'objet doit avoir sa valeur comprise entre 1
	et @{"OBJECTS" LINK OBJECTS}.
	Cette fonction permet de briser les liens existant entre
	un composant et sa référence, ainsi que sa valeur. Si le
	composant possédait ces deux éléments, la fonction renvoie
	2, s'il n'en possédait qu'un seul des deux, elle renvoie 1
	sinon elle renvoie 0.
	Si l'objet spécifié n'est pas un composant la valeur renvoyée
	est égale à -1.

	Exemples : UNLINK(FIRSTSEL)
		   UNLINK(PICKOBJ("Cliquez sur un composant"))

	Voir aussi : @{"LINKVAL" LINK LINKVAL}, @{"LINKREF" LINK LINKREF}
@ENDNODE
@NODE "UNLOCK" "Fonction ARexx UNLOCK"
@TOC "Interactivité"

    UNLOCK(fenêtre)
	Annule le verrouillage d'une fenêtre, réalisé par la
	fonction @{"LOCK" LINK LOCK}.
	Si l'argument est positif ou nul, seule la fenêtre
	possédant l'indice spécifié est déverrouillée, si
	cet argument est négatif (-1), toutes les fenêtres
	sont deverrouillées.

	Voir aussi: @{"SELSHEET" LINK SELSHEET}.
@ENDNODE
@NODE "UNMAP" "Fonction ARexx UNMAP"
@TOC Divers

    UNMAP("combinaison touches")
	Cette fonction permet d'annuler la programmation une macro-commande,
	associée à une certaine combinaison detouches. Les touches ALT, SHIFT
	et CTRL peuvent être utilisées pour définir la touche (il faut
	d'ailleurs utiliser au moins l'une d'entre elles).

	Exemples:
	    UNMAP("shift-ctrl-a")
	    UNMAP("CTRL-)")
	    UNMAP("ALT-µ")

	Voir aussi:
	    @{"MAP" LINK MAP}, @{"READMAP" LINK READMAP}
@ENDNODE
@NODE "UNMARK" "Fonction ARexx UNMARK"
@TOC "Gestion blocs"

    UNMARK(numéro_objet,...)
	Annule le marquage des objets spécifiés.
	Les numéros d'objets doiventt avoir leurs valeurs comprises entre 1
	et @{"OBJECTS" LINK OBJECTS}.
	Renvoie le nombre de sélections ayant été annulées.

	Voir aussi:
	    @{"MARK" LINK MARK}, @{"MARKZONE" LINK MARKZONE}
@ENDNODE
@NODE "VAL" "Fonction ARexx VAL"
@TOC "Maths"

    VAL("chaîne")
	Renvoie la valeur numérique correspondant à la chaîne de
	caractères passée en argument. Seuls les caractères
	correspondant à des nombres entiers sont pris en compte.
	Le nombre doit figurer sous forme décimale, sauf s'il est
	précédé du préfixe $, qui signale qu'il s'agit d'un
	nombre sous forme hexadécimale.

	Exemples:
	    VAL("14")       renvoie 14
	    VAL("14.3")     renvoie 14
	    VAL("$5F")      renvoie 95 (le $ spécifie une chaîne hexadécimale)

	Voir aussi : @{"STR" LINK STR}
@ENDNODE
@NODE "VERSION" "Fonction ARexx VERSION"
@TOC "Divers"

    VERSION(type)
	Cette fonction renvoie le numéro de version du programme ou
	un message de copyright, selon la valeur de l'argument. Le
	test du numéro de version peut être intéressant pour interdire
	l'exécution d'un script à un programme trop ancien, qui risque
	de mal exécuter certaines instructions qui ont évolué dans les
	versions plus récentes.

	Exemples (résultats différents selon la version du programme):
	    VERSION(0)      renvoie 1.00
	    VERSION(1)      renvoie 68020 (ou 68000)
	    VERSION(2)      renvoie © R.FLORAC 28 août 1997

	Exemple de script:
	    'VERSION(0)'
	    if result < 2.00 then do
		'MESSAGE("Cette version du programme"+CHR(10)+"ne convient pas.")'
		exit
	    end
	    ...
@ENDNODE
@NODE "WHEIGHT" "Fonction ARexx WHEIGHT"
@TOC "Gestion fenêtres"

    WHEIGHT(code_fenêtre)
	Renvoie la hauteur utile de la fenêtre spécifiée. Le code de
	la fenêtre correspond à la valeur renvoyée par la fonction @{"SELSHEET" LINK SELSHEET}.
	Si l'argument vaut -1, c'est la fenêtre courante qui est traitée.
	La valeur renvoyée correspond en fait à la largeur du document,
	en pixels.

	Rappel: les fenêtres sont du type SuperBitmap, ce qui veut dire
	que leur surface visible n'est pas forcément égale à celle qu'elles
	pourraient prendre, si elles sont plus grandes que l'écran.

	Voir aussi : @{"WWIDTH" LINK WWIDTH}, @{"MESURE" LINK MESURE}, @{"WINDOW" LINK WINDOW}, @{"SCREEN" LINK SCREEN}, @{"DIMSHEET" LINK DIMSHEET}
@ENDNODE
@NODE "WHILE" "Fonction ARexx WHILE"
@TOC "Maths"

    WHILE(fin,action1,...)
	Cette fonction est identique à la fonction @{"FOR" LINK "FOR"}, il
	lui manque juste le premier argument. L'initialisation des
	@{"variables" LINK Variable} ou des cellules testées aura donc due être effectuée
	auparavant.

	Voir aussi: @{"SECURITY" LINK SECURITY}
@ENDNODE
@NODE "WIDTH" "Fonction ARexx WIDTH"
@TOC "Gestion des objets"

    WIDTH(numéro_objet)
	Renvoie la largeur de l'objet spécifié, en pixels.
	Le numéro d'objet doit avoir sa valeur comprise entre 1
	et @{"OBJECTS" LINK OBJECTS}.

    Voir aussi: @{"HEIGHT" LINK HEIGHT}
@ENDNODE
@NODE "WWIDTH" "Fonction ARexx WWIDTH"
@TOC "Gestion fenêtres"

    WWIDTH(code_fenêtre)
	Renvoie la largeur utile de la fenêtre spécifiée. Le code de
	la fenêtre correspond à la valeur renvoyée par la fonction @{"SELSHEET" LINK SELSHEET}.
	Si l'argument vaut -1, c'est la fenêtre courante qui est traitée.
	La valeur renvoyée correspond en fait à la hauteur du document,
	en pixels.

	Rappel: les fenêtres sont du type SuperBitmap, ce qui veut dire
	que leur surface visible n'est pas forcément égale à celle qu'elles
	pourraient prendre, si elles sont plus grandes que l'écran.

	Voir aussi : @{"WHEIGHT" LINK WHEIGHT}, @{"MESURE" LINK MESURE}, @{"WINDOW" LINK WINDOW}, @{"SCREEN" LINK SCREEN}, @{"DIMSHEET" LINK DIMSHEET}
@ENDNODE
@NODE "WINDOW" "Fonction ARexx WINDOW"
@TOC "Gestion fenêtres"

    WINDOW(x, y, largeur, hauteur)
	Cette fonction permet de redimensionner la fenêtre courante, ou
	de la déplacer.
	Les deux premiers arguments correspondent aux coordonnées du coin
	supérieur gauche de la fenêtre dans l'écran. Les deux arguments
	suivants déterminent ses dimensions.
	Attention: cette fonction ne fonctionne que pour les fenêtres
	"normales".Pour les fenêtres réduites, seules les coordonnées
	x et y peuvent être modifiées (pour déplacer les fenêtres).
	Les fenêtres cachées ne peuvent naturellement pas être modifiées,
	mais il suffit de spécifier la commande WINDOW(-1,-1,-1,-1) pour
	permettre leur réouverture.
	Si vous ne voulez pas modifier un ou plusieurs de ces paramètres
	et que vous ne connaissiez pas leur valeur, donnez-leur une valeur
	négative (-1). Si les arguments ont des valeurs trop grandes ou
	aberrantes, le programme essaiera d'y remédier au mieux.
	La valeur renvoyée est égale au nombre de valeurs ayant été prises
	en compte.

	Exemples:
	    WINDOW(0,0,-1,-1)   déplace la fenêtre en haut à gauche de l'écran
				sans modifier ses dimensions.
	    WINDOW(-1,-1,200,50) change les dimensions de la fenêtre

	Voir aussi: @{"MESURE" LINK MESURE}, @{"type d'outil WINDOW" LINK "OUTIL WINDOW"}
@ENDNODE
@NODE "WRITE" "Fonction ARexx WRITE"
@TOC "Placement objets"

    WRITE("chaîne", x, y)
	Écriture d'une chaîne de caractères à l'emplacement spécifié
	par les arguments x et y.
	Si la fonction réussit, elle renvoie le numéro de l'objet
	qui a été placé, sinon elle renvoie 0.
@ENDNODE
@NODE "Commandes clavier" "Commandes clavier"
@TOC "MAIN"

    HELP	Lance le programme AmigaGuide, celui-ci charge le fichier
		d'aide AmiCAD.guide. Ce fichier guide doit se trouver dans
		le répertoire où est situé le programme AmiCAD, ou bien à
		l'endroit spécifié par le type d'outil @{"HELPFILE" LINK HELPFILE}.


    @{b}Commandes d'édition@{ub}

    DEL 	Effacement du ou des objets sélectionnés


    @{b}FLÈCHES déplacement curseur@{ub}

    FLÈCHES DE DÉPLACEMENT (GAUCHE / DROITE / HAUT / BAS) :
	défilement de la page de travail, si ses dimensions dépassent
	celles de la fenêtre, pixel par pixel.

    ALT FLÈCHE :
	défilement de la page de travail, si ses dimensions dépassent
	celles de la fenêtre. Le déplacement est égal au pas de la grille.
    SHIFT FLÈCHE :
	défilement de la page de travail, si ses dimensions dépassent
	celles de la fenêtre. Le déplacement s'effectue jusqu'à la
	première ou la dernière colonne (ou ligne) du schéma.

    CTRL :  permet de désélectionner le texte, si utilisée en même
	temps que le bouton gauche de la souris.

    TAB      :	copie (clonage) des éléments sélectionnés

    ALT HELP :	affichage succinct du rôle des touches ALT avec les touches de
		fonctions.

    @{b}Utilisation des touches de FONCTION@{ub}

    F3	     :	ouverture d'une nouvelle fenêtre, choix du fichier à charger
    F4	     :	ouverture d'une nouvelle fenêtre
    F9	     :	déplacement de l'écran en arrière
    F10      :	déplacement de la fenêtre en arrière

    ALT F1/F10	 : programmation d'une macro-commande, puis répétition.
    SHIFT ALT F1/F10: reprogrammation des macro-commandes.
@ENDNODE
@NODE "BGUI" "bgui.library"
@TOC "MAIN"

    L'auteur de la bibliothèque bgui.library est Jan van den Baard.
    Cette bibliothèque est disponible dans le domaine public (Sites Aminet
    par exemple).

				@{b}BGUI@{ub} release 1.1
		    (C) Copyright 1993-1994  Jaba Development
		    (C) Copyright 1993-1994 Jan van den Baard
		     Écrit avec le compilateur DICE v3.0 par

			Poste: Jan van den Baard
			       Bakkerstraat  176
			       3082 HE Rotterdam
				    Holland

		     Modem: 2:286/407.53  (Jan van.den.Baard)
			   EMail: jaba@grafix.wlink.nl
@ENDNODE
@NODE "Aide en ligne" "Aide en ligne"
@TOC "MAIN"

    Une aide en ligne peut être obtenue à tout moment, à l'aide du
    fichier AmiCAD.guide. Ce fichier doit se situer dans le même
    répertoire que le programme ou bien dans à un emplacement et
    un nom spécifiés dans le type d'outil @{"HELPFILE" LINK "HELPFILE"} de l'icône du
    programme (cette information est prise en compte lors du
    lancement du programme).

    Pour lancer l'aide vous pouvez appuyer sur la touche HELP,
    à tout moment ou bien lors de la sélection d'un menu, ce qui
    vous permet d'avoir directement l'aide concernant ce menu.
    Vous pouvez aussi utiliser le menu @{"Projet/Aide" LINK "Help?"}
    et donner le nom d'un noeud (node) du fichier d'aide. Vous
    pouvez ainsi trouver une aide très rapidement pour n'importe
    quelle fonction, en donnant son nom.

    À noter que vous pouvez également provoquer l'apparition de l'aide
    sur une fonction donnée, si une erreur survient, provoquée par
    cette fonction. Appuyez simplement sur la touche HELP alors que
    la requête signalant l'erreur est encore affichée.
@ENDNODE
@NODE "Bugs" "BUG(s) ?   (mais oui !  sûrement... (malheureusement !) )"

	Ce programme m'a demandé beaucoup de travail aussi je vous
    demanderais de bien vouloir être indulgent quant aux erreurs toujours
    possibles survenant lors de son utilisation. Je vous saurais gré de
    bien vouloir @{"m'avertir" LINK "Auteur"} si vous constatez une ou des anomalies.

	L'utilisation du programme sous un écran CyberGraphics peut
    donner des résultats quelquefois bizarres (en fait la fonction
    de dessin en mode COMPLEMENT ne fonctionne alors pas ou très mal).

	Il peut arriver qu'il survienne une erreur système lors de
    l'exécution d'un script ARexx, si une commande provoque une erreur.
    Ce problème est normalement évité en suivant la structure donnée
    en exemple dans le script squelette.AmiCAD pour les scripts ARexx.
@ENDNODE
@NODE "Historique" "Historique"

Version 1.00	janvier 1998
	Première version, écrite pour système 3.0.
@ENDNODE
@NODE "Aidez-moi" "Aidez-moi!"

	Ce programme peut naturellement être très amélioré, je manque
    pour cela de documentations et surtout de temps pour développer
    toutes mes idées. Aussi si vous pouvez répondre à certaines de mes
    attentes, merci de me @{"contacter" LINK Auteur}.

	Pour le moment je recherche de la documentation sur les points
    suivants:
	- description du format EPSF (afin de sauver les fichiers sous
    ce format, afin de pouvoir récupérer les fichiers sous un programme
    de P.A.O. par exemple, ou bien sous d'autres plateformes),
	- routines de "clipping", permettant de tracer n'importe quel
    élément même s'il sort de la fenêtre (droites, cercles, arc...)
	- documentation décrivant le "printer.device" (comment savoir
    quel est le nombre de pixels pouvant être tracé sur une ligne par
    l'imprimante choisie dans les préférences du système, quelle est
    sa résolution réelle...) ou comment faire un programme d'impression
    propre
	- comment utiliser des polices vectorielles (CompuGraphics ou
    Adobe...) comme ProPage ou WordWorth,
	- etc... (toute suggestion de votre part)

	Merci pour votre collaboration.
@ENDNODE
@NODE "Améliorations" "AMÉLIORATIONS POSSIBLES"

	Les améliorations suivantes seront faites si le besoin s'en fait
    sentir et si j'en ai le temps (et aussi si j'en ai le courage !) :
    - choix de l'icône créée par le programme lors d'une sauvegarde,
    - amélioration des messages d'erreurs, souvent imprécis,
    - sauvegarde des préférences dans le répertoire ENVARC: ou ENV:,
    - amélioration de la fonction MAP (visualisation et choix des macros
    déjà définies),
    - choix et sauvegarde de la palette de couleurs sans bibliothèque
    externe,
    - marquage d'emplacements dans le schéma pour les retrouver
    rapidement (pratique dans un schéma de grande taille),
    - requête permettant le choix d'un objet quand il y a superposition,
    - écriture d'une fonction zoom interne (j'utilise le freeware Lupe
    de Frank Toepper),
    - écriture d'un éditeur de bibliothèque,
    - et plus encore... (voir @{"HELP!" LINK Aidez-moi})

	Si vous souhaitez traduire cette documentation ou bien le
    fichier catalogue, merci de me les communiquer afin qu'ils soient
    distribués avec le programme.
@ENDNODE
@NODE "Auteur" "L'auteur"

    Pour me contacter:

	FLORAC Roland
	6 Rue des Chardonnerets
	Chez Corbin
	17610 Chaniers
	France
	Tél: 05 46 93 95 71

	E-mail: Roland.Florac@wanadoo.fr
@ENDNODE

@NODE INDEXNODE "Index"


A

@{"ABS" LINK ABS}
@{"Aide en ligne" LINK "Aide en ligne"}
@{"Améliorations futures" LINK Améliorations}
@{"AppIcon" LINK AppIcon}
@{"ARC" LINK ARC}
@{"ASC" LINK ASC}
@{"ASK" LINK ASK}


B

@{"BGUI" LINK BGUI}
@{"Bugs (?)" LINK Bugs}


C

@{"CALL" LINK CALL}
@{"Chaînes de caractères" LINK "Chaînes de caractères"}
@{"CHR" LINK CHR}
@{"CLIPPATH" LINK CLIPPATH}
@{"CLIPUNIT" LINK CLIPUNIT}
@{"CLOSE" LINK CLOSE}
@{"COL" LINK COL}
@{"Commandes clavier" LINK "Commandes clavier"}
@{"CONVERT" LINK CONVERT}
@{"COPY" LINK COPY}


D

@{"DATE" LINK DATE}
@{"DEF" LINK DEF}
@{"DELETE" LINK DELETE}
@{"DIMSHEET" LINK DIMSHEET}
@{"DRAW" LINK DRAW}
@{"DRAWMODE" LINK DRAWMODE}
@{"Distribution" LINK Distribution}
@{"Définition d'une fonction" LINK DEF}


E

@{"ELLIPSE" LINK ELLIPSE}
@{"EXEC" LINK EXEC}


F

@{"FILENAME" LINK FILENAME}
@{"FILEPART" LINK FILEPART}
@{"FINDPART" LINK FINDPART}
@{"FINDREF" LINK FINDREF}
@{"FINDVAL" LINK FINDVAL}
@{"FIRSTSEL" LINK FIRSTSEL}
@{"FONTNAME" LINK FONTNAME}
@{"FONTSIZE" LINK FONTSIZE}
@{"FOR" LINK FOR}


G

@{"GETPART" LINK GETPART}
@{"GETREF" LINK GETREF}
@{"GETVAL" LINK GETVAL}

H

@{"HEIGHT" LINK HEIGHT}
@{"HELP" LINK HELP}
@{"HELPFILE" LINK HELPFILE}
@{"HISTORIQUE" LINK Historique}
@{"HSCALE" LINK HSCALE}


I

@{"IF" LINK IF}
@{"INIT" LINK INIT}
@{"INPUT" LINK INPUT}
@{"Installation du programme" LINK Installation}


J

@{"JUNCTION" LINK JUNCTION}


L

@{"L'auteur" LINK Auteur}
@{"Lancement du programme" LINK Lancement}
@{"LEN" LINK LEN}
@{"Les menus" LINK Menus}
@{"Les nombres" LINK Nombres}
@{"LIBS" LINK LIBS}
@{"LIBSPATH" LINK LIBSPATH}
@{"LINE" LINK LINE}
@{"LINKREF" LINK LINKREF}
@{"LINKVAL" LINK LINKVAL}
@{"Liste alphabétique des fonctions ARexx" LINK Fonctions}
@{"Liste thématique des fonctions ARexx" LINK "Index thématique"}
@{"LOAD" LINK LOAD}
@{"LOADCLIP" LINK LOADCLIP}
@{"LOADKEYS" LINK LOADKEYS}
@{"LOADLIB" LINK LOADLIB}
@{"LOADPREF" LINK LOADPREF}
@{"LOCK" LINK LOCK}


M

@{"MACRO" LINK MACRO}
Type d'outil @{"MACRO" LINK MACROS}
@{"Macro-commande" LINK "Ecriture commandes"}
@{"MAP" LINK MAP}
@{"MARK" LINK MARK}
@{"MARKZONE" LINK MARKZONE}
@{"MENU" LINK MENU}
@{"Menu Dessin" LINK Drawing}
@{"Menu Édition" LINK Edit}
@{"Menu Macros" LINK Macros}
@{"Menu Projet" LINK Project}
@{"Menu Préférences" LINK Preferences}
@{"MESSAGE " LINK MESSAGE}
@{"MESURE" LINK MESURE}
@{"MODIF" LINK MODIF}
@{"MOVE" LINK MOVE}


N

@{"NBSHEET" LINK NBSHEET}
@{"NEW" LINK NEW}
@{"NEXTSEL" LINK NEXTSEL}

O

@{"OBJECTS" LINK OBJECTS}
@{"OPEN" LINK OPEN}
@{"OUTPUT" LINK OUTPUT}


P

@{"Palette" LINK Palette}
@{"PARTNAME" LINK PARTNAME}
@{"PASTE" LINK PASTE}
@{"PICKOBJ" LINK PICKOBJ}
@{"Port ARexx" LINK Port}
@{"PRINT" LINK PRINT}
@{"PUTPART" LINK PUTPART}


R

@{"READCONV" LINK READCONV}
@{"READDEF" LINK READDEF}
@{"READDEV" LINK READDEV}
@{"READMAP" LINK READMAP}
@{"READTEXT" LINK READTEXT}
@{"REMLIB" LINK REMLIB}
@{"REQFILE" LINK REQFILE}
@{"REQSHEET" LINK REQSHEET}
@{"REQUEST" LINK REQUEST}
@{"RESET" LINK RESET}
@{"ROTATE" LINK ROTATE}


S

@{"SAVEIFF" LINK SAVEIFF}
@{"SAVE" LINK SAVE}
@{"SAVECLIP" LINK SAVECLIP}
@{"SAVECOPY" LINK SAVECOPY}
@{"SAVEICON" LINK SAVEICON}
@{"SAVEKEYS" LINK SAVEKEYS}
@{"SAVEPREF" LINK SAVEPREF}
@{"SCREEN" LINK SCREEN}
@{"Scripts ARexx" LINK Script}
@{"SCRMODE" LINK SCRMODE}
@{"SECURITY" LINK SECURITY}
@{"SELECT" LINK SELECT}
@{"SELFILE" LINK SELFILE}
@{"SELSHEET" LINK SELSHEET}
@{"SETCOLOR" LINK SETCOLOR}
@{"SETDEV" LINK SETDEV}
@{"SETGRID" LINK SETGRID}
@{"SETREF" LINK SETREF}
@{"SETSCALE" LINK SETSCALE}
@{"SETTABS" LINK SETTABS}
@{"SETVAL" LINK SETVAL}
@{"SGN" LINK SGN}
@{"SHEIGHT" LINK SHEIGHT}
@{"STARTUP" LINK STARTUP}
@{"STOBACK" LINK STOBACK}
@{"STOFRONT" LINK STOFRONT}
@{"STR" LINK STR}
@{"SWIDTH" LINK SWIDTH}
@{"SYMMETRY" LINK SYMMETRY}


T

@{"TEST" LINK TEST}
@{"TIME" LINK TIME}
@{"TITLE" LINK TITLE}
@{"Touches" LINK Keys}
@{"TXHEIGHT" LINK TXHEIGHT}
@{"TXWIDTH" LINK TXWIDTH}
@{"TYPE" LINK TYPE}
@{"Type d'outil WINDOW" LINK "OUTIL WINDOW"}


U

@{"UNLINK" LINK UNLINK}
@{"UNLOCK" LINK UNLOCK}
@{"UNMAP" LINK UNMAP}
@{"UNMARK" LINK UNMARK}


V

@{"VAL" LINK VAL}
@{"Valeurs numériques" LINK Nombres}
@{"Variables" LINK Variable}
@{"VERSION" LINK VERSION}
@{"VSCALE" LINK VSCALE}


W

@{"WHEIGHT" LINK WHEIGHT}
@{"WHILE" LINK WHILE}
@{"WIDTH" LINK WIDTH}
@{"WINDOW" LINK WINDOW}
@{"WRITE" LINK WRITE}
@{"WTOBACK" LINK WTOBACK}
@{"WTOFRONT" LINK WTOFRONT}
@{"WWIDTH" LINK WWIDTH}


X

@{"X_ICON" LINK "X_ICON"}


Y

@{"Y_ICON" LINK "Y_ICON"}
@endnode
