APPLICATIONSBUREAUTIQUE ★ LETTRE TYPE AVEC MAILING ★

Lettre Type Avec Mailing (CPC Revue)Applications Bureautique
FAITES-VOUS BONNE IMPRESSION ?

Autant dire que nous allons encore parler du bon usage de l'imprimante... Non seulement apprendre à la "switcher" correctement, mais surtout prévoir pour elle des applications utilitaires. A titre d'exemple, nous verrons comment programmer une lettre type avec "mailing" et sans logiciel de traitement de textes !

Les prereglages de l'imprimante

Beaucoup de lecteurs utilisent leur imprimante avec les mêmes réglages que lors de son déballage. D'autres, plus courageux se sont plongés dans le manuel pour mieux régler ces sacrés "switches'jmicrocom-mutateurs) mais avec de nombreux doutes sur leur action car les manuels d'imprimantes ne brillent pas par leur clarté... La preuve, près de 40 % du courrier des lecteurs qui m'est adressé est relatif à des problèmes d'impression ! Première loi, la plus importante : les switches servent à fixer des options par défaut lors de la MISE SOUS TENSION. Donc un switch basculé sous tension est sans effet. Il faut éteindre et rallumer pour que ce changement devienne actif. OK ?

Deuxième loi : un fabricant d'imprimantes veut que ses machines puissent fonctionner parfaitement sur tous les microordinateurs. Or, ceux-ci sont tellement différents qu'il n'existe pas de réglage passe-partout. Il a dû en choisir un pour la sortie d'usine et huit fois sur dix, c'est le réglage pour liaison à un compatible IBM PC, pas pour CPC... (heureusement, ils diffèrent peu !).

Troisième loi : il faut noter, sur une feuille fixée dans le manuel, les positions des switches AVANT ET APRES modifications. Il serait trop facile de vous indiquer sans explications les options à prendre pour liaison à un CPC. Il faut absolument connaître les raisons de ces choix car un jour vous tomberez fatalement sur un cas particulier.

le choix de nationalite des caracteres

Six codes ASCII ont des représentations différentes selon cette "nationalité". Il s'agit de lettres spécifiques à certaines langues. Pour la France, ce sont les minuscules accentuées, le signe "numéro" (°) et le signe "paragraphe" (§). Un exemple : si l'imprimante reçoit le code ASCII 64 et qu'elle est switchée USA, elle fera un " " ; si elle est switchée France, elle fera un "à". Idem pour le code 124 qui sera traduit par la barre verticale ou par "ù". Premier cas de conscience : vous avez un clavier QWERTY et vous vous consacrez surtout à la programmation, alors switchez USA pour que ces symboles usuels soient traduits de même sur papier. Vous avez un clavier AZERTY et vous trouvez normal que ces caractères soient identiques à l'écran et sur papier, alors switchez français. QWERTY ou AZERTY vous voulez que les minuscules accentuées à, é, è, ù, ç soient imprimées correctement. Dilemme... Voici la solution que j'utilise : mon imprimante est switchée USA (car je fais surtout de la programmation), mais quand je veux imprimer ces lettres avec accents, j'envoie tout d'abord le code EPSON qui va instaurer le clavier français. PRINT#8, CHR$(27);"R";CHR$(1); Quatrième loi : lorsqu'une commande par code EPSON est en contradiction avec le "switchage", c'est le code EPSON qui prime. Inversement, si la machine est switchée France et que vous vouliez imprimer un listing, envoyez d'abord ce même code EPSON mais en remplaçant CHR$(1) par CHR$(0) et vous serez en caractères USA. A vous de choisir.

