Des exemples d'utilisation des fonctions du WLangage
Rien de tel qu'un exemple pour comprendre une fonction de WLangage. Dans cette section, vous trouverez des exemples simples.
Des exemples évolués, où la fonction est utilisée en contexte, sont également disponible sur ce site.
iApercu (en anglais iPreview)
iApercu (en anglais iPreview)
//Impression au format HTML
iAperçu ( iHTML , "c:\Mes documents\MonEtat.HTM") // "c:\Mes documents\MonEtat.HTM" correspond au nom et // au chemin du fichier HTM qui sera créé avec l'état "MonEtatRécap" iImprimeEtat(MonEtatRécap)
|
iApercu (en anglais iPreview)
//Impression au format PDF
NomFichier est une chaîne = ComplèteRep(fRepEnCours()) + ... "f" + Facture + Client + ConnexionOccurrence()+ ".PDF" iAperçu ( iPDF , NomFichier) iImprimeEtat(Etat_Facture, Client, Facture) FichierAffiche(NomFichier, "application/pdf")
|
iCadre (en anglais iBorder)
iImprime
(
iPosX
(
50
) +
CL.NOMCLI
)
|
iCadreArrondi (en anglais iRoundBorder)
// début d'impression : Impression directe
iAperçu( iImprimante ) // impression d'une ellipse iCadreArrondi (50,50,130,150,10,10,1,100,RVB(0,0,0),... iPointillé , iDiagonaleDescendante ) // termine l'impression iFinImprime()
|
iConfigure (en anglais iConfigure)
SI
iConfigure
() ALORS
|
iConfigure (en anglais iConfigure)
SI
iConfigure
("ImprimanteServeur") ALORS
|
iConfigureEtat (en anglais iConfigureReport)
SI
iConfigureEtat
(MonEtat) =
Vrai
ALORS
iImprimeEtat(MonEtat) SINON Info("Configuration de l'état abandonnée") FIN
|
iCreePolice (en anglais iCreateFont)
// Crée une police de 48 points Pica
|
iDernierFichier (en anglais iLastFile)
// Impression en mode PDF
iDestination( iPDF ) // Impression de l'état en mode PDF iImprimeEtat(Etat1) // Ouverture du fichier LanceAppliAssociée( iDernierFichier )
|
iDestination (en anglais iDestination)
//Impression au format HTML
iDestination ( iHTML , "c:\Mes documents\MonEtat.HTM") // "c:\Mes documents\MonEtat.HTM" correspond au nom et // au chemin du fichier HTM qui sera créé avec l'état "MonEtatRécap" iImprimeEtat(MonEtatRécap)
|
iDestination (en anglais iDestination)
//Impression au format PDF
NomFichier est une chaîne = ComplèteRep(fRepEnCours()) + ... "f" + Facture + Client + ".PDF" iDestination ( iPDF , NomFichier) iImprimeEtat(Etat_Facture, Client, Facture)
|
iDestination (en anglais iDestination)
// Imprimante PCL à utiliser
iDestination ( iPCL , "\\MonRéseau\MonImprimante") // Impression au format PCL : iDestination(iPCL, "\Mes documents\MonFichier.PCL")
|
iEllipse (en anglais iEllipse)
// Impression d'
une ellipse
iEllipse (50, 50, 150, 130, 1, 100, RVB(0,0,0), ... iPointillé , iCroisée )
|
iEscape (en anglais iEscape)
sSequenceEscape est une chaîne
i est une entier iConfigure("Epson LQ-2170 ESC/P 2") iDestination( iImprimante ,"Retour d'étiquettes") //3 fois 6 demandes de retour de 7/216ieme de pouce // pour revenir en arrière de 3 étiquettes // (pour l'imprimante utilisée) POUR i=1 A 6*3 sSequenceEscape+= ESC +"j7" FIN //Envoi des commandes Escape en une seule fois iEscape (sSequenceEscape) iFinImprime()
|
iFenetreAbandon (en anglais iWindowCancel)
// Change le titre de la fenêtre et affiche une ligne
iFenêtreAbandon ( Vrai , "Patientez", "Impression de la page#P") iImprimeEtat(NomEtat)
|
iFermeEtat (en anglais iCloseReport)
iFinEtat (en anglais iEndReport)
// Fin de l'impression si le fichier texte n'est pas trouvé
|
iFinEtat (en anglais iEndReport)
// Fin de l'impression forcée lors de l'impression d'un enregistrement
|
iFinImprime (en anglais iEndPrinting)
iForceComplement (en anglais iForceComplement)
iHautBasPageImbrique (en anglais iNestedHeaderFooter)
// Impression de l'état "Etat_Imb2" en conservant son Haut et bas de page
iHautBasPageImbriqué ( Vrai ) IImprimeEtat(Etat_imb2)
|
iHauteurImage (en anglais iImageHeight)
// Imprime les dimensions de l'image (en mm)
iImprime("Largeur de l'image : " + iLargeurImage("WINDEV.BMP") + "mm") iImprime("Hauteur de l'image : " + iHauteurImage ("WINDEV.BMP") + "mm") iFinImprime
|
iHauteurPage (en anglais iPageHeight)
// Imprime les dimensions de la feuille (en mm)
iImprime("Largeur de la page : " + iLargeurPage() + "mm") iImprime("Hauteur de la page : " + iHauteurPage () + "mm") iFinImprime
|
iHauteurRestantePage (en anglais iPageHeightLeft)
// Saut de page si le bloc ne rentre pas
SI Bloc..Hauteur < iHauteurRestantePage () ALORS iTerminePage() FIN
|
iHauteurTexte (en anglais iTextHeight)
x est un entier =
iHauteurTexte
(iPolice(2)+CL.NOMCLI)
iImprimeMot("La hauteur du nom du client est égale à : ") iImprime(x) iFinImprime
|
iHauteurZone (en anglais iZoneHeight)
//Sélectionne une police de caractères
iPolice(NumPolice) // Récupère la hauteur de la colonne dHauteur est un réel = iHauteurZone ("Mon Texte", 100) // Trace un cadre iCadre(0, 0, dHauteur*2, 200)
|
iImpressionAbandonnee (en anglais iDocumentCanceled)
iImpressionDemandee (en anglais iDocumentPrinted)
iAperçu(
iPage
)
iImprime("Texte") iFinImprime() SI iImpressionDemandée () ALORS Info("Vous avez demandé l'impression du document") FIN
|
iImprime (en anglais iPrint)
iImprime
(iPolice(2) + "Texte en police 2")
iSautePage // Nom du client sur la première ligne à 50 mm du bord iImprime(iPosX(50) + Cl.NomCli) iFinImprime
|
iImprimeBloc (en anglais iPrintBlock)
// Impression du bloc FIN_DOCUMENT
iImprimeBloc (FIN_DOCUMENT) // Impression d'un bloc d'itération iImprimeBloc (ITERATION1)
|
iImprimeCodeBarre (en anglais iPrintBarCode)
// Impression de code-barres
// Code-barres de type Interleaved 2 of 5 iImprimeCodeBarre ("12345678905", CB_INTER2OF5 , 10, 10, 23, 50) // Code-barres de type UPCA iImprimeCodeBarre ("12345678905+22", CB_UPCA , 10, 10, 23, 50)
|
iImprimeComplementCorps (en anglais iPrintBodyComplement)
// Code avant impression du Haut de document
iImprimeComplémentCorps (iHauteurRestantePage() - MoiMême..Hauteur)
|
iImprimeEtat (en anglais iPrintReport)
iImprimeEtat (en anglais iPrintReport)
iImprimeEtat (en anglais iPrintReport)
// Création d'un nom de fichier unique
Fichier est une chaîne = fRepDonnées()+"\"+DateSys()+... HeureSys()+".pdf" // Impression de l'état dans un fichier PDF iDestination( iPDF , Fichier) // Impression de l'état basé sur la table "TableClient"
iImprimeEtat
(EtatClient)
// Affichage de l'état au format PDF FichierAffiche(Fichier, "application/pdf"") // Suppression du fichier fSupprime(Fichier)
|
iImprimeImage (en anglais iPrintImage)
// Imprime Fleur.BMP ligne 20 mm, colonne 50 mm sans étirement ni réduction
iImprimeImage ("Fleur.BMP", 20, 50) iFinImprime
|
iImprimeMot (en anglais iPrintWord)
iImprimeMot
(iPolice(1) + "Texte en police 1")
iImprimeMot(iPolice(2) + "Texte en police 2") iImprime() iFinImprime
|
iImprimeZone (en anglais iPrintZone)
iImprimeZoneRTF (en anglais iPrintZoneRTF)
iInfoImprimante (en anglais iInfoPrinter)
// Récupération des caractéristiques de l'imprimante en cours
// Récupération des caractéristiques de l'imprimante par défaut
|
iInitRequeteEtat (en anglais iInitReportQuery)
iInitRequeteEtatConnexion (en anglais iInitReportQueryConnection)
// Initialisation de la requête
iInitRequêteEtatConnexion (BulletinScolaire, ... hRequêteSansCorrection , "MaConnexion_Oracle", "Dupond", "1994") // Impression de l'état iImprimeEtat(BulletinScolaire)
|
iInitRequeteEtatConnexion (en anglais iInitReportQueryConnection)
// Initialisation de la requête (connexion Oracle)
iInitRequêteEtatConnexion (BulletinScolaire,"MaConnexion_Oracle" , "Dupond","1994") // Impression de l'état iImprimeEtat(BulletinScolaire)
|
iLargeurImage (en anglais iImageWidth)
// Imprime les dimensions de l'image (en mm)
|
iLargeurPage (en anglais iPageWidth)
// Imprime les dimensions de la feuille (en mm)
iImprime("Largeur de la page : " + iLargeurPage () + "mm") iImprime("Hauteur de la page : " + iHauteurPage() + "mm") iFinImprime
|
iLargeurTexte (en anglais iTextWidth)
x est un entier =
iLargeurTexte
(iPolice(5)+CL.NOMCLI)
iImprimeMot("La largeur du nom du client est égale à : ") iImprime(x) iFinImprime
|
iLien (en anglais iLink)
iDestination(
iHTMLCSS
, "MaPage")
iImprime("Sur la ligne suivante, un lien vers une page") iLien("Tout savoir sur WinDev", "http://www.pcsoft.fr") iFinImprime()
|
iLigne (en anglais iNewLine)
// Trace une ligne rouge en continu
iLigne (50, 10, 50, 200, iContinu , 12, iRougeClair ) // Trace un ligne noire en continu iLigne (50, 10, 5, 100, iContinu , 12, iNoir ) // Lance l'impression iFinImprime()
|
iListeEtatsImbriques (en anglais iListNestedReports)
ListeEtat est une chaîne =
iListeEtatsImbriqués
()
SI ExtraitChaîne(ListeEtat,1) = "EtatRequête2" ALORS MonChamp = "J'appartiens à l'état EtatRequête2" FIN
|
iListeImprimante (en anglais iListPrinter)
iMagentaTransparent (en anglais iTransparentMagenta)
// Imprime Image1.BMP : le magenta est transparent
|
iMarge (en anglais iMargin)
iMarge
(20, 11, 20, 11)
// Connaître les marges physiques d'une imprimante iMarge(0, 0, 0, 0) MargeH = (HauteurPapier - iHauteurPage())/2 MargeL = (LargeurPapier - iLargeurPage())/2
|
iMMVersPica (en anglais iMMToPica)
Largeur est un réel
LargeurPica est un réel Largeur = iLargeurImage("Fleur.BMP") LargeurPica = iMMversPica (Largeur)
|
iNumPage (en anglais iPageNum)
// Imprime le numéro de page
iImprime(iPosX(200)+ iNumPage ()) // Force le numéro de page à 10 iNumPage(10) ... iFinImprime
|
iParametre (en anglais iParameter)
// Impression en mode portrait
iParamètre("ORIENTATION = PORTRAIT") // Modifier la hauteur de la page iParamètre("HAUTEURPAGE = 2000") iParamètre("COPIES=2") iParamètre("ASSEMBLE=OUI") SI iParamètre () ALORS // Crée une police de 48 points Pica iCréePolice(1, 48, iGras + iItalique , iRoman ) // Imprime un texte avec cette police iImprime(iPolice(1) + "Texte de taille 48") // Termine l'impression iFinImprime // Les paramètres reprennent leur valeur par défaut FIN
|
iParametre (en anglais iParameter)
// Sélection de la destination :
|
iParametre (en anglais iParameter)
// L'utilisateur configure l'imprimante
iParamètre() // Affichage des paramètres de l'imprimante Trace( "------------------------------------------------------------------") Trace( "Orientation = "+iParamètre( iOrientation )) Trace( "FormatPapier = "+iParamètre( iFormatPapier )) Trace(" HauteurPage = "+iParamètre( iHauteurPapier )) Trace( "LargeurPage = "+iParamètre( iLargeurPapier )) Trace( "NbCopie = "+iParamètre( iNbCopie )) Trace( "AlimentationPapier = "+iParamètre ( iAlimentationPapier )) Trace( "ResolutionY = "+iParamètre( iRésolutionY )) Trace( "Couleur = "+iParamètre( iCouleur )) Trace( Assemble = "+iParamètre( iAssemblé )) ParamètresSpécifiques est un Buffer=iParamètre ( iParamètresSpécifiques ) Trace( taille Spécifique = "+Taille ( ParamètresSpécifiques )) Trace( "Spécifique = "+ParamètresSpécifiques ) Trace( "------------------------------------------------------------------" )
|
iParametreApercu (en anglais iparameterPreview)
iParametreApercu (en anglais iparameterPreview)
// Affichage uniquement des boutons imprimantes
iParamètreAperçu ( iBoutonImprimante ) iAperçu() iImprimeEtat(MonEtat)
|
iParametreApercu (en anglais iparameterPreview)
// Affichage des boutons Imprimante, PDF et WORD
iParamètreAperçu ( iBoutonImprimante + iBoutonPdf + iBoutonWord ) iAperçu() iImprimeEtat(MonEtat)
|
iParametreApercu (en anglais iparameterPreview)
// Suppression des boutons Email de laperçu avant impression
iParamètreAperçu ( iBoutonTous + iBoutonEMail - iBoutonEMailPDF ) iAperçu() iImprimeEtat(MonEtat)
|
iParametreEtat (en anglais iParameterReport)
SI
iParamètreEtat
(MonEtat) =
Vrai
ALORS
iImprimeEtat(MonEtat) SINON Info("Configuration de l'état abandonnée") FIN
|
iParametrePDF (en anglais iParameterPDF)
// protection du PDF contre l'impression
|
iPicaVersMM (en anglais iPicaToMM)
iPolice (en anglais iFont)
iImprimeMot
(
iPolice
(
2
) +
CL.Nom
+
iPosX
(
200
) +
CL.Prénom
)
|
iPoliceDidot (en anglais iDidotFont)
iPoliceDidot
(
Vrai
)
// Crée une police de 48 points Didot iCréePolice(1, 48, iGras + iItalique , iRoman ) iPoliceDidot ( Faux ) // Crée une police de 32 points Pica iCréePolice(2, 32, iGras + iItalique , iRoman ) // Imprime un texte avec cette police iImprime(iPolice(1) + "Texte de taille 48 points Didot") // Termine l'impression iFinImprime
|
iPosX (en anglais iXPos)
// Traçage de traits verticaux tous les deux millimètres
// sur toute la largeur de la page iTraitV(0, iHauteurPage(), 1) // Trace un trait iPosX( iPosX () + 2) // Décale de 2 iTraitV(0, iHauteurPage(), 3) // Trace un trait iFinImprime
|
iPosY (en anglais iYPos)
// Traçage de traits horizontaux tous les deux millimètres
// sur toute la hauteur de la page iTraitH(0, iLargeurPage(), 1) // Trace un trait iPosY( iPosY () + 2) // Positionne le curseur 2 mm plus bas iTraitH(0, iLargeurPage(), 3) // Trace un second trait iFinImprime
|
iRAZ (en anglais iRAZ)
// Modifier les paramètres dans WIN.INI
Ini Ecrit("HP LaserJet 4L, LPT1", "Paper", "9") iRAZ () // Création de polices, impressions, etc.
|
iSauteLigne (en anglais iSkipLine)
// Impression d'un texte
iImprime("Bonjour") // Saut de ligne iSauteLigne // Impression d'un texte iImprime("Nous sommes le" + DateSys()) // Lancement de l'impression iFinImprime
|
iSautePage (en anglais iSkipPage)
// Impression d'un texte
iImprime("Bonjour") // Saut de page iSautePage // Impression d'un texte iImprime("Nous sommes le" + DateSys()) // Lancement de l'impression iFinImprime
|
iSelectPolice (en anglais iSelectFont)
NumPol est un entier
NumPol = iSelectPolice (1, Vrai , "Arial", 8, iGras + iSouligné , iRougeClair ) SI NumPol = 0 ALORS TraiteErreur() FIN
|
iStatusImpressionEtat (en anglais iStatusReportPrinting)
// Fin de l'impression
SELON iStatusImpressionEtat () CAS -2 : Trace("Impression abandonnée") CAS 0 : Trace("Impression en cours") CAS 1 : Trace("Etat vide : aucune données à imprimer") FIN
|
iSubstBloc (en anglais iSubstBlock)
// Substitution du haut de page
iSubstBloc (HautPage, Itération1) // Fin de la substitution du haut de page iSubstBloc (HautPage, "")
|
iTerminePage (en anglais iPageEnd)
iTrait (en anglais iLine)
// Trace un trait sur toute la largeur de la page
// Épaisseur : 2.5 points Pica iTrait (10, 10, 30, 25, 2.5) iFinImprime
|
iTraitH (en anglais iHLine)
// Trace un trait sur toute la largeur de la page
// Epaisseur : 2.5 points Pica iTraitH (0, iLargeurPage(), 2.5) iFinImprime
|
iTraitV (en anglais iVLine)
// Trace un trait vertical entre la ligne 5 (mm)
// et la ligne 10 (mm), d'épaisseur 2 points Pica iTraitV (5, 10, 2) iFinImprime
|