FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Conversion texte en rtf Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Conversion texte en rtf Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Conversion texte en rtf Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Conversion texte en rtf Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Conversion texte en rtf Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Conversion texte en rtf Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Conversion texte en rtf Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Conversion texte en rtf Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Conversion texte en rtf Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Conversion texte en rtf Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Conversion texte en rtf Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Conversion texte en rtf Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Conversion texte en rtf Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Conversion texte en rtf Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Conversion texte en rtf Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-20%
Le deal à ne pas rater :
Drone Dji DJI Mini 4K (EU)
239 € 299 €
Voir le deal

 

 Conversion texte en rtf

Aller en bas 
3 participants
AuteurMessage
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Conversion texte en rtf Empty
MessageSujet: Conversion texte en rtf   Conversion texte en rtf EmptyVen 5 Oct 2018 - 15:12

Pour affichage ultérieur dans un MEMO_RICH.

Le texte est rédigé ou lu dans n'importe quel éditeur de textes simple, ou par programme.
Les balises (élémentaires) de formatage sont insérées manuellement dans le texte.
Le résultat est enregistré au format .Txt
Après conversion, le résultat est un fichier au format .Rtf.

Code:
SUB Txt2Rtf(f$,frt$)
' Conversion f$ (format .txt) -> frt$ (format .rtf) avec balises de formatage
' +------------------------- BALISES DU .TXT: ------------------------------+
' | <C> et </C>: Centrage <B> </B> Gras <I> </I> Italique <S> </S> Souligné |
' | <Cx> Couleur texte avec x= N noir, R rouge, G vert, B bleu              |
' | <F..fonte..> nom de police, <Tx> taille des caractères                  |
' +-------------------------------------------------------------------------+
  DIM_LOCAL rc$, et$, ft$, en$(20), bf$(20), bc$(20)
  DIM_LOCAL a$,a1$,a2$,b$,c$,q$,i%,j%,k%,k1%,er$,ne,nf,nc
  IF LABEL("Rebc") = 0 THEN LABEL Rebc
  rc$ = CHR$(13)+CHR$(10)
' TABLE DES FONTES UTILISÉES (arbitraires, ajustable) **************************
  bf$(0)="Calibri": bf$(1)="Arial": bf$(2)="Times New Roman": bf$(3)="Lucida Console"
  nf = 4: ' nombre de fontes
' TABLE DES 4 COULEURS UTILISÉES (arbitraires, ajustable) **********************
  bc$(0) = "N": bc$(1) = "R": bc$(2) = "G": bc$(3) = "B"
  nc = 4: ' nombre de couleurs (noir, rouge, vert, bleu)
  et$ = "{\rtf1\ansi\ansicpg1252\deff0\deflang1036": ' En-tête RTF
' table des fontes utilisables (cf ci-dessus)
  et$ = et$ + "{\fonttbl"
  et$ = et$ + "{\f0\fnil\fcharset0 "+bf$(0)+";}"
  et$ = et$ + "{\f1\fnil\fcharset0 "+bf$(1)+";}"
  et$ = et$ + "{\f2\fnil\fcharset0 "+bf$(2)+";}"
  et$ = et$ + "{\f3\fnil\fcharset0 "+bf$(3)+";}"
  et$ = et$ + "}" + rc$
' table des couleurs utilisables
  et$ = et$ + "{\colortbl ;\red255\green0\blue0;\red0\green176\blue80;"
  et$ = et$ + "\red0\green77\blue187;}" + rc$
' généralités
  et$ = et$ + "{\*\generator Msftedit 5.41.21.2510;}"
  et$ = et$ + "\viewkind4\uc1\pard\sl240\slmult1\lang12\f0\fs22 "
  ft$ = "\pard\sa200\sl276\slmult1\par" + rc$ + "}"
' BALISES (Centré ou Couleur, Gras, Italique, Souligné, Fonte, Taille)
  a$ = "<C,<B,<I,<S,<F,<T,</C,</B,</I,</S"
  ne = 0
  k% = INSTR(a$, ",")
  WHILE k% > 0
      ne = ne+1: en$(ne)= LEFT$(a$, k%-1)
      a$ = RIGHT_POS$(a$,k%+1): k% = INSTR(a$, ",")
  END_WHILE
  ne = ne+1: en$(ne) = a$
  FILE_OPEN_READ 1, f$: FILE_OPEN_WRITE 2, frt$
  FILE_WRITELN 2, et$
  WHILE FILE_EOF(1) = 0
    FILE_READLN 1, a$
