Obligement - L'Amiga au maximum

Jeudi 29 juin 2017 - 16:21  

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 : Professional Page - dater et numéroter automatiquement une page
(Article écrit par Marcel Duruflé et extrait d'Amiga News - mai 1994)


En implémentant les commandes ARexx dans Professional Page et Professional Draw, l'éditeur Gold Disk a donné un formidable outil de développement à chaque utilisateur de ces logiciels.

Les scripts ARexx sont accessibles dans Professional Page via un bouton qui représente une lampe d'Aladin, d'où son surnom de "Genie". Pas mal de Genies ont été écrits, dont ceux de Don Cox, dans le DP. Malgré la simplicité et la puissance des commandes ARexx, beaucoup de possesseurs de Professional Page sont un peu effrayés par la manipulation des commandes ARexx. Pourtant, avec les exemples de scripts ARexx fournis, en modifiant quelques lignes, on peut très facilement confectionner des outils sur mesure, sans trop d'effort. C'est ce que nous allons voir.

Dater une lettre

Supposons que vous ayez à rédiger une lettre. En tête de lettre, vous mettrez sûrement la date, dans le coin gauche, libellée comme suit : "à Toulouse, le 25 avril 1994" ou "Toulouse, le 25/04/94". Vous pourrez créer un Genie, qui automatiquement, vous mettra une de ces deux phrases en haut de votre courrier. Pour cela, il nous faudra une commande pour pouvoir en temps réel ce qui se passe :

call ppm_AutoUpdate(1)

Il nous faut d'abord créer une boîte où insérer le texte, donc une commande pour créer la boîte et une pour insérer le texte :

Boite=ppm_CreateBox(Pos_gauche, Pos_Haut, LargeurBoite, HauteurBoite, 0,),
call ppm_TextIntoBox(Boite,texte)

Ensuite, ce texte, il va falloir indiquer quelle police employer, son style (gras, italique, normal, souligné), et sa taille. Donc nous aurons trois autres commandes :

call ppm_SetFont('(CG)Times')
call ppm_SetSize(13.25)
call ppm_SetStyle('I')

Et pour finir, une commande générale pour voir l'évolution du programme ARexx, je veux parler de :

xx=ppm_Inform(1,texte,)

Voyons en détail ces commandes

call ppm_AutoUpDate(1) : cette commande, si le mode est mis sur 0, n'affichera pas les résultats immédiats des commandes ARexx exécutées ; à la fin du programme, vous verrez le résultat. A noter que le programme dans ce mode s'exécute plus rapidement. Sur 1, vous aurez la conséquence immédiate de chaque commande exécutée.

Boite=ppm_CreateBox(Pos_gauche, Pos_Haut, Largeur, Hauteur, angle, [Nom]) : cette commande très puissante permet de positionner et dimensionner une nouvelle boîte. La boîte créée aura un numéro d'identification qui sera stocké dans boîte. Les coordonnées x,y du coin gauche en haut de la boîte sont mises dans Pos_Gauche, et dans Pos_Haut, la largeur et la hauteur de la boîte respectivement dans Largeur et Hauteur. L'inclinaison de la boîte est mise dans Angle, et son nom éventuellement dans [Nom].

call ppm_TextIntoBox(boite,texte) : cette commande permet de stocker un texte dans une boîte déjà existante. La variable "texte" contient le texte devant être mis dans la boîte, et la variable "boite" désigne le numéro d'identification de la boîte, numéro que l'on a lors de la création d'une boite dans la commande précédente.

call ppm_SetFont("(CG)Times") : cette commande installe comme police de caractères actuelle, la police indiquée. Le nom indiqué doit être un des noms indiqués dans la liste des polices affichée lorsque vous visualisez cette liste. Supposons que vous ayez : "Helvetica, (CG)Times, (CG)Triumvirate" et que vous vouliez la dernière police indiquée, vous mettrez Call ppm_SetFont("(CG)Triumvirate"). Attention aux fautes d'orthographe ou d'espace !

call ppm_SetSize(taille) : indique la taille de la police en points. Exemple : call ppm_SetSize(16) indique la taille 16 points.

call ppm_SetStyle(style) : indique le style : Gras(Bold), italique(italic), souligné(Underline), détouré(Outline), ou Normal. Avec une des initiales (B/I/U/O/N). Exemple : call ppm_SetStyle("BI").

A ces trois dernières commandes correspondent des commandes "inverse", qui permettent de savoir quelle police, quelle taille et quel style sont en cours. Ce sont respectivement : police=ppm_GetFont(), taille=ppm_GetSize() et style= ppm_GetStyle().

choix=ppm_Inform(nombreBoutons, texte, [texteBouton1], [texteBouton2], EtexteBouton3]) : cette commande permet de visualiser un texte, c'est-à-dire des données par exemple, et de faire un choix avec un, deux ou trois boutons. Ces boutons peuvent contenir un texte chacun. Exemple : ppm_Inform(1,"N°" NumeroBoite,"Resume") ou ppm_Inform(2,"AmigaNews","Oui","Non").

