Lire texte edite

4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant

version 6.5


Lire texte edite Texte

ParamètreTypeDescription
Cette commande ne requiert pas de paramètre
RésultatTexteTexte en cours de saisie

Description

La commande Lire texte edite retourne le texte en cours de saisie dans un objet de formulaire.

Cette commande est principalement destinée à être utilisée avec le nouvel événement formulaire Sur après frappe clavier pour récupérer le texte au fur et à mesure de la frappe. Elle peut également être utilisée avec l'événement formulaire Sur avant frappe clavier.

Note : Pour des raisons d'harmonisation avec le nouvel événement formulaire Sur après frappe clavier, l'événement Sur entrée clavier a été renommé en Sur avant frappe clavier à compter de la version 6.5 de 4D.

La combinaison de cette commande avec les événements formulaire Sur avant frappe clavier et Sur après frappe clavier fonctionne de la manière suivante :

Dès qu'un caractère est tapé au clavier, l'événement Sur avant frappe clavier est généré. Dans cet événement, la fonction Lire texte edite retourne le contenu de la zone avant la dernière frappe clavier. Par exemple, si la zone contient "PA" et que l'utilisateur tape "R", Lire texte edite retourne "PA" dans l'événement Sur avant frappe clavier. Si la zone ne contient rien au départ, Lire texte edite retourne une chaîne vide.

Ensuite, l'événement formulaire Sur après frappe clavier est généré. Dans cet événement, la fonction Lire texte edite retourne le contenu de la zone y compris le dernier caractère entré au clavier. Par exemple, si la zone contient "PA" et que l'utilisateur tape "R", Lire texte edite retourne "PAR" dans l'événement Sur après frappe clavier.

Ces deux événements ne sont générés que dans les méthodes des objets concernés.

Dans un contexte autre que la saisie dans un formulaire, cette fonction retourne une chaîne vide.

Exemples

(1) Dans un formulaire entrée, vous souhaitez que les caractères saisis soient automatiquement mis en majuscules :

   Si (Evenement formulaire=Sur apres frappe clavier)
      [Voyages]Agences:=Majusc(Lire texte edite)
   Fin de si

(2) Voici un exemple de traitement à la volée des caractères saisis dans un champ texte. Le principe consiste à placer dans un autre champ texte (appelé "Mots") la décomposition en mots de la phrase en cours de saisie. Pour cela, écrivez dans la méthode objet du champ de saisie :

   Si (Evenement formulaire=Sur apres frappe clavier)
      $SaisieTempsRéel:=Lire texte edite
      PROPRIETES PLATE FORME ($plate_forme)
      Si ($plate_forme#3)   ` Macintosh ou Power Macintosh
         Repeter 
            $PhraseDécomposée:=Remplacer chaine($SaisieTempsRéel;Caractere(32);Caractere(13))
         Jusque (Position(" ";$PhraseDécomposée)=0)
      Sinon   ` Windows
         Repeter 
         $PhraseDécomposée:=Remplacer chaine($SaisieTempsRéel;Caractere(32);
                                    Caractere(13)+Caractere(10))
         Jusque (Position(" ";$PhraseDécomposée)=0)
      Fin de si
      [Exemple]Mots:=$PhraseDécomposée
   Fin de si

Note : Cet exemple n'est pas exhaustif puisque l'on considère que les mots sont séparés par des espaces uniquement (Caractere (32)). La mise au point d'un système complet nécessiterait l'ajout d'autres filtres afin de repérer tous les mots (point-virgules, virgules, apostrophes, etc...).

Référence

Evenement formulaire.


4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant