home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Fish 1
/
GoldFishApril1994_CD2.img
/
d4xx
/
d419
/
parm
/
parm.docf
< prev
next >
Wrap
Text File
|
1990-12-18
|
24KB
|
520 lines
Documentation pour ParM
ParM signifie Parametrable Menu.
ParM vous permet de construire vos propres menus de manière à pouvoir
lancer tous les programmes de votre choix. ParM est particulièrement
utile si vous possédez un disque dur avec des programmes situés dans les
profondeurs des répertoires. Vous pourrez alors les lancer par une simple
sélection de menu et donc sans avoir besoin d'ouvrir tous les répertoires
succéssifs aussi bien sous CLI que sous WorkBench.
Avec ParM, vous pouvez lancer vos programmes aussi bien en mode WorkBench
qu'en mode CLI. L'avantage du mode WorkBench est que le répertoire par
défaut de votre programme sera celui dans lequel le programme se situe.
Mais tous les programmes ne peuvent être exécutés dans ce mode.
Création:
ParM a été programmé en C avec l'AztecC 5.0a, CygnusEd 2 et ARexx
1.10. Les en-têtes de fichiers sont faits de telle manière que la
compilation puisse être lancée depuis Ced. J'utilise pour cela mon
propre DevKit, complètement réécrit car la version 1.2 originale ne
fonctionnait pas du tout.
ParM a besoin de la librairie arp.library version 39 et de la
req.library version 1. J'ai écrit mes propres librairies pour
l'éditeur de lien Manx. Celles utilisées ici se nomment arps.lib et
req.lib. La arps.lib fourni un petit code de startup et les glues
pour les fonctions arp qui ne peuvent être prototypées, et la req.lib
est le fichier objet reqglue.o fourni avec Ced réécrit sous forme de
librairie.
Installation:
Installez ParM avec son icone là où vous le désirez, et mettez le
fichier de configuration ParM.cfg dans le répertoire S: si vous
l'utilisez. Sinon, vous devrez systématiquement spécifier le nom du
fichier config sur la ligne de commande ou dans les TOOLTYPES de
l'icone de ParM. Dans le cas contraire, vous devrez répondre
l'alerte signifiant l'absence de fichier config et vous n'aurez pas de
menus. Assurez vous bien d'avoir placé les librairies arp.library
39.1 ou superieure et req.library dans LIBS:.
Exécution:
Il est recommandé de lancer ParM depuis un CLI si vous voulez que vos
programmes aient un Path autre que le répertoire courant et C: ce qui
est le cas si vous le lancez depuis workbench.
ParM peut fonctionner de deux manières différentes:
1) Vous pouvez attacher ParM à la fenêtre du CLI que vous utilisez.
Dans ce cas, si vous ne spécifiez aucune des options concernant la
fenêtre, les menus seront attachés au CLI depuis lequel vous
l'avez lancé. Il est préférable alors de lancer avec la commande
Run et non RunBack pour vous empêcher de fermer le CLI par
inadvertance.
2) ParM peut avoir sa propre fenêtre. C'est toujours le cas quand
ParM est exécuté depuis WorkBench, mais vous pouvez aussi lui
demander d'ouvrir sa fenêtre quand vous le lancez depuis un CLI.
Pour cela, il suffit de spécifier l'option "-w" ou toute autre
option ayant rapport avec les caractéristiques de la fenêtre.
Dans ce cas, vous devriez le lancer avec la commande RunBack de
manière à pouvoir fermer le CLI par la suite. N'utilisez pas la
commande arp ARun avec l'option NOIO car certains programmes ne
l'aiment pas et ne fonctionneront pas depuis ParM.
Attention: Ne lancez pas ParM avec la commande "Run >NIL: ParM" car
il serait détaché du CLI mais conserverais la fenêtre pour ces
fichiers standards d'entrée et de sortie et certaines commandes en
mode RUN peuvent planter si vous avez fermé le CLI. Notez que RunBack
utilise la commande C:Run et vous devriez mettre dans C: la version
arp de Run à la place de celle de Commodore si vous désirez utiliser
ParM en résident.
ParM a des options accessibles aussi bien sous WorkBench que sous CLI.
Seules deux d'entre elles ne sont accessibles que sous CLI. '-w' pour
Window puisque ParM ouvre toujours sa fenêtre dans ce cas, et '-o' car
c'est par défaut sous WorkBench vu l'absence de fenêtre.
Liste des options:
CLI WB
-w Ouvre sa propre fenêtre
-x LEFTEDGE Position horizontale de la fenêtre (défaut 0)
-y TOPEDGE Position verticale de la fenêtre (défaut 0)
-d DETAILPEN Couleur "d'avant-plan" de la fenêtre (défaut 3)
-b BLOCKPEN Couleur de fond de la fenêtre (défaut 2)
-c MENUCOLOR Couleur du menu principal (défaut: Detail Pen)
-r NODRAGBAR Rend la fenêtre non déplaçable (=1 pour activer)
-l LITTLE Pas de gadget de profondeur (=1 pour activer)
-s STACKSIZE Taille de la pile par défaut pour les commandes.
(Ce n'est pas la pile de ParM)
-f CONFIGFILE Fichier de configuration.
-o Redirige les entrées/sorties des commandes à NIL:
-h ou n'importe quoi d'autre pour avoir de l'aide.
Pour utiliser les TOOLTYPES de l'icône de ParM, il suffit d'entrer le
mot clé suivit d'un "=" et de la valeur nécessaire. Par exemple:
DETAILPEN=1
C'est équivalent à
RunBack >NIL: ParM -d1 sous CLI.
Si vous spécifiez une des options -x,-y,-d,-b,-l,-r, une fenêtre sera
ouverte et "-w" est inutile.
Fichier de configuration:
Vous comprendrez mieux ce qui va suivre avec le fichier de
configuration fourni sous les yeux.
Un fichier de configuration ressemble à un programme structuré. Il
est recommandé d'indenter les lignes pour rendre ce fichier aussi
lisible que possible. Le fichier de configuration par défaut doit se
trouver dans le répertoire S: et nommé ParM.cfg. Ce fichier définit
les menus que vous désirez et les commandes correspondantes. Les
commentaires commencent avec un '#' et continuent jusqu'à la fin de la
ligne. Les majuscules/minuscules ne sont pas distinguées.
Mots clés:
CMDWIN console
Cette commande redéfinira la console par défaut utilisée par ParM
("CON:0/11/640/100/Command Window") pour la fonction Command.
Peut être placé n'importe où dans le fichier mais il vaut mieux le
mettre au début.
SHELLWIN console
Cette commande redéfinira la console par défaut utilisée par ParM
("CON:0/11/640/100/ParM Shell") pour les commandes en mode SHELL
sans spécification de fenêtre. Peut être placé n'importe où dans
le fichier mais il vaut mieux le mettre au début.
SHELLCMD commande
Cette commande redéfinira la commande utilisée par ParM pour la
création d'un shell interactif qui est par défaut 'AShell'. Par
exemple, si vous possédez WShell, vous pouvez utiliser NewWSH ici.
Peut être placé n'importe où dans le fichier mais il vaut mieux le
mettre au début.
WAITCMD commande
Cette commande redéfinira la commande utilisée par ParM pour
attendre une réponse de l'utilisateur avant de fermer un shell
(défaut: WaitReturn). Peut être placé n'importe où dans le
fichier mais il vaut mieux le mettre au début.
TMPDIR path
Cette commande redéfinira le répertoire par défaut (T:) utilisé
pour la création des fichiers scripts temporaires en mode SHELL.
Si votre répertoire n'est pas la racine d'un device (exemple T:),
vous devez ajouter un slash '/' après le nom du répertoire
(exemple RAM:T/). Peut être placé n'importe où dans le fichier
mais il vaut mieux le mettre au début.
COLOR n
Après cette instruction, les menus seront de la couleur n. Cette
couleur est par défaut la couleur d'avant plan de la fenêtre
(detail pen). Si vous demandez la couleur de fond, alors ParM la
remplacera par la couleur du detail pen.
MENU nom_du_menu
Créé un nouveau menu. Chaque menu doit contenir au moins un item
ou un sousmenu.
SUBMENU nom_du_sousmenu
Créé un nouveau sousmenu. Chaque sousmenu doit contenir au moins
un item et ne peut avoir de sousmenu.
Chaque SUBMENU doit se terminer par un ENDSUBMENU
ENDSUBMENU
voir SUBMENU.
ITEM [{raccourci-clavier}] nom_de_l_item definition_de_la_commande
Definit une nouvelle entrée de menu. Chaque definition 'item'
doit avoir un nom d'item et une commande associée. L'item est
ajouté au menu ou sousmenu courant. Un ENDSUBMENU indique à ParM
la fin du sousmenu courant et d'ajouter le prochain item au menu
courant plutôt qu'au sousmenu. Un raccourci-clavier optionnel
peut être indiqué entre {}. La syntaxe d'une commande est definie
dessous.
definition_de_la_commande
Les programmes peuvent être lancés de 4 façons différentes: ARUN,
RUN, SHELL, et WB. Pour tous les modes, STACK (pile) et PRI sont
optionnels. Si la pile est < 4000 octets, la taille sera celle de
la pile de ParM, c'est à dire, la pile par défaut du cli au moment
où ParM a été lancé. Il y a une exception: si ParM est résident,
la pile de ParM sera toujours de 4000 octets.
1) syntaxe de ARUN
ARUN [WIN console] [STACK n] [PRI n] commande [args]
Ce mode devrait remplir la plupart de vos besoins. La console
est maintenant optionnelle. C'est un mode de style
CreateProc(). Certains programmes ne l'aiment pas, mais il y
en a peu. Par exemple, les scripts ne peuvent être exécutés.
D'une manière générale, les commandes du répertoire C:
fonctionnent mieux en mode RUN. Ce mode a les mêmes
limitations que la commande arp ARUN. Actuellement, la
console est immédiatement fermée à la fin du programme. Nous
espérons régler ce problème dans une version future. Les
commandes ne peuvent pas être redirigées dans ce mode.
Note: Le mode ARUN avec une console (ARUN WIN console...) est
le même que l'ancien mode CLI. Si vous utilisez un ParM de
version antérieure à la 2.2 vous pouvez effectuer un
search/replace sur votre ancien fichier de configuration pour
changer 'CLI' en 'ARUN WIN'.
2) syntaxe RUN
RUN [STACK n] [PRI n] commande [args]
Ce mode lance la commande en background shell. Ce mode doit
être utilisé pour les scripts. Si le bit s de votre fichier
script est mis, il sera exécuté automatiquement (Pas besoin de
la commande Execute). Dans ce mode, les commandes ne seront
pas détachées si ParM est attaché à un CLI, c'est pourquoi
vous devriez plutôt utiliser ARUN aussi souvent que possible.
Vos commandes peuvent être redirigées dans ce mode.
3) syntaxe SHELL
SHELL [WIN console] [STACK n] [PRI n] commande [args][;commande [args]]...
Ce mode crée un shell interactif. Ce mode doit être utilisé
pour les scripts demandant des entrées de l'utilisateur. Si
le bit s de votre fichier script est mis, il sera exécuté
automatiquement (Pas besoin de la commande Execute). Un
avantage supplémentaire de ce mode est que vous pouvez mettre
plusieurs commandes séparées par des point-virgules ';'. Par
exemple: CD SYS:Utilities;Dir. En fait, ParM crée un fichier
script temporaire dans un répertoire de votre choix qui est
par défaut T:. Donc, vous pouvez réaliser un véritable
fichier script en remplaçant les retours chariot de fin de
ligne par des point-virgules. Pour réaliser ceci, prennez
votre éditeur de texte préféré, tappez votre script
normalement, puis à chaque fin de ligne, ajoutez un ';' et
faites un 'Del' pour enlever le retour chariot (ou faites un
'join line'). De cette manière, votre script tiendra sur une
seule ligne, et pourra être intégré tel quel dans le fichier
de configuration de ParM. Si vous avez besoin d'un ';' dans
une commande, ce qui ne devrait pas se produire car c'est
normalement le délimiteur de commentaires d'un shell, vous
pouvez utiliser le caractère spécial '\'. Exemple: ';' ->
'\;' et '\' -> '\\'. Si vous ne spécifiez pas de console (WIN
console), la console shell par défaut sera utilisée.
WB [STACK n] [PRI n] commande
Lance la commande en mode WorkBench, comme si vous aviez
cliqué sur son icône. Attention, si vous spécifiez une pile
(STACK) ici, elle prendra le pas sur la pile indiquée dans
l'icône. Votre commande risque donc de planter si vous
utilisez une pile trop petite. Sachez ce que vous faîtes.
5) option CFG
CFG Fichier_de_Configuration
ParM charge le fichier de configuration comme si vous aviez
fait Open dans le menu ParM et sélectionné ce même fichier.
Très utile pour utiliser des fichiers config sur des disques
différents pour choisir les programmes de ces disques.
Dans tous les modes à l'exception de WB, la commande est cherchée dans
la liste des programmes résident arp (commande arp ARes), puis dans le
Path actif au moment ou ParM a été lancé. Pour connaître ce Path, il
suffit d'entrer la commande Path dans le requester de la fonction
Command du menu ParM, ou d'ouvrir un shell depuis ParM, et de tapper
la commande Path.
Un fichier de configuration est donné en exemple.
Commandes du menu ParM.
Open: Ouvre le sélecteur de fichier pour selectionner le fichier
à charger.
Update: Met à jour les menus en rechargeant le fichier de
configuration courant. Utile si vous avez mofifié votre
fichier config pendant que ParM tourne.
Std Cfg: Charge le fichier config par défaut S:ParM.cfg. Pratique
après exécution d'une commande CFG.
Cmd Mode: Deux modes sont disponibles. Simple et Shell. Le mode
courant est indiqué par une marque. Ces modes concernent
la fonction Command ci-dessous. En mode 'Simple', ParM
restera figé (Busy) tant que votre command ne sera pas
exécutée, alors qu'en mode Shell, Command est asynchrone.
Pour cela, un shell est créé et votre (vos) commande(s)
sont mises dans un fichier script temporaire. Les règles
régissant ce mode sont identiques au mode SHELL du fichier
de configuration. Si vous possédez WShell et que vous
utilisez PatchDOS, vous aurez accès aux ressources de
WShell, c'est à dire alias, resident...
Command: Permet d'exécuter une commande CLI. voir ci-dessus.
ChangeDir: Change le répertoire courant de ParM. Toutes les
commandes héritent du répertoire courant de ParM sauf
celles lancées en mode WB.
Quit: Pourquoi? ParM n'est il pas mignon!
Commandes séparées:
End:
La commande End permet de fermer un shell dans lequel un ParM est
attaché. End a besoin de EndCLI pour fonctionner. S'il n'y a pas de
ParM attaché au shell, End fera seulement un EndCLI. End et EndCLI
peuvent être mis résident pour une rapidité maximale. Grace à cette
commande, vous pouvez mettre ParM dans votre CLI-Startup ou
Shell-Startup pour avoir des menus dans chaque CLI/Shell, et vous
pourrez les fermer à l'aide de End à la place de EndCLI sans vous
soucier de ParM. Attention: N'utilisez pas cette commande avec
WShell car il n'accepte que sa version 'Built-in' de EndCLI et End
charge le EndCLI du répertoire C:.
ParMCD:
ParMCD change le répertoire courant du ParM attaché au CLI courant.
Sans argument, ParM prendra le répertoire courant du CLI. Vous pouver
spécifier le répertoire en argument à ParMCD. Cette commande est
pure, vous pouvez la mettre en résident.
WaitReturn:
La commande WaitReturn est utilisée par défaut par la fonction Command
en mode Shell. Vous pouvez l'utiliser dans vos scripts. Elle attend
que l'utilisateur appuie sur la touche return. Cette commande est
pure, vous pouvez la mettre en résident.
Limitations:
Les scripts ne fonctionnent pas en mode ARUN. Utilisez RUN ou SHELL
la place.
Si une commande en mode RUN échoue, vous ne le saurez pas, si ce n'est
que vous ne la verrez pas fonctionner. C'est un peu ennuyeux pour les
utilitaires qui ne se manifestent pas de manière visible à l'oeil.
Quand ParM est attaché à un CLI, les commandes exécutées en mode RUN
ne seront pas détachées, c'est à dire que vous ne pourrez pas fermer
le CLI avant que ces commandes ne soient terminées. C'est le même
problème que si vous aviez lancé votre commande avec la commande Run:
1> Run ma_commande
D'un autre coté, ces commandes conservent la console comme fichiers
standards d'entrée/sortie, et vous pouvez en tirer avantage. Si vous
ne voulez pas que votre CLI soit perturbé par l'affichage intempestif
de ces commandes, vous pouvez les rediriger à NIL: ou utiliser
l'option '-o'.
ParM ne peut être mis résident qu'en arp, c'est à dire avec la
commande arp ARes. Ceci parce que ParM n'est pas pure. L'avantage
des résidents arp et que l'on peut savoir si le programme est résident
ou pas. S'il est résident, les variables globales sont dupliquées
pour chaque processus ParM, ce qui n'est pas le cas s'il ne l'est pas
ou s'il est en résident Commodore ou WShell. Même si vous avez
WShell, placez ParM en arp résident avec ARes et lancez le avez la
version arp de la commande Run.
Bugs connues: (ou devrais-je dire boggues!)
En mode SHELL, PRI n'est pas pris en compte. La priorité est toujours
0.
Certaines commandes ne fonctionnent pas en mode RUN, d'autres en ARUN.
Mais je n'ai jamais trouvé une commande qui ne marche ni dans l'un, ni
dans l'autre. ???
Projets d'amélioration::
- Faire descendre la taille de l'exécutable en dessous de 2 K !!!
- J'ai un gros projet qui permettra d'avoir accès aux menus de ParM sans
avoir besoin d'activer sa petite fenêtre.
Historique:
1.0: Interne. Refonte de MyMenu.
1.1: Première version officielle. (Envoyée à Fred Fish)
Ancien mode CLI changé en RB (RunBack)
Nouveau mode CLI ajouté.
Syntaxe du fichier de configuration changée.
1.4: Interne. Options -l, -d, et WBRun améliorées.
Vous pouvez maintenant lancer des projets en mode WB
constitués d'une icône seulement. Ex: Serial, Pointer et
Printer de répertoire Prefs.
1.6: Seconde version officielle. 29/09/90.
Code réarrangé.
Nouvelle option CFG ajoutée.
Nouvelle fonction 'Std cfg' ajoutée.
1.7: Interne.
N'utilise plus la c16.lib, mais les miennes à la place.
Taille du code diminuée de 1.5 K.
2.0: Troisième version officielle. 13/10/90.
ParM peut maintenant être mis résident.
Commande End crée.
Le path est indiqué dans Change Dir.
2.1: Commande ParMCD crée.
2.1r: Cette version utilise la librairie req.library (r pour req!).
2.2r: Disparition des modes RB et CLI. les nouveaux modes sont
ARUN, RUN et SHELL.
STACK et PRI sont optionnels pour tous les modes sauf WB.
Plus besoin de la commande Run du répertoire C:.
Les erreurs de syntaxe du fichier de configuration sont
maintenant reportées sous forme de ligne, colonne.
2.3r: Disparition du message 'Workbench processes still active'.
ParM crée maintenant un MsgPort public pour les messages
workbench commun à tous les ParM, et le laisse si des messages
sont encore en attente quand vous quittez ParM.
Maintenant, si votre console possède un gadget de fermeture,
vous pourrez quitter ParM en le cliquant. Particulièrement
utile pour les heureux possesseurs de WShell.
Les caractères de valeur ascii > 127 sont supportés (accents).
WAITCMD ajouté.
2.4r: Mode WB réécrit. STACK et PRI optionnels dans tous le modes.
Le mode WB ne plante plus si la commande n'est pas trouvée.
Vous pouvez maintenant lancer des programmes qui n'ont pas
d'icône.
La mémoire pour les menus est allouée par blocks de 1 K pour
diminuer la fragmentation de la mémoire.
2.5r: Options -s et -o ajoutées.
-s est utile si ParM est résident car dans ce cas, la pile de
ParM est toujours de 4000 octets, alors qu'il prend la taille
de pile du CLI normalement. Comme les commandes lancées par
ParM prennent par défaut la taille de pile de ParM, -s vous
permet d'avoir une pile par défaut autre que 4000 octet quand
ParM est résident.
Remerciements:
La première version de ParM (interne) était une refonte complète de
MyMenu de Darin Johnson. Le problème était qu'il n'était pas possible
d'avoir MyMenu sans le workbench, et que les programmes lancés depuis
MyMenu n'avaient pas de Path.
Un grand merci donc à Darin Johnson pour les allocations de menu et le
workbench run. L'idée d'attacher des menus au CLI m'est venue d'un
ami qui avait fait un programme similaire mais peu pratique
à configurer.
Un autre grand merci à Olaf 'Olsen' Barthel pour ses mises à jour des
startup arp pour l'aztec 5.0, code qui m'a servi à créer mes propres
libs.
Merci aussi à Colin Fox et Bruce Dawson pour leur fantastique
req.library. Nous encourageons tous les programmeurs et en
particulier professionnels à utiliser cette librairie qui possède le
plus beau requester de fichier du monde, et une tonne de facilités
pour la gestion des petits requesters et des gadgets.
Merci à William S. Hawes pour ARexx et WShell.
Merci à Pierre 'Zorglub' Ardichvili pour son aide.
Merci à CygnusSoft et ASDG pour leur fabuleux, génial, démoniac,
démentiel, extraordinaire, divin,... éditeur de texte CygnusEd 2.
Signature:
S.R. & P.C.
Ce n'est pas Status Register et Program Counter mais
Sylvain Rougier & Pierre Carrette.
Donnations:
Ce programme n'est pas domaine public. Ce programme est 'BeerWare'.
Si vous l'utilisez, veuillez envoyer une caisse de bière et/ou
constation de bugs à: Sylvain Rougier
Coiffure W
39 rue Carnot
86000 Poitiers
France.