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 txt en rtf Emptypar Pedro Aujourd'hui à 8:08

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

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

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

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

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

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

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

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

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

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

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

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

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

» fichier.exe
Conversion txt 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
Le Deal du moment :
Boutique Nike : -25% dès 50€ sur TOUT le ...
Voir le deal

 

 Conversion txt en rtf

Aller en bas 
5 participants
AuteurMessage
JL35




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

Conversion txt en rtf Empty
MessageSujet: Conversion txt en rtf   Conversion txt en rtf EmptySam 15 Déc 2012 - 17:35

Une SUB pour mettre en forme et imprimer par exemple le résultat d'un programme panoramic.
Le fichier au format txt comporte des balises simples qui sont converties par la sub au format rtf pour impression par l'intermédiaire de Wordpad.
Les balises concernent police, couleur et taille des caractères, les enrichissements (gras, italique, souligné), et le centrage de texte.
Le source est simple et commenté, donc facilement modifiable.
La sub est précédée d'un peu de code pour la démo.
Code:
LABEL Convert, Voir, Imprimer
DIM f$, frt$

f$ = "C:\Temp\Test.txt"
frt$ = "C:\Temp\Test.rtf"

WIDTH 0,120: HEIGHT 0,180: BORDER_SMALL 0: FONT_BOLD 0: COLOR 0,192,255,255
BUTTON 1: CAPTION 1, "Voir TXT": on_click 1, Voir
BUTTON 2: TOP 2,30: CAPTION 2, "Convertir": on_click 2, Convert
BUTTON 3: TOP 3,60: CAPTION 3, "Voir RTF": on_click 3, Voir
BUTTON 4: TOP 4,90: CaPTION 4, "Aperçu": ON_CLICK 4, Voir
BUTTON 5: TOP 5,120: CAPTION 5, "Imprimer": ON_CLICK 5, Imprimer
ALPHA 6: TOP 6,36: LEFT 6,80: WIDTH 6,30: FONT_COLOR 6,192,0,0

END
' ==============================================================================
Convert:
Txt2Rtf(f$,frt$)
CAPTION 6, "-> OK": COLOR 0,255,255,128
RETURN
' ------------------------------------------------------------------------------
Voir:
IF CLICKED(1) = 1
    EXECUTE "Notepad.exe " + f$
ELSE
    IF CLICKED(3) = 1
        EXECUTE "Notepad.exe " + frt$
    ELSE
        EXECUTE "Wordpad.exe " + frt$
    END_IF
END_IF
RETURN
' ------------------------------------------------------------------------------
Imprimer:
EXECUTE_WAIT "Wordpad.exe /p " + frt$: ' impression passante
RETURN
' ------------------------------------------------------------------------------
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 Rt_rc$, Rt_et$, Rt_ft$, Rt_en$(20), Rt_bf$(20), Rt_bc$(20)
DIM_LOCAL RT_a$, Rt_a1$, Rt_a2$, Rt_b$, Rt_c$, Rt_q$, Rt_i%, Rt_j%, Rt_k%, Rt_k1%
DIM_LOCAL Rt_er$, Rt_ne, Rt_nf, Rt_nc
IF LABEL("Rt_Rebc") = 0 THEN LABEL Rt_Rebc
Rt_rc$ = CHR$(13)+CHR$(10)
' TABLE DES FONTES UTILISÉES (arbitraires, ajustable) **************************
Rt_bf$(0) = "Calibri": Rt_bf$(1) = "Arial": Rt_bf$(2) = "Times New Roman"
Rt_bf$(3) = "Lucida Console"
Rt_nf = 4: ' nombre de fontes
' TABLE DES 4 COULEURS UTILISÉES (arbitraires, ajustable) **********************
Rt_bc$(0) = "N": Rt_bc$(1) = "R": Rt_bc$(2) = "G": Rt_bc$(3) = "B"
Rt_nc = 4: ' nombre de couleurs (noir, rouge, vert, bleu)
Rt_et$ = "{\rtf1\ansi\ansicpg1252\deff0\deflang1036": ' En-tête RTF
' table des fontes utilisables (cf ci-dessus)
Rt_et$ = Rt_et$ + "{\fonttbl"
Rt_et$ = Rt_et$ + "{\f0\fnil\fcharset0 "+Rt_bf$(0)+";}"
Rt_et$ = Rt_et$ + "{\f1\fnil\fcharset0 "+Rt_bf$(1)+";}"
Rt_et$ = Rt_et$ + "{\f2\fnil\fcharset0 "+Rt_bf$(2)+";}"
Rt_et$ = Rt_et$ + "{\f3\fnil\fcharset0 "+Rt_bf$(3)+";}"
Rt_et$ = Rt_et$ + "}" + Rt_rc$
' table des couleurs utilisables
Rt_et$ = Rt_et$ + "{\colortbl ;\red255\green0\blue0;\red0\green176\blue80;"
Rt_et$ = RT_et$ + "\red0\green77\blue187;}" + Rt_rc$
' généralités
Rt_et$ = Rt_et$ + "{\*\generator Msftedit 5.41.21.2510;}"
Rt_et$ = Rt_et$ + "\viewkind4\uc1\pard\sl240\slmult1\lang12\f0\fs22 "
Rt_ft$ = "\pard\sa200\sl276\slmult1\par" + Rt_rc$ + "}"
' BALISES
Rt_a$ = "<C,<B,<I,<S,<F,<T,</C,</B,</I,</S"
Rt_ne = 0
Rt_k% = INSTR(RT_a$, ",")
WHILE Rt_k% > 0
    Rt_ne = Rt_ne+1: RT_en$(Rt_ne)= LEFT$(Rt_a$, Rt_k%-1)
    Rt_a$ = MID$(Rt_a$, Rt_k%+1,100): Rt_k% = INSTR(RT_a$, ",")
