Obligement - L'Amiga au maximum

Vendredi 22 septembre 2017 - 06:37  

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


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]