ACalc - Manuel de référence AboutThisDoc Ce manuel décrit la version 1.50 de l'utilitaire ACalc. Ce programme est Copyright ©2001 par Denis GOUNELLE. Toute utilisation commerciale ou vente sans autorisation écrite de son auteur est strictement interdite. Vous pouvez copier et diffuser ce programme aux conditions suivantes : - l'ensemble des fichiers doit être fourni - aucun fichier ne doit avoir été modifié - vous ne devez pas demander plus de 40FF pour cela Malgré de nombreux tests, je ne peux garantir que ACalc ne contient aucune erreur. VOUS UTILISEZ CE PROGRAMME A VOS RISQUES ET PERILS. Je ne pourrai en aucun cas être tenu pour responsable de tout dommage, direct ou indirect, résultant de l'utilisation de ACalc. Introduction ACalc est une calculatrice fonctionnant en mode virgule flottante (IEEE double précision) et en mode basé (décimal ou hexadécimal), capable d'apparaitre sur n'importe quel écran. Sous système 2.04 ou supérieur, le programme s'installe automatiquement en tant que "commodité", mais peut également être utilisé autrement. Vos critiques et suggestions sur ce programme seront toujours les bienvenues. N'hésitez pas à m'écrire, à l'adresse suivante : M. GOUNELLE Denis 27, rue Jules GUESDE 45400 FLEURY-LES-AUBRAIS FRANCE denis.gounelle@wanadoo.fr http://perso.wanadoo.fr/denis.gounelle/index.html Merci à Stéphane "SADA" Anquetil pour l'icône. Installation Utilisez le script d'installation inclus dans l'archive. ACalc a besoin de la bibliothèque "mathieeedoubbas.library", qui est fournie par Commodore sur les disquettes système. Sous système 1.3, copiez simplement le programme dans un répertoire situé dans votre chemin de recherche (par exemple "C:"). Sous système 2.04 et plus, vous voudrez sans doute installer ACalc en "commodité", et donc le copier dans le répertoire "SYS:WBStartup", pour qu'il soit actif dès le démarrage. Pour utiliser la conversion Euros, vous devez définir le taux de conversion entre votre monnaie locale et l'Euro dans la variable d'environnement "EURO". Pour le Franc Français par exemple, le taux est de "6.55957". Appel_depuis_le_CLI ACalc se détache automatiquement du CLI. Les arguments acceptés sont les suivants : CX_PRIORITY n (ignoré sous système 1.3) Fixe la priorité pour l'installation en "commodité". CX_HOTKEY touche (ignoré sous système 1.3) Indique la combinaison de touches permettant d'appeler ACalc, quand il est installé en "commodité". La combinaison par défaut est "ctrl esc". CX_POPUP Ouvre la fenêtre au démarrage. NOCOMM (ignoré sous système 1.3) Demande à ACalc de ne pas s'installer en "commodité", mais de fonctionner comme un programme normal. Le programme se terminera donc dès que vous cliquerez sur le gadget de fermeture. SAVEVAR Demande à ACalc de sauvegarder le résultat dans une variable, plutôt que d'utiliser le Clipboard. La variable utilisée est "ACalcResult". REXXPORT Nom du port AREXX. La valeur par défaut est "ACalc". PUBSCREEN Nom de l'écran public à utiliser. Par défaut, ACalc utilise l'écran au premier plan. LOCALECUR Nom ou symbole de votre monnaie locale, pour la touche de conversion Euro. Notez que ACalc n'affichera pas plus de 3 caractères dans la touche. La valeur par défaut est "FRF". Appel_depuis_le_Workbench Vous pouvez indiquer les arguments suivants, dans le champ "TOOL TYPES" de l'icône de ACalc : CX_PRIORITY=n (ignoré sous système 1.3) Fixe la priorité pour l'installation en "commodité". CX_HOTKEY=touche (ignoré sous système 1.3) Indique la combinaison de touches permettant d'appeler ACalc, quand il est installé en "commodité". La combinaison par défaut est "ctrl esc". CX_POPUP Ouvre la fenêtre au démarrage. NOCOMM (ignoré sous système 1.3) Demande à ACalc de ne pas s'installer en "commodité", mais de fonctionner comme un programme normal. Le programme se terminera donc dès que vous cliquerez sur le gadget de fermeture. SAVEVAR Demande à ACalc de sauvegarder le résultat dans une variable, plutôt que d'utiliser le Clipboard. La variable utilisée est "ACalcResult". REXXPORT Nom du port AREXX. La valeur par défaut est "ACalc". PUBSCREEN Nom de l'écran public à utiliser. Par défaut, ACalc utilise l'écran au premier plan. LOCALECUR Nom ou symbole de votre monnaie locale, pour la touche de conversion Euro. Notez que ACalc n'affichera pas plus de 3 caractères dans la touche. La valeur par défaut est "FRF". Utilisation_du_programme Au démarrage, ACalc ouvre sa fenêtre sur l'écran au premier plan. Cette fenêtre présente une zone d'affichage et un clavier de 36 touches. La plupart de ces touches sont évidentes d'emploi, aussi ce chapitre ne décrit que celles qui en ont besoin. Touche de mode (FLT,DEC,HEX) ACalc possède trois modes de calculs : le mode virgule flottante (FLT), le mode basé décimal (DEC) et le mode basé hexadécimal (HEX). Dans ces deux derniers modes, les calculs se font avec des entiers non signés de 32 bits. Suivant le mode sélectionné, certaines touches seront désactivées. EUR En mode FLT, déclenche une conversion depuis votre monnaie locale en Euros. Note: le taux de conversion doit être indiqué dans la variable d'environnement EURO, sinon un message d'erreur sera affiché (voir chapitre "Installation"). FRF (ou autre) En mode FLT, déclenche une conversion de l'Euro vers votre monnaie locale. Note: le taux de conversion doit être indiqué dans la variable d'environnement EURO, sinon un message d'erreur sera affiché (voir chapitre "Installation"). Note: le texte de la touche est "FRF" par défaut, mais peut être changé avec l'argument LOCALECUR. d En mode HEX, permet d'indiquer que le nombre qui suit est un nombre décimal. h En mode DEC, permet d'indiquer que le nombre qui suit est un nombre hexadécimal. STO Cette touche n'est utilisable que lorsqu'un résultat est affiché. Elle permet de stocker ce résultat dans une des 10 mémoires disponibles. Après avoir cliqué sur cette touche, cliquez sur un des chiffres de 0 à 9 pour sélectionner la mémoire à utiliser. Les mémoires sont initialisées à zéro au démarrage du programme. Si ACalc est installé en "commodité", leur contenu est conservé entre deux appels du programme. RCL Rappelle le contenu d'une mémoire. Après avoir cliqué sur cette touche, cliquez sur un des chiffres de 0 à 9 pour sélectionner la mémoire à utiliser. BS Efface le dernier caractère de l'expression ou du résultat affiché. = Cette touche lance le calcul de l'expression affichée, et affiche son résultat ou un message d'erreur. Dans les deux cas, vous pouvez rappeler l'expression en appuyant sur le bouton droit de la souris. Le résultat peut être ré-utilisé immédiatemment : si vous cliquez sur un opérateur, ACalc supposera que le résultat est la première opérande. Sinon, le résultat sera effacé car ACalc supposera que vous voulez calculer une nouvelle expression. ACalc sauvegarde automatiquement le dernier résultat calculé dans le Clipboard. Ceci vous permet de récupérer ce résultat dans n'importe quel programme qui utilise également le Clipboard (par exemple votre traitement de texte ou, sous système 2.0, la fenêtre Shell si le programme "conclip" est actif). Le fichier "clipboard.device" doit se trouver dans le répertoire "DEVS:" pour que cette possibilité fonctionne. Si vous préférez sauvegarder ce résultat dans une variable d'environnement, plutôt que dans le Clipboard, il vous suffit d'appeler le programme avec l'argument SAVEVAR (voir chapitres Appel_depuis_le_CLI et Appel_depuis_le_Workbench). Utilisation_avec_le_clavier ACalc peut être également utilisé avec le clavier de votre Amiga, et cela de deux façons. La première consiste à cliquer sur la zone d'affichage, et à éditer l'expression comme dans n'importe quel gadget de chaine. La seconde consiste simplement à appuyer sur les touches du clavier de votre Amiga, sans avoir au préalable activé le gadget de chaine. Dans ce cas, vous disposez d'une possibilité supplémentaire : fermer la fenêtre en appuyant sur la touche ESCAPE. Notez cependant que certains opérateurs sont transcrits différemments par rapport au libellé des touches : ainsi l'opérateur NOT est transcrit '~' (tilde). Si vous utilisez ACalc depuis le clavier, il vous faudra donc taper '~' et non 'N', 'O' puis 'T'. Cette dernière forme ne sera pas reconnue. Voici les caractères correspondant aux opérateurs : mode touche TAB NOT ~ AND & OR | SHL < SHR > RCL M (suivit du numéro de mémoire) BS touche BACKSPACE conversion en Euros d (en mode FLT) conversion en monnaie locale h (en mode FLT) Les touches STO et CLR n'ont pas d'équivalent clavier. Port_AREXX ACalc dispose d'un port AREXX, dont le nom peut être indiqué avec l'argument REXXPORT. Toute chaine envoyée sur ce port sera prise en compte de la même façon que si les caractères correspondants avaient été tapés au clavier. Ceci veut dire entre autres que, pour provoquer le calcul d'un résultat, la chaine doit se terminer par un caractère "=". Le résultat est alors disponible dans la variable standard RESULT. Voici un exemple de script : /* AREXX */ OPTIONS RESULTS ADDRESS "ACalc" "35/7.2635=" valeur = RESULT SAY valeur Comme il est possible de faire des calculs directement avec AREXX, le principal intérêt du port AREXX de ACalc est de pouvoir utiliser la conversion Euro : /* AREXX */ OPTIONS RESULTS PARSE UPPER ARG montant ADDRESS "ACalc" /* conversion de la monnaie locale en Euros */ montant || "d" valeur = RESULT SAY "Montant en Euros:" valeur /* conversion de l'Euro en monnaie locale */ montant || "h" valeur = RESULT SAY montant "Euros font:" valeur Historique v1.00 15-Avr-93, 19904 octets o Première version diffusée. v1.01 26-May-93, 20140 octets o Erreur corrigée: l'affichage n'était pas correct si la police de l'écran était proportionnelle (force désormais la topaz 8 dans ce cas). v1.02 29-May-93, 20148 octets o Réagit à la commande "Montrer" du programme "Exchange" (gestion des commodités) v1.10 07-Jun-93, 21012 octets o Essaye d'ouvrir la fenêtre sous le pointeur souris. o Gestion des polices de caractères améliorée : est désormais capable de récupérer la police texte par défaut, et s'adapte à la police de l'écran par défaut pour le titre de la fenêtre et le gadget de chaine. o Si ACalc est installé en commodité, le lancer une seconde fois fait apparaitre la fenêtre au lieu de terminer le programme. v1.20 29-Jun-93, 20924 octets o Gestion des gadgets modifiés pour que l'activation/désactivation en fonction du mode soit plus rapide (était beaucoup trop lent sur un A500/A2000) v1.21 12-Sep-93, 20864 octets o Utilise la nouvelle version de la fonction GetDefaultTextFont() v1.30 29-Oct-93, 21012 octets (Fish #942) o Reçoit et prend en compte les messages du programme "Exchange" même quand la fenêtre est ouverte o Si on réveille le programme une seconde fois, la fenêtre vient se placer au premier plan o Se positionne correctement sous la souris, même si l'écran courant est plus grand que la taille d'affichage (prend les coordonnées dans la structure Screen au lieu de la structure IntuitionBase) v1.31 30-Dec-93, 20148 octets o Ajout de l'argument CX_POPUP o Compilé avec le SAS/C 6.50 v1.40 02-Sep-01, 21680 octets o Ajout de la conversion en Euros o Compilé avec le SAS/C 6.58 v1.50 11-Nov-01, 23304 octets o Ajout de l'arrondi sur la conversion en Euros o Ajout du port AREXX o Ajout de l'argument PUBSCREEN o Ajout d'un script d'installation