Obligement - L'Amiga au maximum

Dimanche 15 juillet 2018 - 21:10  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · 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 en d'autres langues


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Logiciels
 · Jeux
 · Scène démo
 · Divers


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


Contact

David Brunet

Courriel

 


En pratique : AmigaDOS 1.x - Fichier de traitement par lot
(Article écrit par Dominique Lorre et extrait d'Amiga News Tech - avril 1990)


Voici un exemple de programme qui permet de créer des fichiers "batch" (de traitement par lot). Un fichier de traitement par lot est l'équivalent sur PC des fichiers script de l'AmigaDOS. Or, les utilisateurs de PC n'ayant pas à leur disposition la fabuleuse commande List de l'AmigaDOS, ils ont souvent des problèmes énormes de manipulation de leurs fichiers. Cela est également vrai pour ceux qui ont un Amiga avec la carte passerelle.

Il m'est arrivé un jour d'avoir à transférer une cinquantaine de fichiers de mon Amiga vers la carte passerelle. Comme je suis relativement organisé, ils se trouvaient tous dans un répertoire que j'avais nommé "Transfert". La commande avec la carte PC pour récupérer un fichier venant de l'Amiga est :

AREAD <nom du fichier Amiga> <nom du fichier PC>

L'idée d'avoir à taper cinquante fois cette ligne ne me passionnait pas énormément. C'est la commande List qui m'a encore une fois sauvé la vie :

List > Sys:trans.bat Sys:Transfert LFORMAT "AREAD %S%S A:\%S"

Cela m'a créé un fichier "trans.bat" qui contenait la commande AREAD pour chacun des fichiers que j'avais à transférer. Je n'ai plus eu qu'à ouvrir la fenêtre PC et faire :

AREAD Sys:trans.bat
trans

Après cela, je me suis rendu compte que l'AmigaDOS et tous les utilitaires de l'Amiga pouvaient être très utiles pour les fichiers de la partie PC. L'exemple des polices que l'on copie sur plusieurs disquettes peut facilement être reproduit pour des fichiers PC que l'on voudrait passer d'un disque dur vers plusieurs disquettes. On peut vouloir éditer les fichiers PC avec un éditeur de texte Amiga, les modifier avec NewZap, le seul souci que nous cause ces manipulations est qu'il vaut mieux posséder pas mal de place en réserve dans la partie Amiga. La méthode à suivre est simple :
  • Transfert des fichiers PC vers l'Amiga.
  • Bidouilles en tous genres sur l'Amiga.
  • Retour des fichiers PC au bercail.
A partir de là, les possibilités sont nombreuses. Jamais je n'édite un texte de plus de cinq lignes sur PC. Ce n'est pas par préjugé mais parce que je ne connais pas les éditeurs de texte PC (c'est donc par ignorance...), et que leur manque, entre autres, le couper-coller, les raccourcis claviers, et la possibilité de manipuler plusieurs fichiers à la fois (...et aussi par exigence). Mais cela vous le saviez.

En allant un peu plus loin, on apprend rapidement à éviter la lourdeur légendaire des PC en faisant un détour par l'Amiga. Imaginez que vous possédez des documents provenant d'un traitement de texte sur PC (disons qu'ils possèdent tous l'extension ".TX1") que vous vouliez convertir au format d'un autre traitement de texte (avec l'extension ".TX2"). Pour cela, on vous donne un utilitaire qui fonctionne de la manière suivante :

UTIL <fichier source> <fichier destination>

La solution PC/Amiga s'écrira :

Sous PC :

AWRITE *.TX1 SYS:Transfert/

Sous CLI :

List > SYS:util.bat SYS:Transfert/#?.TX1 LFORMAT "UTIL %S%S2" Delete #?.TX1

Sous PC :

AREAD SYS:util.bat
util

Une fois encore, la commande List vous a tiré d'affaire. Comme vous allez finir par penser que je ne connais qu'elle, je vais vous donner un exemple de ce que l'on peut faire avec Copy ou Rename (en AmigaOS 1.3 et sous Shell uniquement). Quand vous entrez la commande :

Rename ?

...le Shell renvoit la réponse "FROM/A,TO=AS/A:" qui indique les paramètres de la commande. La commande attend ensuite que vous entriez les paramètres. C'était surtout utile en AmigaOS 1.2 pour ceux qui n'avaient qu'un seul lecteur de disquette car ils pouvaient entrer une autre disquette que le Workbench et renommer le fichier qu'ils voulaient. Mais ces paramètres ne servent pas uniquement à vous indiquer comment utiliser la commande. Vous pouvez entrer au choix :

Rename ancien_nom nouveau_nom

Ou :

Rename FROM ancien_nom AS nouveau_nom

Vous me direz que la deuxième forme est seulement là pour faire joli et qu'elle ne sert à rien. Ce qui est parfaitement faux. La commande Rename vous sert notamment quand vous voulez modifier votre startup-sequence. Dans ce cas, vous allez vouloir conserver un exemplaire de l'ancienne :

Rename FROM S:startup-sequence AS S:startup-sequence.anc
Copy FROM S:startup-sequence.old TO S:startup-sequence

Ensuite, vous aller éditer votre nouvelle startup-sequence. Au bout d'un certain temps, vous aurez envie de revenir à la startup-sequence originale car la première aura été trop modifiée. Les deux lignes à entrer sont :

Rename FROM S:startup-sequence AS S:startup-sequence.old
Rename AS S:startup-sequence FROM S:startup-sequence.anc

Sous CLI, cela n'a aucun intérêt. Mais sous Shell, en utilisant l'historique des commandes et le déplacement avec les touches fléchées, vous allez y gagner énormément de temps car vous n'aurez qu'à intervertir les mots-clé "FROM" et "AS". Ce qui est valable avec Rename, l'est aussi avec Copy et Type.

Nous sommes encore bien loin d'avoir exploré toutes les ressources du Shell. En mode direct, il existe trois manières de valider une commande : la touche "Return" (ou "Enter"), et les séquences de touches "<Ctrl>-\" et "<Ctrl>-J". Le Return est le procédé normal utilisé pour valider ses commandes. Le <Ctrl>-\ est utilisé par les fichiers script et est très mal géré par l'AmigaDOS. Il désigne en principe la fin de fichier mais souvent un caractère "ÿ" (y tréma) se trouve inséré, ce qui entraîne des erreurs par exemple quand un fichier de commande se termine abruptement. Le <Ctrl>-J est, lui, particulièrement utile. Les commandes séparées par un <Ctrl>-J ne sont pas exécutées immédiatement. Ainsi, on peut lancer des commandes telles que celle-ci :

Date<Ctrl>-J
List<Ctrl>-J
Date<Return>

Les commandes ne seront exécutées qu'après le "Return" : c'est une manière simple de chronométrer un programme sans créer un fichier script pour cela. Une possibilité amusante des fichiers script est leur utilisation en mode direct. Essayez la commande suivante :

Execute *
IF Exists S:startup-sequence
  Echo "Ce fichier existe"
Else
  Echo "Ce fichier n'existe pas"
Endif
<Ctrl>-\

C'est la seule manière d'utiliser la commande "If" en mode direct. Cela peut-être utile si l'on veut vérifier qu'une commande que l'on ne connaît pas ou que l'on a créé gère bien les codes de retour :

Execute *
Ask "Oui ou Non (Y/N)"
Y
IF WARN
  Echo "ok"
Else
  Echo "non"
Endif
<Ctrl>-\

Ici, nous obtiendrons "ok" comme réponse.

Le mois prochain, nous allons nous attaquer aux fichiers script.


[Retour en haut] / [Retour aux articles]