Obligement - L'Amiga au maximum

Vendredi 06 juin 2025 - 12:39  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

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

Articles in English


Réseaux sociaux

Suivez-nous sur X




Liste des 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,
ALL


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


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


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 boîte 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]