"choix" aura la valeur 0, 1 ou 2 correspondant au choix utilisateur. Pour tester votre Genie, vous pouvez l'insérer n'importe où dans le programme.

Vous avez pu constater que certaines commandes renvoient des valeurs, d'autres pas. ppm_GetStyle() renvoie la valeur du style, qui est un des caractères de "B/I/O/N/U", par contre, call ppm_SetStyle('B') ne renvoie pas valeur.

Écriture du script

Pour écrire tout script ARexx, tapez une ligne de commentaire, libellée comme suit (les commentaires doivent être précédés de "/*" et terminés par "*/") :

/* @B9.Dater @N: -Créé une Boîte Date. @I.Durufle 94 */

Et les lignes suivantes :

call ppm_AutoUpdate(1)
cr="0a"x
signal on error
signal on syntax
signal on halt
/* --- Départ module date --- */

Toutes ces lignes écrites ci-dessus n'ont pratiquement pas besoin d'être changées. Vous pourrez toujours utiliser ces mêmes lignes pour lancer les autres programmes ARexx. Nous allons sauvegarder les paramètres de la police en cours par sécurité !

ancienne_fonte=ppm_GetFont()
ancien_Style=ppm_GetStyle()
ancienne_taille=ppm_GetSize()

Ensuite, nous installerons la police voulue, ici (CG)CTimes :

call ppm_SetFont("(CG)Times")
call ppm_SetSize(13.25)
call ppm_SetStyle('I')

Puis les coordonnées de la boîte devant contenir le texte :

HauteurBoite=2
LargeurBoite=9
Posgauche=11
Pos_Haut=4

Et la commande la créant :

newbox=ppm_CreateBox(Posgauche, Pos_Haut, LargeurBoite. HauteurBoite,0,)

Il nous reste plus qu'à insérer la date dans cette boîte :

call TextIntoBox(newbox,'à Toulouse, le 25/04/1994')

Et ceci pour remettre l'ancienne police :

call ppm_SetFont(ancienne_fonte)
call ppm_SetSize(ancienne_taille)
call ppm_SetStyle(ancien_Style)
/* --- Fin module date --- */

Ajoutons aussi toujours les mêmes lignes ARexx, qui seront de tous les petits programmes ARexx que vous ferez !

exit
/*======*/
halt:
call exit_msg("Utilisateur annule ce Genie!")
error:
syntax:
do
  exit msg("Echec du Genie à cause de l'erreur: "errortext(rc))
end
/*======*/
exit_msg: procedure expose units
do
  parse arg message
  if message ~= "then call ppm_Inform(1,message,)
  call ppm_ClearStatus()
  call ppm_AutoUpdate(1)
  exit
end
/*======*/

Il ne vous reste plus qu'à sauver ce programme ARexx sous le nom "Dater.pprx" et à le stocker dans le répertoire ARexx où sont les autres Genies. Avant de le lancer, vérifiez que vous avez déjà une page ouverte. Et vous devriez voir "Toulouse le 25/04/94" par exemple s'afficher dans le style et la police indiqués.

Professional Page

Numéroter une page

C'est le même problème que nous avons résolu précédemment, c'est-à-dire créer une boîte qui contient un texte avec le numéro de la page en lieu et place de la date. Pour cela, nous allons reprendre le programme que nous avons écrit, et changer la ligne call TextIntoBox(newbox,'Toulouse, le 25/04/1994') en call TextIntoBox(newbox,'63').

C'est tout : il vous suffit de sauver ce nouveau programme sous le nom de "Numéroter.Page.pprx" par exemple, et de le stocker là où sont les autres Genies. Pour qu'il fonctionne, il faut que votre document ait une page au moins. Je sais, c'est évident, mais...

Autres variantes pour dater

Pour avoir la date dans Professional Page, on peut aussi utiliser la commande ppm_CurrentDate(). Taper alors :

date.ppm_CurrentDate()
call TextIntoBox(newbox,'Toulouse, le 'date)

J'espère que ceci vous aura donné envie de procéder à d'autres essais. La fois prochaine, nous verrons comment numéroter automatiquement les pages de votre document et comment insérer ces petits programmes dans un cadre général. Rien de bien compliqué, rassurez-vous.


[Retour en haut] / [Retour aux articles] [Article suivant]