DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Champs, fenêtres et pages / Champs : Types disponibles / Champ de saisie
  • Le format RTF
  • Champ de saisie au format RTF
  • Remarques
  • Format RTF géré
  • Définir le contenu initial d'un champ de saisie RTF
  • Écrire dans un champ de saisie RTF par programmation (en utilisant les attributs RTF)
  • Utiliser les attributs de texte dans un champ de saisie au format RTF
  • Enregistrer un texte dans un fichier RTF
  • Enregistrer du texte au format RTF dans une rubrique d'un fichier HFSQL
  • Faire un "Rechercher/Remplacer" dans un champ de saisie au format RTF
  • Manipuler les caractères dans un champ de saisie au format RTF
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Le format RTF
Le format RTF (Rich Text Format) permet de coder d'une manière spécifique le texte et les graphiques afin de faciliter leur transfert d'une application à une autre.
Le format RTF est un format dit "à balises". En effet, des balises spécifiques permettent de spécifier le style de chaque mot, groupe de mots ou phrase présents dans le texte au format RTF.
WINDEV permet de manipuler du texte au format RTF grâce à l'option "Format RTF" des champs de saisie et des libellés.
Il est également possible d'utiliser la propriété RichEdit pour modifier le type RTF d'un champ par programmation.
  • Si le texte au format RTF est affiché dans un champ ne reconnaissant pas le format RTF, les balises seront affichées.
  • Si le texte au format RTF est affiché dans un champ reconnaissant le format RTF, les balises seront automatiquement interprétées et le texte sera mis en forme.
Remarque : Pour utiliser un champ de saisie au format RTF, le fichier "RICHED20.DLL" doit être présent sur le poste en cours. Le fichier "RICHED20.DLL" est généralement présent dans le répertoire système de Windows. Si une version supérieure du contrôle RTF est présente sur le poste, cette version est utilisée.
Champ de saisie au format RTF
Le champ de saisie RTF permet aussi bien d'afficher un texte au format RTF que de saisir un texte au format RTF.
Lors de la saisie d'un texte dans un champ RTF, ce texte est au format RTF. Ce texte contient toutes les balises permettant de formater le RTF.

Remarques

  • Il est possible d'afficher une barre de formatage RTF au dessus du champ RTF. Cette barre permet à l'utilisateur de mettre en forme rapidement le texte RTF saisi. Pour plus de détails, consultez Barre de mise en forme RTF.
  • Pour les applications fonctionnant sous Windows Vista (ou supérieur), il est possible d'intégrer l'option "Saisie manuscrite". Cette option permet à l'utilisateur de saisir directement le texte dans le champ à l'aide du stylet ou de la souris.
  • Si vous saisissez un même texte dans un champ de saisie classique et dans un champ de saisie RTF, la taille de la chaîne de caractères présente dans le champ sera supérieure pour le champ de saisie RTF (car les balises RTF sont ajoutées).
  • Le champ de saisie RTF permet de gérer un format RTF basique, permettant une utilisation quelle que soit la plateforme en cours. Les caractères spécifiques tels que les sauts de page, les notes, ... ne sont pas gérés.

Format RTF géré

Le format des fichiers RTF gérés est le même que le format RTF géré par "Wordpad".
Si le fichier RTF est généré par un autre outil (Word, ...), afin de vérifier la compatibilité du RTF, il est conseillé d'ouvrir le fichier avec Wordpad. L'affichage du fichier sous Wordpad donnera un aperçu plus réel de ce qui sera imprimé.
Dans tous les cas il est conseillé de ré-enregistrer le fichier avec Wordpad pour forcer le format du RTF.
Remarque : Il est également possible de forcer le format du RTF directement avec WINDEV ou WEBDEV. Pour cela, il faut utiliser la fonction RTFCharge pour affecter le champ de saisie RTF.
Définir le contenu initial d'un champ de saisie RTF
Pour définir le contenu initial d'un champ de saisie RTF (solution 1) :
  1. Affichez l'onglet "Contenu" de la description du champ de saisie RTF.
  2. Saisissez le contenu du champ RTF dans le champ "Contenu initial". Pour mettre en forme le texte, affichez la barre de formatage du texte grâce à l'option "Barre de mise en forme RTF" du menu contextuel du champ "Contenu initial".
  3. Validez la fenêtre de description.
Pour définir le contenu initial d'un champ de saisie RTF (solution 2) :
  1. Saisissez votre texte et mettez-le en forme sous n'importe quel éditeur RTF (Word, éditeur de document WINDEV, etc.).
  2. Copiez ce texte (Ctrl + C).
  3. Affichez l'onglet "Contenu" de la description du champ de saisie RTF.
  4. Collez le texte au format RTF. Le texte collé apparaît avec sa mise en forme.
Écrire dans un champ de saisie RTF par programmation (en utilisant les attributs RTF)

Utiliser les attributs de texte dans un champ de saisie au format RTF

Pour utiliser les attributs de texte dans un champ de saisie au format RTF, il suffit de :
  • sélectionner le texte dans le champ de saisie. Par défaut, le texte sélectionné par l'utilisateur est mis en surbrillance. Pour sélectionner un texte, il est possible d'utiliser les propriétés Curseur et FinCurseur par exemple.
  • utiliser la fonction RTFSélection. Cette fonction permet de connaître et de modifier les attributs RTF (gras, ...) d'une sélection.
