|
|
|
|
|
- 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
Manipuler un champ de saisie au 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) : - Affichez l'onglet "Contenu" de la description du champ de saisie RTF.
- 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".
- Validez la fenêtre de description.
Pour définir le contenu initial d'un champ de saisie RTF (solution 2) : - Saisissez votre texte et mettez-le en forme sous n'importe quel éditeur RTF (Word, éditeur de document WINDEV, etc.).
- Copiez ce texte (Ctrl + C).
- Affichez l'onglet "Contenu" de la description du champ de saisie RTF.
- 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 : - Créer le fichier RTF (fonction fCrée) ou d'ouvrir un fichier RTF existant (fonction RTFCharge).
- 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 : - Utilisez la fonction RTFRecherche pour rechercher le texte voulu dans le champ de saisie au format RTF.
- 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).
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 :
|
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...)
|
|
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.
|
|
Exemples unitaires (WINDEV) : Passage du format RTF au format HTML
[ + ] Utilisation des fonctions RTFVersHTML et RTFVersTexte.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|