Obligement - L'Amiga au maximum

Vendredi 06 juin 2025 - 12:30  

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 - numéroter automatiquement plusieurs pages
(Article écrit par Marcel Duruflé et extrait d'Amiga News - juin 1994)


La fois dernière, nous avons vu comment dater une lettre en cliquant sur un Genie, et comment numéroter une page quelconque de votre document sous Pro Page. Nous allons poursuivre notre chemin en essayant de voir comment numéroter automatiquement toutes les pages de votre document.

Pour rappel, nous avions concocté le programme permettant de dater une lettre. Pour numéroter une page, il nous suffisait de changer la ligne d'insertion du texte :

call TextIntoBox(newbox,' à Toulouse, le 18/07/1991')

En...

call ppm_TextIntoBox(newbox,'1')

...pour pouvoir numéroter tout le document, nous allons avoir besoin de trois commandes supplémentaires : PageDebut=ppm_DocFirstPage(), PageFin=ppm_DocLastPage() et Page=ppm_GotoPage([page]).

La commande ppm_DocFirstPage(), comme son nom l'indique, donne le numéro de la première page. c'est-à-dire 1 et 0, si le document ne possède aucune page. ppm_DocLastPage() indique la dernière page du document et ppm_GotoPage([page] va à la page indiquée entre crochets, c'est-à-dire que cette page indiquée s'a s'afficher à l'écran et devenir la page où vous allez travailler. Nous allons donc taper les lignes suivantes :

PageDebut=ppm_DocFirstPage()
PageFin=ppm_DocLastPage()
if pageDebut=0 then exit_msg('Il n'y a pas de pages: document vide!')
do pageCourante=PageDebut to PageFin
   page=ppm_GotoPage(pageCourante)
/* lignes action à insérer */
end
/* ligne à mettre à la fin

Où allons-nous insérer ces lignes ? Entre la dernière ligne du commentaire "Départ module Date" qui est "/* --- */" et la ligne "ancienne_ancienne_fonte=ppm_GetFont()".

La ligne "do "pageCourante=PageDebut to PageFin"" doit arriver avant "ancienne_fonte=ppm_GetFont()". La ligne "end" doit être mise avant la ligne de commentaire "fin module Date", de telle manière que la ligne action soit les lignes nécessaires à la création d'une boîte et l'insertion du numéro de page. Voir listing n°2. Sauvez le programme sous le nom "Numéroter.pages.pprx" dans le répertoire où sont tous les Genies. Logiquement, vous ne devriez pas avoir de problèmes.

Professional Page
Professional Page

Choix des pages fin et début

Mais peut-être n'aimeriez-vous numéroter qu'un certain bloc de pages, par exemple la page 6 à la page 120, les autres pages servant aux notices, sommaire, bibliographie, index, auxquelles vous désireriez donner une autre numérotation. Pour cela, nous aurons besoin de la commande form=ppm_GetForm(Titre, Longueur, lignes).

Cette commande permet à l'utilisateur d'entrer des valeurs, autant qu'il le désire, et de les récupérer pour le programme. "Titre" est un texte qui s'inscrit dans la barre de la fenêtre de requête qui s'affiche. "Longueur" est la largeur des gadget-chaînes où vous inscrivez vos données, il s'exprime en nombre de caractères. "Lignes" est une chaîne de caractères qui est composée comme suit : texte1 <CR> texte2 <CR> texte3 <CR>...

Exemple :

PageDebut=1
PageFin=12
lignes="PageDébut :" PageDebut cr " Page de Fin: "PageFin
form=ppm_GetForm("Choix Pages à numéroter: ",15,lignes)

La commande "GetForm" affichera une fenêtre de requête avec un texte-barre "Choix Pages à numéroter: " et deux lignes libellées " PageDébut :" et " Page de Fin: " et les variables 1 et 12 s'afficheront dans les gadgets correspondants. Nous allons à la lumière de cette commande réécrire les dernières lignes comme suit :

PageDebut=ppm_DocFirstPage()
PageFin=ppm_DocLastPage()
if pageDebut=0 then exit_msg('Il n'y a pas de pages: document vide!')
/* lignes ajoutées -> */
lignes="PageDébut :" PageDebut cr " Page de Fin: "PageFin
form=ppm_GetForm("Choix Pages à numéroter: ",15,lignes)
parse var form Page1 '0a'x Page2
if form=" then exit_msg()

do numeroPage= Page1 to Page2
...

Nous avons remplacé dans la boucle "numero-Page" le départ par Page1 et la fin par Page2. D'où le listing n°3. Attention, ne pas mettre de "é" dans une variable ARexx. ARexx ne prend que l'alphabet américain.

Professional Page
Professional Page

Variantes possibles

La numérotation des pages se fait soit en chiffres romains majuscules ("XIV"), soit en chiffres romains minuscules ("xiv"), soit en chiffres arabes ("14").

Pour choisir le type de numérotation, changez "63" en "LXIII" ou "lxiii". En prenant "63", vous avez l'option par défaut.

Conclusion

Vous avez certainement apprécié le confort d'utilisation apporté par ces quelques lignes supplémentaires. Dites-vous bien qu'il est possible de programmer d'autres petits modules très efficaces sans avoir besoin de transcrire des dizaines de lignes, l'important étant d'utiliser la commande ad hoc. La fois prochaine, nous allons voir comment grouper ces modules de numérotation de page et de datation en un macro-module qui d'un seul clic vous permettra de choisir le module que vous désirez.

Professional Page


[Retour en haut] / [Retour aux articles] [Article précédent] / [Article suivant]