Obligement - L'Amiga au maximum

Mardi 25 avril 2017 - 14:26  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Soutien

N'hésitez pas à soutenir le projet Obligement



Contact

David Brunet

Courriel

 


En pratique : créer un fichier script
(Article écrit par Xavier Leclercq et extrait d'Amiga News - décembre 1993)


Qu'est donc au juste un fichier script ?

La plupart d'entre vous, qui êtes des familiers de l'Amiga, savent qu'un fichier script est exécuté à chaque initialisation ("reset") ou mise sous tension de votre Amiga. En effet, dans votre répertoire S: se trouve un fichier script très important et qui se nomme "startup-sequence". Des versions du Workbench récentes (2.0 et 3.0) peuvent contenir un fichier script additionnel qui porte le nom de "shell-startup". On retrouve ce genre de fichier sous d'autres environnements tel que, par exemple. le fichier script "autoexec.bat" sous MS-DOS.

Techniquement, un fichier script est un fichier texte contenant une ou plusieurs commandes AmigaDOS qui sont exécutées en séquence, les unes après les autres. Ceci est surtout très utile pour répéter des tâches courantes. Laissez-moi vous donnez un exemple :

Je suis, par exemple, un professeur. L'ordinateur que j'utilise à l'école doit me servir pour calculer les points de mes élèves. Le programme est installé sur le disque dur. Mais je ne suis pas le seul à employer cet ordinateur car mes étudiants travaillent également dessus. Il y a donc un mot de passe qui protège le programme. Mais par mesure de précaution, et au cas où ce mot de passe ne serait plus secret, je copie régulièrement le fichier contenant les points de chaque semaine sur disquette. Pour ce faire, il me suffit de taper la commande AmigaDOS suivante :

copy dh0:LivrePoints/DeuxSem df0:PointsSemaines

Je peux ainsi mettre la disquette de sauvegarde en sécurité dans mon bureau. Mais comme il s'agit d'une procédure semestrielle et donc répétitive, il est plus agréable de taper quelque chose comme "SauvePoints" plutôt que la ligne complète comme déjà présentée ci-dessus... D'où bien entendu la création d'un fichier script contenant :

copy dh0:LivrePoints/DeuxSem df0:PointsSemaines

...comme seule et unique ligne. Le nom du script est "SauvePoints". Pour être directement exécuté, il suffit de lui fixer l'attribut "S" signifiant "fichier script" en tapant la ligne suivante dans le Shell :

Protect dh0:c/SauvePoints S

Cet exemple, très simple, démontre l'avantage d'un fichier script par rapport à l'encodage direct de commandes AmigaDOS.

Maintenant, comment écrire un fichier script ?

En réalité ce n'est vraiment pas difficile. Un fichier script comme expliqué ci-dessus est une suite de commandes AmigaDOS qui seront exécutées en séquence. On peut en éditer un avec un simple éditeur de texte. Voici un exemple de fichier script, c'est-à-dire tout bêtement une partie de ma startup-sequence :

VDC o p v
; $VER: startup-sequence 39.9 (9.8.92)
C:SetPatch QUIET
C:Version >NIL:
C:AddBuffers >NIL: DF0: 15
FailAt 21
C:MakeDir RAM:T RAM:Clipboards RAM:ENV RAM:ENV/Sys
C:Copy >NIL: ENVARC: RAM:ENV ALL NOREQ
Resident >NIL: C:Assign PURE
Resident >NIL: C:Execute PURE
Assign >NIL: ENV: RAM:ENV
Assign >NIL: T: RAM:T
Assign >NIL: CLIPS: RAM:Clipboards
BindDrivers
C:Mount >NIL: DEVS:DOSDrivers/?(#?.info)
SetEnv Workbench $Workbench
SetEnv Kickstart $Kickstart
UnSet Workbench
UnSet Kickstart
C:IPrefs
C:ConClip
Path >NIL: RAM: C: SYS:Utilities SYS:Rexxc SYS:System S: SYS:WBStartup SYS:Tools SYS:Tools/Commodities
IF EXISTS S:User-Startup
 Execute S:User-Startup
EndIF
Resident Execute REMOVE
Resident Assign REMOVE
C:LoadWB
EndCli >NIL:

Le premier mot de chaque ligne est une commande AmigaDOS (excepté la ligne de commentaires débutant par un point virgule "; $VER: startup-sequence 39.9 (9.8.92)"). Il y en a plusieurs qui sont très courantes :
  • Makedir (pour créer un répertoire).
  • Copy (pour copier un fichier).
  • LoadWB (pour charger le Workbench).
Nous pouvons aussi distinguer des commandes qui sont spécifiques au fichier script. Ces commandes sont Failat, If et Endif. Nous y reviendrons dans un prochain article. A ce stade il faut bien vous dire qu'il n'y a rien de plus facile que d'écrire un fichier script si vous maîtrisez chaque commande ligne à ligne par encodage direct.

Lorsque vous démarrez votre Amiga, ce dernier cherchera automatiquement la startup-sequence. Il lit le fichier script et l'exécute, ligne par ligne. Si une ligne est incorrectement écrite ou la commande n'existe pas, l'ordinateur arrête sa lecture et vous fait connaître la nature du problème à l'aide d'un message d'erreur. S'il s'agit d'une "requête"(boîte de dialogue entre l'Amiga et vous) et si vous parvenez à résoudre le problème, la lecture reprendra son cours là où elle avait posé problème.

Voyons la ligne "Resident >NIL: C:Assign PURE". Ce qui ne provoque en fait aucune action "sur le champ". L'AmigaDOS à chaque commande recherche où celle-ci se trouve. Il peut la connaître d'office, c'est-à-dire quand elle est en mémoire et donc toujours à la disposition de l'Amiga. Il s'agit du rôle de la commande Resident. "Assign" est maintenant une commande connue qui peut être exécutée de suite dès la prochaine sollicitation.

Un mot sur ">NIL". Le caractère ">" signifie que les messages de sorties que vous pouvez voir sur l'écran de votre moniteur sont "dirigées vers...". L'endroit où les informations sont dirigées est spécifié directement après le caractère ">" et il s'agit dans ce cas de "NIL:". "NIL:" agit comme quelque chose qui aspire tout sans rien rejeter. Les sorties sont redirigées sur un périphérique logique qui ne rend rien, qui ne fait rien. Si vous supprimez le "EndCli >NIL:" vous ne pourrez jamais terminer le processus courant, c'est-à-dire la fenêtre Shell actuelle et donc voir s'afficher l'écran du Workbench (qui avait été chargé par LoadWB).

Bref, pour revenir à la commande "Resident", pourquoi gaspiller de la mémoire pour charger des commandes AmigaDOS ? La réponse est toute simple : pour accélérer la procédure de recherche et d'exécution.


[Retour en haut] / [Retour aux articles]