Exemple : Passer le texte sélectionné en gras
Le code suivant, placé dans le code de sortie d'un champ de saisie au format RTF, permet de passer le texte sélectionné en gras.
SI SAI_Saisie1.FinCurseur > SAI_Saisie1.Curseur ALORS
RTFSélection(SAI_Saisie1, rtfGras, Vrai)
FIN
Enregistrer un texte dans un fichier RTF
Dans un champ de saisie RTF, le texte saisie est automatiquement au format RTF.
Pour enregistrer le contenu d'un champ de saisie au format RTF dans un fichier RTF, il suffit de :
  1. Créer le fichier RTF (fonction fCrée) ou d'ouvrir un fichier RTF existant (fonction RTFCharge).
  2. Copier le contenu du champ RTF dans le fichier en cours (fonction fEcrit).
Exemple : Créer un fichier "MonDoc.RTF". Ce fichier contient le texte saisi dans le champ de saisie TEXTE_RTF.
sNomfic est une chaîne
sMaChaîne est une chaîne
nIDFic est un entier
sNomfic = fSélecteur("", "", "Sélectionnez un fichier...", ...
"Fichiers RTF" + TAB + "*.RTF" + RC + "Tous fichiers (*.*)" + TAB + "*.*", ...
"RTF", fselCrée + fselExiste)
nIDFic = fOuvre(sNomfic, foCréationSiInexistant + foAjout + foLectureEcriture)
SI nIDFic = -1 ALORS
Erreur("L'ouverture du fichier a échoué")
SINON
// On remplit la chaîne à écrire dans le fichier
sMaChaîne = SAI_Saisie1
// Ecriture du bloc
fEcrit(nIDFic, sMaChaîne)
// Fermeture du fichier
fFerme(nIDFic)
FIN

Enregistrer du texte au format RTF dans une rubrique d'un fichier HFSQL

Pour enregistrer un texte au format RTF dans une rubrique d'un fichier, il est conseillé de lier le champ de saisie à une rubrique de type Mémo texte.
En effet, le format RTF comprenant de nombreuses balises, une rubrique de type "Chaîne de caractères" est souvent de taille insuffisante.
Faire un "Rechercher/Remplacer" dans un champ de saisie au format RTF
Pour réaliser un "Rechercher/Remplacer" dans un texte au format RTF :
  1. Utilisez la fonction RTFRecherche pour rechercher le texte voulu dans le champ de saisie au format RTF.
  2. Remplacez le texte grâce à la fonction RTFRemplace.
Exemple : Recherche du mot WinDev 19 et remplacement par WinDev 28.
n est un entier
sMotRecherché est une chaîne = "WinDev 19"
sMotRemplace est une chaîne = "WinDev 28"
// Recherche case non sensitive, à partir de la fin de la sélection
n = RTFRecherche(SAI_Saisie1, sMotRecherché)
// Si le mot est trouvé
SI n-1 ALORS
// Remplace le mot trouvé
RTFRemplace(SAI_Saisie1, sMotRemplace, n, n + Taille(sMotRecherché))
FIN
Manipuler les caractères dans un champ de saisie au format RTF
WINDEV permet également de manipuler les caractères contenus dans une chaîne ou un champ RTF. Voici quelques exemples :
Exemple : Limiter/tronquer le nombre de caractères contenus dans une chaîne RTF (hors balises RTF).
// Tronque le RTF au nombre de caractères indiqué dans nNbCaractereMax
nNbCaractereMax est un entier
nNbCaractereMax = 3
RTFRemplace(SAI_Texte_RTF, "", nNbCaractereMax + 1, Taille(SAI_Texte_RTF))
Exemple : Calculer le nombre de caractères contenus dans une chaîne RTF (hors balises RTF).
// Récupère le contenu du RTF sans mise en forme
sUnicode est une chaîne UNICODE
nNbCaractere est un entier
 
sUnicode = RTFVersTexte(SAI_Texte_RTF)
nNbCaractere = Taille(sUnicode)
Info(nNbCaractere)
Liste des exemples associés :
Gestion du RTF Exemples unitaires (WINDEV) : Gestion du RTF
[ + ] Utilisation des principales fonctions de gestion du RTF dans une application WINDEV :
- Charger un fichier au format RTF
- Enregistrer un fichier au format RTF
- Rechercher et sélectionner un mot dans un texte RTF
- Afficher un texte au format RTF
- Modifier les caractéristiques d'une sélection (police, casse, couleur...)
Les caractères spéciaux Exemples unitaires (WINDEV) : Les caractères spéciaux
[ + ] Manipulation de caractères spéciaux dans un champ RTF et visualisation des codes ASCII et ANSI.
Passage du format RTF au format HTML Exemples unitaires (WINDEV) : Passage du format RTF au format HTML
[ + ] Utilisation des fonctions RTFVersHTML et RTFVersTexte.
Version minimum requise
  • Version 9
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 26/06/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale