Bonjour,
Je travaille dans l'environnement de l'éditique et je souhaiterais développer des applications dans l'environnement Pres (printsoft.fr).
Par contre les Scripts sont semblent-ils dans un langage propiétaire ? est-ce du VBA ?
Merci pour vos infos ...
Voici un petit exemple de script :
; STRUCTURE DE DONNEE DU FICHIER
;---------------------------------------------------------------------
RECORD
ALPHA Entete_ L1
ALPHA Num_Compte L16
ALPHA Civil L5
ALPHA Nom L30
ALPHA Prenom L30
ALPHA Adr1 L30
ALPHA Adr2 L30
ALPHA adr3 L30
ALPHA adr4 L30
FILLER L30
ALPHA CodePostal L8
NUMERIC Credit_Limit L7
NUMERIC Opening_Bal L7
ALPHA Type_Client L1
FILLER L45
; DECLARARTION DES VARIABLES INTERNES
;---------------------------------------------------------------------
INTERNAL ; enregistrement des variables internes
ALPHA Civprenom L120
ALPHA CpVille L120
NUMERIC hauteurcadre
NUMERIC largeurmax
NUMERIC largeur
NUMERIC Hauteurlogo1
NUMERIC Largeurlogo1
NUMERIC xpos
NUMERIC ypos
ALPHA wtexte L3000
NUMERIC NbLigne L200
ALPHA Today L300
ALPHA CivNom L100
ALPHA S L100
ALPHA areserve L100
NUMERIC nReserve
ALPHA RESERVEM L100
numeric XOFFSET
; DEMARRAGE DU PROGRAMME
;---------------------------------------------------------------------
START
If ($first=1) {
delete "audit.txt"
EOFENTRY Findetraitement ; pour faire effectuer une action
à la fin du traitement
; Définition de la langue
;.................................................................
SETTABLE "C", "France" ; choix du pays
prompt "Mettre du papier bleu " ; s'affiche au début du traitement
prompt "C'est bon ?" ; s'affiche au début du traitement
avec une option oui non
; En mode pdf on défini le nom du fichier spool
IF ($PDL = 12) { ; Si on est en mode PDF
DELETE "test.pdf" ; On supprime l'ancien
fichier s'il existe
SPOOL "test.pdf",0 ; On créé le spool
}
}
if ($currrecord % 2 = 0) ; on test si la page est pair (reste =0)
xoffset=21 ; on met une valeur à 21 (on décale sur la page de droite)
else
xoffset=0
; On définie la marge à 11 cm
SETMARGIN 11+XOFFSET
FONT "D#<N=Arial><P=11>"
Civprenom =""
CpVille =""
; On concatène les champs
APPEND Civprenom, Civil, Prenom, Nom, " "
APPEND CpVille, CodePostal, Adr4, " "
; on tasse vers le bas le pavé adresse
CLOSEUP cpVille, Adr3, Adr2, Adr1, Civprenom
; On calcul la taille et le positionnement du cadre
hauteurcadre = -1*($Result*$Pitch+0.4)
xpos = $Margin-0.2 ; dans $margin on la valeur de setmargin SETMARGIN 11+XOFFSET
ypos = 4*$Pitch+0.2+5
LENGTH civprenom, largeurmax, $Font
LENGTH adr1, largeur, $Font
IF (largeur>largeurmax) ; test de la plus grande largeur
largeurmax=largeur
LENGTH adr2, largeur, $Font
IF (largeur>largeurmax)
largeurmax=largeur
LENGTH adr3, largeur, $Font
IF (largeur>largeurmax)
largeurmax=largeur
LENGTH CpVille, largeur, $Font
IF (largeur>largeurmax)
largeurmax=largeur
largeurmax=largeurmax+0.4 ; résultat final du test
SETXY xpos,ypos
DRAWBOX hauteurcadre,largeurmax, 0.02, 10
; On place le pavé adresse
SETXY $Margin,5
MOVE Civprenom
ALINE
MOVE Adr1
ALINE
MOVE Adr2
ALINE
MOVE Adr3
ALINE
MOVE CpVille
Display Civil,1
Display Nom,2
write "audit.txt", $time
write "","\x09"
write "audit.txt", Civil
write "","\x09"
write "audit.txt", Nom,
write "","\x09"
write "audit.txt", $currrecord ; enregistre l'heure, la civ, le Nom
et le num d'enregistrement
WRITE "","\n"
WRITE "",""
ALINE 2
CONVERT today, $Date, 'D FEW'
JUSTIFY today,today, 'r', 8, $Font ;justification de la date sur 8
MOVE today L=$WrapLength
; Gestion du fichier TRF
;.................................................................
SETMARGIN 2+XOFFSET
TRFREAD "courrier",0, wtexte ; On lit le fichier TRF à l'index
0 et on place le contenu dans wtexte
Switch (Civil) { ; on va tester la civilité
CASE ("Mr") ; cocher la case Switch Use Exactly Equal
CIVNOM = "Cher monsieur, "
S =""
BREAK
CASE ("Mrs")
CIVNOM = "Cher madame, "
S = "e"
BREAK
CASE ("Ms")
CIVNOM = "Cher madame, cher monsieur, "
S = "s"
BREAK
CASE ("Miss")
CIVNOM = "Chère mademoiselle, "
S = "e"
BREAK
}
nReserve = Credit_Limit*10 ; dans rtf pas de possiblité d'utiliser des variables
numéric
CONVERT areserve, nReserve, 'L2,$' ; conversion du numérique vers l'alpha
CONVERT RESERVEM, nreserve, 'w$'; conversion vers un chiffre en lettre
; On remplace les variables (déclarées) par leur contenu
REPLACE wtexte,"<",">",'F'
SETXY $Margin, 12
WORDWRAP wtexte, NbLigne,'F',17,$Font ; Formattage d'un texte
MOVE wtexte L=$WrapLength ; mention obligatoire en fin d'instruction
ALINE
SETXY 17+XOFFSET, "", "S20313.pcx" ; placement de la signature à 17 cm
SETXY 1+XOFFSET,1, "Corpair.pcx" ; positionnement en 1, 1 pour placer
l'image
; ou autre méthode :
; setxy 1+XOFFSET,1
; loadgraphic "Corpair.pcx" ; placement du logo
; Evaluation de la taille de l'image pour centrer le texte "Corpair"
LENGTH largeurlogo1, hauteurlogo1, "Corpair.pcx"
; calcul de la hauteur du logo
FONT "D#<N=Arial><P=11>"
SETXY 1+largeurlogo1+0.2+XOFFSET, hauteurlogo1/2+1-$Pitch/2
;placement dynamique à la bonne position
MOVE "corpair" ;impression du texte
if ($currrecord % 2 = 0) { ; on test si la page est pair (reste =0)
PREVIEW
pageend
}
else
IGNORE ; si on est impair on va chercher le 2 eme enregistrement et on
remonte au niveau du start
EXIT
Findetraitement:
prompt "Traitement terminé" ; s'affiche à la fin du traitement
EXIT
Où puis trouver des la documentations en français sur ce langage ?
Quelqu'un le connait-il ?
Merci de vos réponses et bonne journée