| 4D v18ST Lire type contenu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 ST Lire type contenu 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ST Lire type contenu ( {* ;} objet {; débutSél {; finSél {; débutBloc {; finBloc}}}} ) -> Résultat | ||||||||
| Paramètre | Type | Description | ||||||
| * | Opérateur |   | Si spécifié, objet est un nom d'objet (chaîne) Si omis, objet est un champ ou une variable | |||||
| objet | Objet de formulaire |   | Nom d'objet (si * est spécifié) ou Champ ou variable (si * est omis) | |||||
| débutSél | Entier long |   | Début de la sélection | |||||
| finSél | Entier long |   | Fin de la sélection | |||||
| débutBloc | Entier long |   | Début de position du premier type de la sélection | |||||
| finBloc | Entier long |   | Fin de position du premier type de la sélection | |||||
| Résultat | Entier long |   | Type de contenu | |||||
La commande ST Lire type contenu retourne le type de contenu présent dans le champ ou la variable de texte multistyle désigné(e) par le paramètre objet.
Si vous passez le paramètre optionnel *, vous indiquez que le paramètre objet est un nom d’objet (une chaîne). A l’exécution, si l’objet a le focus, la commande retourne les informations de l’objet en cours d'édition ; si l’objet n'a pas le focus, la commande retourne les informations de la source de données de l’objet (variable ou champ).
Si vous omettez le paramètre *, vous indiquez que le paramètre objet est un champ ou une variable. Dans ce cas, vous ne passez pas une chaîne mais une référence de champ ou de variable. A l’exécution, la commande retourne les informations de la variable ou du champ.
Les paramètres optionnels débutSél et finSél permettent de désigner une sélection de texte dans objet. Les valeurs débutSél et finSél expriment une sélection de texte brut, sans tenir compte des balises de style éventuellement présentes dans le texte.
4D propose des constantes prédéfinies afin de désigner automatiquement des bornes de sélection dans les paramètres débutSél et finSél. Ces constantes sont placées dans le thème "Texte multistyle" :
| Constante | Type | Valeur | Comment | 
| ST Début sélection | Entier long | -1000 | Désigne le premier caractère de la sélection courante de texte dans l’objet (*) | 
| ST Début texte | Entier long | 1 | Désigne le premier caractère du texte contenu dans l’objet | 
| ST Fin sélection | Entier long | -1001 | Désigne le dernier caractère de la sélection courante de texte dans l’objet (*) | 
| ST Fin texte | Entier long | 0 | Désigne le dernier caractère du texte contenu dans l’objet | 
(*) Vous devez passer un nom d’objet dans objet pour pouvoir utiliser cette constante. Si vous passez une référence de variable ou de champ, la commande s’appliquera à l’ensemble du texte de l’objet.
Note : Si débutSél est supérieur à finSél (hormis si finSél vaut 0), la commande ne fait rien et la variable OK prend la valeur 0.
Les paramètres optionnels débutBloc et finBloc permettent de récupérer la position du premier et du dernier caractère du premier bloc homogène identifié dans l’objet ou la sélection de l’objet. Par exemple, si la sélection contient une expression puis du texte brut, débutBloc et finBloc retourneront les bornes de l’expression. Vous pouvez effectuer une boucle afin de traiter tous les blocs de la sélection.
La commande retourne une valeur désignant le type de contenu identifié. Vous pouvez comparer cette valeur aux constantes suivantes, placées dans le thème "Texte multistyle" :
| Constante | Type | Valeur | Comment | 
| ST Type balise inconnu | Entier long | 4 | La sélection contient uniquement une balise de type inconnu | 
| ST Type brut | Entier long | 0 | La sélection contient du texte et aucune référence | 
| ST Type expression | Entier long | 2 | La sélection contient uniquement une référence d’expression | 
| ST Type image | Entier long | 6 | La sélection contient uniquement une image (zones 4D Write Pro uniquement) | 
| ST Type mixte | Entier long | 3 | La sélection contient au moins deux types de contenus différents | 
| ST Type Url | Entier long | 1 | La sélection contient uniquement une référence d’URL | 
| ST Type utilisateur | Entier long | 5 | La sélection contient uniquement une référence personnalisée | 
Vous souhaitez afficher des commandes d’un menu contextuel en fonction du type de contenu sélectionné dans la zone.
 Au cas ou
    :(Evenement formulaire code=Sur clic)
  //on récupère la sélection
       TEXTE SELECTIONNE(*;"myText";startSel;endSel)
       Si(Clic contextuel & (Macintosh control enfoncee=Faux)) //appel du menu contextuel
          Si(startSel=endSel) //pas de contenu sélectionné
  //on active uniquement certaines commandes
             INACTIVER LIGNE MENU(<>menu_STYLEDTEXT;2)
             INACTIVER LIGNE MENU(<>menu_STYLEDTEXT;4)
             ACTIVER LIGNE MENU(<>menu_STYLEDTEXT;6)
             ...
          Sinon //on lit le type de contenu
             CT_Texttype:=ST Lire type contenu(*;"myText";startSel;endSel)
             Au cas ou //traitement des différents types
                :(CT_Texttype=ST Type Url)
                   INACTIVER LIGNE MENU(<>menu_STYLEDTEXT;6)
                   ACTIVER LIGNE MENU(<>menu_STYLEDTEXT;7)
                   ...
                :(CT_Texttype=ST Type expression)
                   INACTIVER LIGNE MENU(<>menu_STYLEDTEXT;6)
                   INACTIVER LIGNE MENU(<>menu_STYLEDTEXT;7)
                   ...
                Sinon
                   ACTIVER LIGNE MENU(<>menu_STYLEDTEXT;6)
                   INACTIVER LIGNE MENU(<>menu_STYLEDTEXT;7)
                   ...
             Fin de cas
          Fin de si
          POSITION SOURIS($xCoord;$yCoord;$StateButton)
          $AlphaVar:=Pop up menu dynamique(<>menu_STYLEDTEXT;"";$xCoord;$yCoord)
          startSel:=-3
          endSel:=-3
       Fin de si
       ...
 Fin de cas
	Produit :  4D
	Thème :  Texte multistyle
	Numéro :  
        1286
        
        
        
	Nom intl. :  ST Get content type
	Créé :  4D v14
	Modifié :  4D v14 R5
	4D - Langage ( 4D v18)
	
	
	
 Ajouter un commentaire
Ajouter un commentaire