END_WHILE
Rt_ne = Rt_ne+1: Rt_en$(Rt_ne) = RT_a$
FILE_OPEN_READ 1, f$: FILE_OPEN_WRITE 2, frt$
FILE_WRITELN 2, Rt_et$
WHILE FILE_EOF(1) = 0
    FILE_READLN 1, Rt_a$
Rt_Rebc:
    Rt_k% = INSTR(Rt_a$, "<")
    IF Rt_k% > 0
        Rt_b$ = MID$(Rt_a$, Rt_k%+1, 500): Rt_k1% = INSTR(Rt_b$, ">")
        IF Rt_k1% > 0
            Rt_a1$ = LEFT$(Rt_a$, Rt_k%-1): Rt_a2$ = MID$(Rt_b$, Rt_k1%+1,500)
            Rt_b$ = LEFT$(Rt_b$, Rt_k1%-1): ' balise
            Rt_q$ = ""
            IF LEN(Rt_b$) > 1 THEN Rt_q$ = UPPER$(RIGHT$(Rt_b$, LEN(Rt_b$)-1)): ' argument
            FOR Rt_i% = 1 TO Rt_ne
                Rt_c$ = MID$(Rt_en$(Rt_i%),2,2)
                IF UPPER$(LEFT$(Rt_b$, LEN(Rt_c$))) = Rt_c$ THEN EXIT_FOR
            NEXT Rt_i%
            Rt_er$ = ""
            SELECT Rt_i%
                CASE 1: ' <C> centrage ou <Cx> couleur
                        IF Rt_q$ = ""
                            Rt_er$ = "\pard\sl240\slmult1\qc ": ' centré
                        ELSE
                            FOR Rt_j% = 0 TO Rt_nc-1
                                IF UPPER$(Rt_q$) = Rt_bc$(Rt_j%) THEN EXIT_FOR
                            NEXT Rt_j%
                            Rt_er$ = "\cf"+STR$(Rt_j%)+" ": ' couleur caractères
                        END_IF
                CASE 2: ' <B> gras
                        Rt_er$ = "\b "
                CASE 3: ' <I> italique
                        Rt_er$ = "\i "
                CASE 4: ' <S> souligné
                        Rt_er$ = "\ul "
                CASE 5: ' <F..fonte..> police
                        FOR Rt_j% = 0 TO Rt_nf-1
                            IF UPPER$(Rt_q$) = UPPER$(Rt_bf$(Rt_j%)) THEN EXIT_FOR
                        NEXT Rt_j%
                        Rt_er$ = "\f"+STR$(Rt_j%)+" "
                CASE 6: ' <Tx> taille fonte
                        Rt_er$ = "\fs"+STR$(2*VAL(Rt_q$))+" "
                CASE 7: ' </C> fin de centrage
                        Rt_i% = 37
                        Rt_er$ = "\par"+Rt_rc$+"\pard\sl240\slmult1 "
                CASE 8: ' </B> fin gras
                        Rt_er$ = "\b0 "
                CASE 9: ' </I> fin italique
                        Rt_er$ = "\i0 "
                CASE 10: ' </S> fin souligné
                        Rt_er$ = "\ulnone "
            END_SELECT
            Rt_a$ = Rt_a1$ + Rt_er$ + Rt_a2$
            GOTO Rt_Rebc
        END_IF
    END_IF
    IF Rt_i% <> 37 THEN RT_a$ = Rt_a$ + "\par"
    FILE_WRITELN 2, Rt_a$
END_WHILE
FILE_CLOSE 1
FILE_WRITELN 2, Rt_ft$
FILE_CLOSE 2
END_SUB
PS Wordpad admet également l'insertion d'images, mais elles sont converties dans un format inconnu (pour moi), certainement pas simple, et en tout cas très volumineux, alors je n'ai même pas essayé !
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Conversion txt en rtf Empty
MessageSujet: Re: Conversion txt en rtf   Conversion txt en rtf EmptySam 15 Déc 2012 - 18:21

Salut JL35.

Intéressant, mais …
Le programme suppose que le répertoire C:\temp existe.
Or ce n’est pas toujours le cas d’où une erreur à l’exécution.
Supposons que le répertoire existe mais il ne contient aucun fichier .TXT, les menus Convertir, Voir RTF et Aperçus conduisent tous à des erreurs : Il faut donc les INACTIVEr au départ et les ACTIVEr ensuite.

Si je me suis exprimé correctement, tu comprendras ce que je voulais dire.

A+
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

Conversion txt en rtf Empty
MessageSujet: Re: Conversion txt en rtf   Conversion txt en rtf EmptySam 15 Déc 2012 - 18:25

Salut Papydall, là je pense que tu pinailles un peu...
Bon, il suffit de rajouter
Code:
IF DIR_EXISTS("C:\TEMP") = 0 THEN DIR_MAKE "C:\TEMP"

De plus, si le répertoire existe et ne contient pas de fichier .txt (c'était juste un exemple pour faire l'essai), je ne vois pas trop pourquoi on irait donner un nom de fichier qui n'existe pas à convertir...

Comme toujours, les noms de répertoires de manoeuvre sont à adapter au goût de chacun.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Conversion txt en rtf Empty
MessageSujet: Re: Conversion txt en rtf   Conversion txt en rtf EmptySam 15 Déc 2012 - 18:47

Moi, il faudrait que je me fasse un petit programme pour convertir des documents au format Word en code HTML "propre" (sans toutes les balises de formats inutiles mais en gardant les puces, les titres, les liens et renvois, les format de bases (gras, italique, ...)
Ca me servira pour intégrer des fiches dans ServiceNow en passant par un fichier d'import... Je peux le faire manuellement, mais je vais avoir plus d'un millier de docs à traiter en peu de temps ... il faut que j'automatise...
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Conversion txt en rtf Empty
MessageSujet: Re: Conversion txt en rtf   Conversion txt en rtf EmptySam 15 Déc 2012 - 20:44

@Jicehel,

il me semble qu'avec Word (suivant la version) que tu peux directement enregistrer ton document au format HTML.

A+
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Conversion txt en rtf Empty
MessageSujet: Re: Conversion txt en rtf   Conversion txt en rtf EmptySam 15 Déc 2012 - 21:04

Tu as raison Jean-Claude, mais le code généré est très très lourd.
Il y a plus de lignes déclarant les styles etc ... que de code HTML utile ...
Ca ne convient pas à mon usage.
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Conversion txt en rtf Empty
MessageSujet: Re: Conversion txt en rtf   Conversion txt en rtf EmptySam 15 Déc 2012 - 23:18

Jicehel a écrit:
Moi, il faudrait que je me fasse un petit programme pour convertir des documents au format Word en code HTML "propre" (sans toutes les balises de formats inutiles mais en gardant les puces, les titres, les liens et renvois, les format de bases (gras, italique, ...)
Ca me servira pour intégrer des fiches dans ServiceNow en passant par un fichier d'import... Je peux le faire manuellement, mais je vais avoir plus d'un millier de docs à traiter en peu de temps ... il faut que j'automatise...
Le format Word est vraiment trop bor..lique pour que tu puisses en tirer quelque chose...
A mon avis, tu perdras malheureusement moins de temps en sélectionnant toi meme le texte (CTRL+C) et de le copier dans des balises que tu auras écris à la mimine (CTRL+V)
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Conversion txt en rtf Empty
MessageSujet: Re: Conversion txt en rtf   Conversion txt en rtf EmptySam 15 Déc 2012 - 23:24

Jean Claude a écrit:
@Jicehel,

il me semble qu'avec Word (suivant la version) que tu peux directement enregistrer ton document au format HTML.

A+
Comme le dis Jicehel, le "code" html généré par Word est innommable...
Microsoft a toujours trainé la patte quand il s'agit de technologie autre que la leur.
Pour preuve, même leur navigateur ne respecte pas les standards du Web....

Revenir en haut Aller en bas
http://nardo26.lescigales.org
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Conversion txt en rtf Empty
MessageSujet: Re: Conversion txt en rtf   Conversion txt en rtf EmptyDim 16 Déc 2012 - 0:40

Je suis d'accord avec toi Nardo, c'est pour ça que je pense faire Word => RTF => HTML "propre" en passant par un programme sans doute fait en panoramic pour traiter tout un répertoire d'un coup (après le top c'est que je mette le code dans une colonne d"un fichier d'import, mais bon ça je verrais plus tard Wink )
Revenir en haut Aller en bas
Contenu sponsorisé





Conversion txt en rtf Empty
MessageSujet: Re: Conversion txt en rtf   Conversion txt en rtf Empty

Revenir en haut Aller en bas
 
Conversion txt en rtf
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Conversion TSL/RVB
» Conversion PSI <=>BAR
» Conversion RGB/HSV
» conversion hexa
» Conversion d'unités

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: