| 4D v18MESSAGE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v18
 MESSAGE 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MESSAGE ( message ) | ||||||||
| Paramètre | Type | Description | ||||||
| message | Chaîne |   | Message à afficher | |||||
La commande MESSAGE affiche message à l'écran dans une fenêtre spéciale de message qui est ouverte et refermée à chaque fois que vous l'appelez (à moins que vous ne travailliez dans une fenêtre préalablement ouverte par la commande Creer fenetre, cf. ci-dessous). Le message est temporaire et est effacé dès qu'un formulaire est affiché ou dès que l'exécution de la méthode est stoppée. Si une autre commande MESSAGE est exécutée, le précédent message est effacé.
MESSAGE est généralement utilisée pour informer l'utilisateur du déroulement d'une action.
Si une fenêtre a été ouverte par la commande Creer fenetre, tous les appels ultérieurs à la commande MESSAGE affichent les messages dans cette fenêtre. Cette fenêtre se comporte en quelque sorte comme un terminal :
Note : MESSAGE est compatible avec la commande Creer fenetre formulaire, toutefois dans ce contexte le second paramètre * de Creer fenetre formulaire, permettant de conserver la taille et position de la fenêtre, n'est pas pris en charge.
L'exemple suivant traite une sélection d'enregistrements et appelle la commande MESSAGE pour informer l'utilisateur de la progression de l'opération :
 Boucle($vlEnregistrement;1;Enregistrements trouves([touteTable]))
    MESSAGE("Traitement de l'enregistrement "+Chaine($vlEnregistrement))
  ` Faire quelque chose avec l'enregistrement
    ENREGISTREMENT SUIVANT([touteTable])
 Fin de boucleLa fenêtre suivante s'affiche puis disparaît à chaque appel de MESSAGE :

Afin d'éliminer le "clignotement" de la fenêtre, il est préférable, comme dans ce deuxième exemple, d'afficher les messages dans une fenêtre ouverte par l'intermédiaire de la commande Creer fenetre :
 Creer fenetre(50;50;500;250;5;"Opération en cours")
 Boucle($vlEnregistrement;1;Enregistrements trouves([touteTable]))
    MESSAGE("Traitement de l'enregistrement "+Chaine($vlEnregistrement))
  ` Faire quelque chose avec l'enregistrement
    ENREGISTREMENT SUIVANT([touteTable])
 Fin de boucle
 FERMER FENETRELe résultat est le suivant (sous Windows) :

En ajoutant un retour chariot, vous améliorez la présentation :
 Creer fenetre(50;50;500;250;5;"Opération en cours")
 Boucle($vlEnregistrement;1;Enregistrements trouves([touteTable]))
    MESSAGE("Traitement de l'enregistrement "+Chaine($vlEnregistrement)+Caractere(Retour chariot))
  ` Faire quelque chose avec l'enregistrement
    ENREGISTREMENT SUIVANT([touteTable])
 Fin de boucle
 FERMER FENETREVoici le résultat (Sous Windows) :

A l'aide de la commande POSITION MESSAGE et de l'écriture de quelques lignes supplémentaires, la présentation s'améliore nettement :
 Creer fenetre(50;50;500;250;5;"Opération en cours")
 $vlNbEnregistrements:=Enregistrements trouves([touteTable])
 $vhHeureDébut:=Heure courante
 Boucle($vlEnregistrement;1;$vlNbEnregistrements)
    POSITION MESSAGE(5;2)
    MESSAGE("Traitement de l'enregistrement "+Chaine($vlEnregistrement)+Caractere(Retour chariot))
  ` Faire quelque chose avec les enregistrements
    ENREGISTREMENT SUIVANT([touteTable])
    POSITION MESSAGE(5;5)
    $vlReste:=(($vlNbEnregistrements/$vlEnregistrement)-1)*(Heure courante-$vhHeureDébut)
    MESSAGE("Estimation du temps restant : "+Chaine heure($vlReste))
 Fin de boucle
 FERMER FENETREVoici le résultat (sous Windows) :

									Creer fenetre
									
									EFFACER FENETRE
									
									FERMER FENETRE
									
									POSITION MESSAGE
									
	Produit :  4D
	Thème :  Messages
	Numéro :  
        88
        
        
        
	Nom intl. :  MESSAGE
	Modifié :  4D 2004 
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	4D - Langage ( 4D v18)
	
	
	
	
	
 Ajouter un commentaire
Ajouter un commentaire