Rebc:
    k% = INSTR(a$, "<")
    IF k% > 0
        b$ = MID$(a$, k%+1, 500): k1% = INSTR(b$, ">")
        IF k1% > 0
            a1$ = LEFT$(a$, k%-1): a2$ = RIGHT_POS$(b$,k%+1)
            b$ = LEFT$(b$, k1%-1): ' balise
            q$ = ""
            IF LEN(b$) > 1 THEN q$ = UPPER$(RIGHT$(b$, LEN(b$)-1)): ' argument
            FOR i% = 1 TO ne
                c$ = MID$(en$(i%),2,2)
                IF UPPER$(LEFT$(b$, LEN(c$))) = c$ THEN EXIT_FOR
            NEXT i%
            er$ = ""
            SELECT i%
                CASE 1: ' <C> centrage ou <Cx> couleur
                        IF q$ = ""
                            er$ = "\pard\sl240\slmult1\qc ": ' centré
                        ELSE
                            FOR j% = 0 TO nc-1
                                IF UPPER$(q$) = bc$(j%) THEN EXIT_FOR
                            NEXT j%
                            er$ = "\cf"+STR$(j%)+" ": ' couleur caractères
                        END_IF
                CASE 2: ' <B> gras
                        er$ = "\b "
                CASE 3: ' <I> italique
                        er$ = "\i "
                CASE 4: ' <S> souligné
                        er$ = "\ul "
                CASE 5: ' <F..fonte..> police
                        FOR j% = 0 TO nf-1
                            IF UPPER$(q$) = UPPER$(bf$(j%)) THEN EXIT_FOR
                        NEXT j%
                        er$ = "\f"+STR$(j%)+" "
                CASE 6: ' <Tx> taille fonte
                        er$ = "\fs"+STR$(2*VAL(q$))+" "
                CASE 7: ' </C> fin de centrage
                        i% = 37
                        er$ = "\par"+rc$+"\pard\sl240\slmult1 "
                CASE 8: ' </B> fin gras
                        er$ = "\b0 "
                CASE 9: ' </I> fin italique
                        er$ = "\i0 "
                CASE 10: ' </S> fin souligné
                        er$ = "\ulnone "
            END_SELECT
            a$ = a1$ + er$ + a2$
            GOTO Rebc
        END_IF
    END_IF
    IF i% <> 37 THEN a$ = a$ + "\par"
    FILE_WRITELN 2, a$
  END_WHILE
  FILE_CLOSE 1
  FILE_WRITELN 2,ft$: FILE_CLOSE 2
END_SUB
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Conversion texte en rtf Empty
MessageSujet: +++   Conversion texte en rtf EmptySam 27 Oct 2018 - 12:12

Je constate que personne ne t'a répondu.
C'est pourtant, au fond, un truc superbe
que tu as fait là. Le problème, je crois,
c'est qu'on pénètre dans un domaine
assez spécialisé où il faut bien s'y connaître.

J'ai été très intéressé par le chapitre que tu
as initié sur le fonctionnement des memo_rich
et j'aurai bien voulu en faire une sorte de
traitement de texte genre wordpad, mais fait
en langage panoramic. Le problème, c'est que
c'est excessivement compliqué !

Je suppose que ça a un nom, ce code ou ce
langage avec plein de {...}, qu'il faut utiliser
pour faire fonctionner un memo_rich.
Comment ça s'appelle ? Que je m'instruise...
Merci d'avance pour la réponse !
scratch alien scratch
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Conversion texte en rtf Empty
MessageSujet: Re: Conversion texte en rtf   Conversion texte en rtf EmptySam 27 Oct 2018 - 15:12

Salut jj !

Si personne ne m'a répondu c'est que c'était parfait dès le départ, donc pas de questions !  Very Happy

Le format, vieux comme le monde (enfin... presque), c'est le Rich Text Format (RTF), utilisé en particulier par Wordpad (livré avec Windows: write.exe), et finalement assez puissant pour des mises en forme (on peut même intégrer des images).

