4D Write – Langage
WR APPELER SUR COMMANDE
WR APPELER SUR COMMANDE ( zone ; méthode4D )
Paramètre Type Description
zone Entier long Zone 4D Write
méthode4D Chaîne Méthode de remplacement
Description
La commande WR APPELER SUR COMMANDE provoque l’exécution de la méthode passée en second paramètre lorsqu’une commande de 4D Write est invoquée par l’interface utilisateur, que ce soit à l’appel à une ligne de menu ou le clic dans un bouton. Si zone est égal à 0, méthode4D s’appliquera à toutes les zones 4D Write jusqu’à la fermeture de la base ou jusqu’à l’appel de WR APPELER SUR COMMANDE(0; » »).
méthode4D recevra deux paramètres :
$1, Entier long qui représente zone.
$2, Entier long qui désigne le numéro de la commande.
Note : La liste des commandes et leur référence vous est fournie dans le thème de constantes “WR Commandes”.
En vue d’une compilation de la base, il est nécessaire de déclarer $1 et $2 en Entier long, même si vous ne les utilisez pas.
Si vous souhaitez que l’action originelle de la commande s’exécute, vous devez, dans la méthode appelée, passer WR EXECUTER COMMANDE($1;$2).
Exemple
Vous souhaitez enregistrer tous vos documents dans le répertoire “Archives” présent sur votre disque.
C_ENTIER LONG($1;$2)
Au cas ou
:($2=wr cmd enregistrer sous) `Si Enregistrer sous… est sélectionné $DocNom:=Demander(« Nommez votre document : « )
Si((OK=1) & ($DocNom# » »)) `Si la boîte de dialogue est validée `Sauvegardons le document dans le dossier désigné sur Mac
WR SAUVER DOCUMENT($1; »Disque:Archives: »+$DocNom) `Mac WR SAUVER DOCUMENT($1; »D:\Archives\ »+$DocNom) `Win
Sinon `Si le choix est incorrect
BEEP `Signalez-le à l’utilisateur par un beep
Fin de si
Sinon `Si vous sélectionnez toute autre commande de menu
WR EXECUTER COMMANDE($1;$2)
`Demandez son action standard
Fin de cas
` Contenu de la méthode formulaire :
Si(Evenement formulaire=Sur chargement)
WR APPELER SUR COMMANDE(LaZone; »LaMéthode »)
Fin de si
WR EXECUTER COMMANDE
WR EXECUTER COMMANDE ( zone ; cmdNo )
Paramètre Type Description
zone Entier long Zone 4D Write
cmdNo Entier long Numéro de la commande à exécuter
Description
La commande WR EXECUTER COMMANDE exécute l’action déterminée par le numéro de commande passé. Ces commandes peuvent être celles déclenchées par les lignes de menu, l’utilisation courante consistant à exécuter une commande depuis une méthode appelée par commande ou bien celles déclenchées par les palettes d’outils.
Note : La liste des commandes et leur référence vous est fournie dans le thème de constantes “WR Commandes”. Vous pouvez indifféremment passer la valeur ou la constante.
Exemple
Vous voulez donner accès à certaines fonctions du traitement de texte par des boutons. Vous pouvez écrire :
Méthode objet du bouton bNouveau.
WR EXECUTER COMMANDE(LaZone;wr cmd nouveau)
`Exécution de la commande Nouveau
Méthode objet du bouton bOuvrir.
WR EXECUTER COMMANDE(LaZone;wr cmd ouvrir)
`Exécution de la commande Ouvrir
WR FIXER PROPRIETE DOCUMENT
WR FIXER PROPRIETE DOCUMENT ( zone ; propriété ; valeur )
Paramètre Type Description
zone Entier long Zone 4D Write
propriété Entier Numéro de la propriété du document à fixer
valeur Entier long Valeur pour la propriété choisie
Description
La commande WR FIXER PROPRIETE DOCUMENT permet de modifier les propriétés du document présent dans zone.
Les paramètres propriété et valeur vont de pair. Pour chaque propriété que vous souhaitez modifier, vous devez passer une valeur. propriété et valeur peuvent être fixées avec des constantes. Vous pouvez indifféremment passer une valeur ou une constante.
Les constantes du thème “WR Propriétés du document” utilisables avec les commandes WR FIXER PROPRIETE DOCUMENT et WR Lire propriete document sont décrites ci-dessous. Vous pouvez également utiliser des constantes du thème “WR Paramètres” pour définir les valeurs
Note : Lorsque vous fixez la taille du papier par programmation, 4D Write considérera que l’on travaille sur une imprimante « virtuelle » et mettra les marges mortes à zéro et la taille imprimable à la taille du papier fixé. Cela permet de fixer des marges de document sans être gêné par les marges mortes lorsque l’on réalise des documents non destinés à être imprimés.
Exemple 1
Vous voulez afficher une zone 4D Write à l’écran sans que les menus et la règle soient visibles :
Si(Evenement formulaire=Sur chargement)
WR FIXER PROPRIETE DOCUMENT(LaZone;wr barre menu;wr cacher)
WR FIXER PROPRIETE DOCUMENT(LaZone;wr règles;wr cacher)
Fin de si
Exemple 2
Cette méthode vous permet de laisser à l’utilisateur le soin d’afficher ou de masquer les barres de défilement :
C_ENTIER LONG(EtatScroll)
EtatScroll:=WR Lire propriete document(LaZone;wr barres défil horiz) `Constante=7 EtatScroll:=EtatScroll+WR Lire propriete document(LaZone;wr barres défil vert) `Constante=8 Si(EtatScroll>0)
CONFIRMER(« Au moins une des barres de défilement est affichée, voulez-vous les masquer ? »)
Si(OK=1)
WR FIXER PROPRIETE DOCUMENT(LaZone;wr barres défil horiz;wr cacher)
WR FIXER PROPRIETE DOCUMENT(LaZone;wr barres défil vert;wr cacher)
Fin de si
Sinon
CONFIRMER(« Les barres de défilement sont masquées, voulez-vous les afficher ? »)
Si(OK=1)
WR FIXER PROPRIETE DOCUMENT(LaZone;wr barres défil horiz;wr afficher)
WR FIXER PROPRIETE DOCUMENT(LaZone;wr barres défil vert;wr afficher)
Fin de si
Fin de si
WR LIRE INFO COMMANDE
WR LIRE INFO COMMANDE ( zone ; cmdNo ; coche ; valeurAlpha ; nom ; état )
Paramètre Type Description
zone Entier long Zone 4D Write
cmdNo Entier long Numéro de commande à traiter
coche Entier long 0=non cochée, 1=cochée, 2=coche partielle
valeurAlpha Chaîne Valeur texte sélectionnée
nom Chaîne Nom de la commande ou texte de l’info-bulle
état Entier 0=inactive, 1=active
Description
La commande WR LIRE INFO COMMANDE vous permet de connaître le statut de la commande correspondant au paramètre cmdNo.
Note : La liste des commandes et leur référence vous est fournie dans le thème de constantes “WR Commandes”. Vous pouvez indifféremment passer la valeur ou la constante. Pour plus d’informations sur chaque commande, vous pouvez également vous reporter à l’Annexe B : Codes des commandes de menus.
coche retourne une valeur indiquant la présence d’une coche de sélection près du libellé de la commande. Ce paramètre aura pour valeur 0 si le libellé de la commande n’est pas coché, 1 s’il est coché et 2 si la coche indique qu’une partie de la sélection dispose de l’attribut correspondant.
Prenons l’exemple de la commande Gras (Constante = wr cmd gras de numéro 502). Si l’on exécute l’instruction suivante :
WR LIRE INFO COMMANDE(zone;wr cmd gras;coche;valeurAlpha;nom;active)
coche vaudra 0 si le texte sélectionné n’est pas en gras
coche vaudra 1 si le texte sélectionné est en gras
coche vaudra 2 si la sélection n’est pas uniformément en gras
valeurAlpha retourne un texte significatif pour certaines commandes uniquement.
Par exemple, si l’on exécute l’instruction suivante :
WR LIRE INFO COMMANDE(zone;wr cmd liste déroul police;coche;valeurAlpha;nom;active)
valeurAlpha prendra comme valeur le nom de police sélectionné (par exemple « Arial »).
nom contient le libellé de la commande. Ce peut être le libellé de la commande de menu si, par exemple, la commande correspond à une ligne de menu, ou le texte de l’info-bulle affiché pour la commande.
active renvoie l’état de la commande de menu. Il aura pour valeur 0 si la commande de menu est inactive et 1 si elle est active.
Exemple
Un formulaire comporte un bouton permettant de rétablir ou de masquer les caractères invisibles. Le libellé du bouton varie en fonction de la situation présente à l’écran.
WR LIRE INFO COMMANDE(LaZone;wr cmd caractères invisibles;vCoche;ValAlpha;vNom;vActive)
Au cas ou
:(vCoche=1)
TITRE BOUTON(bEtat; »Cacher les caractères »)
:(vCoche=0)
TITRE BOUTON(bEtat; »Montrer les caractères »)
Fin de cas
WR Lire methode sur commande
WR Lire methode sur commande ( zone ) -> Résultat
Paramètre Type Description
zone Entier long Zone 4D Write
Résultat Chaîne Nom de la méthode d’appel sur commande installée
Description
La commande WR Lire methode sur commande retourne le nom de la méthode installée par WR APPELER SUR COMMANDE pour la zone 4D Write.
Si aucune méthode d’appel sur commande n’a été installée pour la zone, une chaîne vide (« ») est retournée.
Introduction
WR Contrôle de la zone
WR Documents
WR Feuille de style
WR Gestion de texte
WR Gestion des images
WR Glisser déposer
WR Impression
WR Objets dynamiques
WR Options de la zone
WR Tabulations
WR Utilitaires
WR Zones
Liste des thèmes de constantes
Annexes