Nota : si vous utilisez aussi un compatible PC même avec clavier AZERTY, switchage USA obligatoire. (Les minuscules françaises ont d'autres codes ASCII).

Choix des codes et polices

Vous savez que les consignes pour imprimer du texte se font par des codes de commandes appelés communément "CODES EPSON" ; or, ils ne sont pas les seuls, il existe aussi les "CODES IBM" souvent très différents des codes EPSON. Ces codes IBM (une marque qui ne veut jamais faire comme tout le monde I) sont très peu utilisés. Donc pas d'hésitation, choisissez "codes EPSON" c'est le standard qui s'est imposé. Un autre switch peut vous proposer "italique ou IBM" ou encore "normal ou graphique". Ceci ne concerne (hélas) pas les AMSTRAD CPC puisque leurs sorties imprimantes ne sortent que 7 bits au lieu de 8. Autrement dit, un CPC ne peut envoyer à l'imprimante que des codes ASCII compris entre 0 et 1 27. Or ce choix concerne les caractères de codes compris entre 128 et 255. Dans la norme ASCII, ce sont nos mêmes caractères mais écrits en italiques. Cela a peu d'intérêt car un CPC peut faire imprimer en italiques grâce au code EPSON ESC "4" (traduit par PRINT#8, CHR$(27);"4"). IBM pour ses PC en a profité pour les remplacer par autant de symboles graphiques très utiles parmi lesquels on trouve nos minuscules accentuées. Il y a même deux jeux de caractères (peu différents) appelés "Table I et table II". Je vous parle de ces choses qui ne nous concernent pas parce qu'il s'agit de choix proposés aans le manuel. Donc pour CPC, switchez "italiques" et ce pour éviter des ennuis avec l'une des tables IBM... Revenons aux codes EPSON : quelques lecteurs se plaignent que certains codes ne fonctionnent pas (ou d'une manière inattendue) sur leur imprimante. Trois raisons à cela.

  • Votre imprimante bas de gamme a une ROM moins riche qui ignore ce code "élaboré" présent sur les modèles haut de gamme ou très récents ;
  • Votre imprimante est d'une marque ou d'un modèle qui ne respecte guère la norme EPSON. Et je vise là certain modèles TANDY et l'AMSTRAD DMP1 ,
  • Cas plus rare : certains codes EPSON sont mal normalisés et changent d'effe d'un modèle à l'autre (même dans la marque EPSON !). Le cas maudit est le ESC " !" qui sert justement à changer la taille des caractères. A ne jamais utiliser !

REGLAGE DIVERS

Zéro barré ou non. Le zéro non barré a une forme légèrement plus carrée que le O majuscule. Optez pour le zéro barré et en traitement de texte, tapez des O majuscules pour zéro. Attention, il n'existe pas de code EPSON pour cette option ; c'est uniquement par switch.

LF (automatic Line Feed) = saut de ligne automatique. Mettre sur OFF. Explication : quand vous programmez PRINT #8,A$ après ce A$, le CPC envoie à votre insu un CHR$(13) qui fait revenir la tête à gauche, plus un CHRSjlO) qui fait avancer le papier d'une ligne. Quelques très rares ordinateurs n'envoient pas ce CHR$(10) et c'est à l'imprimante de le faire suite à un CHR$(1 3). Si vous le mettiez sur ON, vous auriez donc un double interligne.

Les sauts de pages. Plusieurs réglages correspondent à cela. Tout d'abord, la longueur des feuilles utilisées, 11 ou 2 pouces (= 27,94 cm ou 30,48 cm).
Le 11" est plus fréquent. Les feuilles séparées correspondent à 11" ef ½ donc une autre raison de choisir 11".

  • SKIP OVER effectue un saut de 1 pouce en bas de page, ce aui évitera d'écrire sur la pliure en pointillés. En général, on le met sur OFF.
  • PAPER END DETECTOR : arrêt de l'imprimante si panne de papier. ON car c'est une sage précaution, mais à mettre sur OFF pour imprimer une feuille séparée ou des enveloppes.
  • "Papier continu ou en feuille à feuille". En "feuille à feuille" le SKIP OVER se met sur ON et PAPER END sur OFF, et ce automatiquement, du moins généralement... Cette position est recommandée même si vous n'avez pas de bac d'alimentation automatique et que vous positionnez vos feuilles une à une.

SLCT-IN. Une option ayant tendance à disparaître. A mettre sur ON. En OFF, le micro pourra bloquer l'imprimante en mettant la broche 36 de la prise à +5 volts. Utilité ?

INPUT BUFFER. Votre machine possède peut-être une RAM (buffer) de plusieurs kilo-octets dans laquelle elle stocke les caractères à imprimer ? Grâce à elle, le CPC "reprendra la main" avant la fin de l'impression. Donc à mettre sur ON. Toutefois, pour la mise au point de programmes d'éditions, ce buffer est gênant : en OFF, l'imprimante s'arrêtera quand vous presserez la touche ESC du CPC.

En conclusion, vous voyez que de nombreux switches dépenaent de vos goûts personnels ou de circonstances exceptionnelles. Il est donc indispensable de connaître le rôle de chacun d'eux.

Nota : même avec le LF sur OFF, il arrive que l'on ait le double interligne, c'est spécifique aux Amstrad CPC équipés de certains câbles : il faut empêcher que la borne de sortie n° 14 côté CPC soit reliée électriquement à la borne 14 côté imprimante. Si c'est le cas, coupez cette liaison dangereuse (dans une des prises du câble).

A présent, nous pouvons faire les programmes d'éditions.

LES REGLES GENERALES DE PROGRAMMATION

  1. Tout programme (ou sous-programme) d'édition doit commencer par ESC" " qui vide le buffer de consigne. Ce code a également pour effet de mémoriser la ligne 1 du papier (pour les sauts de pages). Il faut donc que le papier soit correctement positionné en naut de page AVANT de lancer le programme !
  2. Tout programme doit s'achever par ce même ESC " ". Imaginez que la dernière ligne ait été imprimée en gros caractères et qu'après cela, vous fassiez LIST #8... Joli gag, n'est-ce pas ?
  3. Les codes EPSON peuvent être programmés à la file, séparés par des ";'. Il faut un point-virgule à la suite d'un code isolé sinon il y aura en plus un saut d'une ligne...
  4. Pour laisser des lignes blanches, programmer des PRINT#8. Exemple : FOR N = 1 TO 4 : PRINT #8 : NEXT
  5. Pour effectuer un saut de page prématuré, faire : PRINT #8,CHR$(12) ; faire également un CHR$(12) ; en final. Ce code ne fait pas avancer le papier d'une page mais du complément de lignes pour amener le papier sur le haut d'une nouvelle page (très important !).
  6. Pour les tabulations horizontales, utilisez TAB (comme avec PRINT) ou SPC ou SPACES.
    PRINT #8,A$,TAB(20);B$;TAB(65);E$ PRINT #8,SPC(38);C$ PRINT #8,SPACE$(52); D$
    Ne pas utiliser les codes EPSON spéciaux tels que ESC "D" qui sont très délicats d'emploi, donc assez farceurs. Idem pour les tabulations verticales (comptez les PRINT#8).
  7. Si vous utilisez du papier de largeur normale sur une imprimante "grand chariot", il faut obligatoirement programmer WIDTH 80 (c'est une commande BASIC CPC), sinon la tête poursuivra l'impression de sa ligne sur le rouleau caoutchouc... Ce sera WIDTH 96 pour des caractères "Elite" et WIDTH 132 pour du "condensé".
  8. L'écriture en "espacement proportionnel" par ESC "p" fait certes plus "chic" mais est à proscrire des tableaux ; sinon adieu les belles tabulations !
  9. Si votre CPC a un clavier QWERTY, il vous faut connaître les touches correspondant aux minuscules accentuées :

à = ; é = SHIFT + crochet ouvert ; è = SHIFT + crochet fermé ; ç = anti-slash ; ù = barre verticale ; 0 - crochet ouvert et § = crochet fermé. Les lettres é et è se traduisent à l'écran par des petites accolades. Pour obtenir ces symboles sur les écrans des CPC QWERTY, lancez un sous-programme à base de SYMBOL : voir du même auteur : "Programmes utilitaires pour AMSTRAD" page 20 (SORACOM). Une application pratique

Notre listing exemple est une lettre type qu'une entreprise envoie à tous ses clients pour un nouvel article OBJ$. Seules deux données sont à entrer au clavier, la date DAT$ et le nom de cet OBJ$. Pour le reste, le programme charge le fichier adresses aes clients et édite une lettre PERSONNALISEE pour chacun d'entre eux. C'est ce qu'en traitement de textes on appelle "MAILING" ou "PUBLIPOSTAGE". Bien sûr, le nom et l'adresse sont imprimés au bon endroit pour les enveloppes à fenêtres, mais plus loin le nom ae la personne et sa ville sont mêlés au texte, ce qui fait "personnalisé". Ce programme étant une démo, nous avons remplacé la lecture du fichier clients (par OPENIN) par deux lignes de DATA figurant les "champs" de deux clients.

Le texte de cette lettre type est programmé par des lignes de DATA, que vous devrez bien sûr changer pour votre application personnelle. Et maintenant, expliquons certains détails de ce mini programme.

Les détails de la programmation

  • 1050 - On demande de vérifier que le papier est bien positionné et l'imprimante prête, puis de presser ENTER. Cette précaution, ce répit, sont obligatoires.
  • 2010 à 2030. On envoie les codes EPSON nécessaires : initialisation d'abord puis clavier français et qualité courrier (NLQ) même si votre imprimante est déjà switchée ainsi = confirmation sans risques.
  • 3000 à 4080 . Ce module appelé par le GOSUB de la ligne 200 va mettre en RAM toutes les variables dont nous avons besoin. A savoir les lignes de texte, DIM L$, des codes EPSON rebaptisés "en clair" (lignes 3210 et 3220) ; remarquez dans ces lignes le signe + pour concaténer les divers éléments. Et enfin, le fichier clients mis en DIM F$. NF est le nombre de fiches-clients (lignes 4000 à 4070).
  • 2040. Ce FOR N = 1 TO NF:GOSUB 5000 va faire imprimer NF lettres personnalisées.
  • 2050 - Fin du programme, un init final pour vider le buffer de consignes de l'imprimante. Donc le "gros morceau" c'est ce module 5000 que nous allons étudier plus en détail.
    le module "lettre

le module "lettre

(Ligne 5000 - 5910)

Nous n'avons pas imprimé l'expéditeur, on suppose qu'il s'agit de papier à entête. Pourquoi commence-t-on par un PRINT # 8 ? Í5010). C'est une sage précaution car la première inscription est forcément tabulée (la date); et l'on risquerait d'avoir des surprises sur la position de celle-ci.

En effet, la lettre n° 1 a d'abord reçu des codes EPSON suivis de point-virgule ; les lettres suivantes prendront la suite d'un CHR$(12) ;. Ce print#8 met les pendules à l'heure et nous évite certaines farces, surtout sur la lettre n° 1. En TAB(45) on écrit le nom et l'adresse du destinataire pris dans le DIM F$ (lignes 5040 à 5060). Nota : les champs ou rubriques de ce tableau sont légen-dés ligne 4020.

Ligne 5090, on commence l'écrituredes lignes de texte du DIM L$ mais en débutant chaque fois par un TAB(8), c'est la marge de gauche.

Vous remarquerez que ces chaînes (DATA des lignes 3010 à 3080) ne font jamais plus aune ligne. On ne fait pas confiance au saut de ligne par l'imprimante qui pourrait nous couper un mot là où il ne faudrait pas... Ligne 5100. On imprime OBJ$ en centrage automatique et en double frappe afin de le mettre bien en évidence dans la lettre.
Ligne 5120. On s'offre le luxe d'ajouter dans le texte une des valeurs du fichier, ici la ville du client. C'est facile puisque c'est une fin de phrase sur une ligne courte.

En revanche, la ligne 5130 est plus hardie. Dans la formule de politesse, on INCLUT le nom du destinataire en plein milieu de la ligne. Donc on prend un ris-aue puisque la longueur de ce nom cnange chaque fois. Aussi la phrase à droite de ce nom est relativement courte. On aura donc un saut de ligne plus ou moins prématuré, mais ce n'est pas tellement gênant. Beaucoup de traitement de textes avec option "mailing" (et ils sont rares) ne feraient pas mieux. Le listing ae ce module 5000 peut paraître lourd parce que pas-à-pas. dertes, mais ainsi il est très facile à retoucher.

Quelques petites astuces

— Quand vous taperez vos DATA de lignes L$, il faudra veiller à ne pas dépasser 72 caractères. Alors passez en MODE 2 puis tapez :

WINDOW #0, 1, 72, 1, 25

et votre écran fera 72 caractères par ligne.

— Avant de taper votre module 5000, préparez-vous une "touche pour fainé-nant", ici le 6 du pavé numérique : KEY 134, "?#8, TAB(8);"

Conclusion

Vous avez appris le langage de votre CPC, familiarisez-vous avec celui de votre imprimante.

Nous avons vu comment l'adapter à votre micro (c'est quasi définitif) et comment lui transmettre quelques ordres simples qui ont conduit à un produit assez élaboré. Vous doutiez-vous qu'un listing BASIC aussi court pouvait suffire pour éditer des lettres commerciales personnalisées ? Pour bien d'autres exemples aussi faciles que spectaculaires, voir du même auteur "La Pratique des Imprimantes" (SORACOM). J'aurai au moins réussi à glisser deux pubs dans le même article...

CPC n°36

★ EDITEUR: CPC Revue
★ ANNÉE: 1988
★ CONFIG: 64K + AMSDOS
★ LANGAGE:
★ LiCENCE: LISTING
★ AUTEUR: Michel ARCHAMBAULT
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Lettre  Type  avec  Mailing    (CPC  Revue)    FRENCH    LISTINGDATE: 2022-09-14
DL: 70
TYPE: PDF
SiZE: 533Ko
NOTE: 1 page/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Fibu-Star
» Applications » Home Budget (The Amstrad User)
» Applications » Ablas (CPC Amstrad International)
» Applications » Semword
» Applications » Contabilidad Domestica
» Applications » Stock - Aid
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 386 millisecondes et consultée 1695 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.