Je suis justement en train de me coder un petit traitement de textes perso qui utilise ce format (d'accord, ça fait double emploi avec wordpad, en plus simple, mais c'est pour le plaisir).

Mais j'utilise pour ça les fonctions RichEdit très puissantes de KGF.dll, regarde dans sa doc (et Klaus est enfin de retour).
On peut sûrement le faire en pur Panoramic, mais c'est assez compliqué.
Le format RTF ressemble un peu au HTML, avec le principe des balises de mise en forme.

Sur internet ce n'est pas la doc qui manque sur le format.
Par exemple: http://www.biblioscape.com/rtf15_spec.htm (en british...)

PS
Finalement, toutes ces docs sont extrêmement compliquées, il y a un nombre phénoménal de balises et on s'y perd vite.

Le mieux c'est peut-être de rédiger des documents-types simples dans Wordpad, avec différents types d'enrichissement de texte, de les enregistrer (en .rtf), et de les relire dans notepad sous forme de texte pur, pour voir les balises générées pour chaque cas.
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Conversion texte en rtf Empty
MessageSujet: +++   Conversion texte en rtf EmptySam 27 Oct 2018 - 17:01

Wouuu !
En effet, dur-dur !
Surtout en anglais !
alien scratch affraid alien
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Conversion texte en rtf Empty
MessageSujet: Re: Conversion texte en rtf   Conversion texte en rtf EmptySam 27 Oct 2018 - 17:50

T'as raison, c'est quasi inutilisable, bien trop compliqué.
J'en avais trouvé un bien plus clair, en français je crois, mais j'ai eu un problème et j'ai perdu le lien.
Je vais essayer de le retrouver.

Ça c'est déjà plus clair, et en français:
https://www.supinfo.com/articles/single/4467-format-rtf
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Conversion texte en rtf Empty
MessageSujet: Re: Conversion texte en rtf   Conversion texte en rtf EmptyDim 28 Oct 2018 - 12:32

je serai bien intéressé aussi pour réaliser mon aide sur PanExpress.
Mais c'est vraiment pas facile à aborder. Mais sait-on jamais...

Il faut que je me documente aussi sur tout çà !
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Conversion texte en rtf Empty
MessageSujet: +++   Conversion texte en rtf EmptyDim 28 Oct 2018 - 19:24

Effectivement, c'est mieux, merci !
Eh bien, il me reste à... scratch scratch scratch scratch scratch scratch scratch scratch scratch
study alien study
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

Conversion texte en rtf Empty
MessageSujet: Re: Conversion texte en rtf   Conversion texte en rtf EmptyDim 28 Oct 2018 - 19:41

Ce n'est pas très compliqué si on n'utilise que les balises de base toutes simples, ce qui est le cas général pour nos applications:
Police, taille, couleur
Enrichissements: gras (\b...\b0) italique (\i...\i0) souligné (\ul...\ulnone)
Sauts de ligne, paragraphes
Il existe une foultitude d'autres balises, comme vous pouvez voir dans la doc, mais qui en principe ne nous servent à rien.

Le plus délicat peut-être c'est de définir l'en-tête, mais comme je disais plus haut il suffit de rédiger un document-type dans Wordpad, de l'enregistrer en rtf, et de le relire dans Notepad (en format texte simple) pour voir ce qui a été généré, et s'en inspirer.

Bon courage les amis !

@Minibug
Pour ton usage, ce serait sans doute plus facile à réaliser en format Html, avec le même principe de balises, mais c'est bien plus simple à manipuler et tu as plein de possibilités de mise en forme.
Et tu peux ensuite afficher le résultat dans un Hviewer.
Revenir en haut Aller en bas
Contenu sponsorisé





Conversion texte en rtf Empty
MessageSujet: Re: Conversion texte en rtf   Conversion texte en rtf Empty

Revenir en haut Aller en bas
 
Conversion texte en rtf
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Sub de conversion Html -> Texte
» Conversion de fichiers texte OEM vers ANSI
» Conversion TSL/RVB
» Conversion txt en rtf
» Conversion PSI <=>BAR

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: