Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Objet Hviewer. | |
| | Auteur | Message |
---|
Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Objet Hviewer. Mar 14 Juil 2020 - 20:43 | |
| Bonsoir.
L'un d'entre vous a-t-il une solution à me proposer, afin de récupérer le contenu visible d'un tel objet, pour ensuite le transférer dans un memo.
Je sais qu'il est parfaitement possible de réaliser cela avec un objet VB, grâce à la dll de Klaus.
Merci d'avance.
| |
| | | Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: Objet Hviewer. Mer 15 Juil 2020 - 10:34 | |
| Bon, puisque personne ne répond, je réponds.
CONTENT_COPY sert justement à transférer le contenu d'un objet dans un autre.
Avec CONTENT_COPY, tu recopies le contenu d'un HVIEWER dans un LIST. Tu sauvegardes le contenu du LIST par FILE_SAVE dans un fichier que tu charges ensuite dans un MEMO par FILE_LOAD.
Encore plus simple: Comme un HVIEWER se charge avec FILE_LOAD, et qu'on ne peux pas modifier son contenu, puis que c'est un visualisateur et rien de plus, pourquoi ne pas charger directement dans un MEMO le même fichier qui est chargé dans le HVIEWER ? _________________ username : panoramic@jack-panoramic password : panoramic123 | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Objet Hviewer. Mer 15 Juil 2020 - 11:19 | |
| Bonjour tous !
j'ai fait quelques essais hier soir suite à la demande de Pedro.
Le problème, suivant le code html chargé, est que le texte n’a plus de formatage (saut de ligne). De plus, toutes les balises et les scripts restent affichés.
Dans ma reflexion et mes essais, j’en suis arrivé ici : Charger le fichier HTML dans un memo ou un SYNEDIT (FILE_LOAD) Copier le fichier HTML dans une variable (a$=TEXT$(du memo)) pour le control de l’index de recherche qui permettra d’insérer un saut de ligne (ITEM_ADD memo,"") à chaque fois que je rencontre une balise qui effectue un saut de ligne. (<br>, <br />, <li>,…) Puis viennent les algorithmes de recherche et suppression des toutes balises et de leur contenu, également pour les scripts, avec ITEM_SELECT, ITEM_DELETE…
Bref, il y a peut-être une ou deux bonnes journées de travail et de débogage si tout va bien, mais je pense que c’est réalisable.
Maintenant, il est vrai que ça dépend du résultat final que tu souhaites avoir.
Si ça peut t’aider, Pedro…
Autre précision : dans le source d'EliP, il y a des SUB qui mettent en application les actions ci-dessus.
Bonne programmation ! | |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Objet Hviewer. Mer 15 Juil 2020 - 19:38 | |
| Bonsoir. Je viens de tester le code suivant, qui ne fonctionne pas: - Code:
-
full_space 0
hviewer 1 width 1,800 height 1,500
list 2 top 2,550 width 2,800 height 2,400
file_load 1,"c:\larousse\laroussev\vacarme.htm" content_copy 1,2 | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Objet Hviewer. Mer 15 Juil 2020 - 19:46 | |
| Salut Pedro ! Je te donne le code-source que je commençais à écrire : - Code:
-
' HTML to TXT ' Marc - 14 juillet 2020 DIM a$,b$, nomFichier$, cheminFichier$ LABEL ouvrir, convertir, enregistrer, redimensionner interface() END
SUB interface() WIDTH 0,1200 HEIGHT 0,700 LEFT 0,(SCREEN_X - WIDTH(0))/2 TOP 0,(SCREEN_Y - HEIGHT(0))/2 COLOR 0,80,80,80 ON_RESIZE 0,redimensionner BUTTON 1 TOP 1,15 LEFT 1,10 CAPTION 1,"Ouvrir" ON_CLICK 1,ouvrir
BUTTON 2 TOP 2,15 LEFT 2,100 CAPTION 2,"Convertir" ON_CLICK 2,convertir
BUTTON 3 TOP 3,15 LEFT 3,190 CAPTION 3,"Enregistrer" ON_CLICK 3,enregistrer
MEMO 4 TOP 4,50 LEFT 4,10 HEIGHT 4,HEIGHT_CLIENT(0) - 60 WIDTH 4,WIDTH_CLIENT(0) - 20 BAR_BOTH 4 END_SUB
ouvrir: IF OBJECT_EXISTS(5)=0 THEN OPEN_DIALOG 5 FILTER 5,"HTML Files|*.html;*.htm" a$=FILE_NAME$(5) IF a$="_" THEN RETURN CAPTION 0,"HTML to TXT Fichier : " + a$ FILE_LOAD 4,a$ cheminFichier$ = FILE_EXTRACT_PATH$(a$) nomFichier$ = FILE_EXTRACT_NAME$(a$) nomFichier$ = LEFT$(nomFichier$,INSTR_LAST(nomFichier$,".")-1) RETURN
convertir: ' suppression balises RETURN
enregistrer: IF OBJECT_EXISTS(6)=0 THEN SAVE_DIALOG 6 FILTER 6,"Texte Files|*.txt" DIR_DIALOG 6,cheminFichier$ FILE_DIALOG 6,nomFichier$ a$ = FILE_NAME$(6) IF a$ = "_" OR a$ = "" THEN RETURN IF FILE_EXISTS(a$) = 1 IF MESSAGE_CONFIRMATION_YES_NO("Le fichier existe. Le remplacer ?") <> 1 THEN RETURN END_IF b$=UPPER$(a$) IF RIGHT$(b$,4) <> ".TXT" THEN a$ = a$+".txt" FILE_SAVE 4,a$ RETURN
redimensionner: HEIGHT 4,HEIGHT_CLIENT(0) - 60 WIDTH 4,WIDTH_CLIENT(0) - 20 RETURN
Il me reste toute la partie conversion à coder. | |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Objet Hviewer. Mer 15 Juil 2020 - 20:04 | |
| Bonsoir.
Merci Marc de ton aide.
Mais ta solution ne me convient pas, désolé.
L'aide de la commande content_copy ne propose que la copie d'un objet Dlist vers un objet Hviewer.
Dommage ! | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Objet Hviewer. Mer 15 Juil 2020 - 20:06 | |
| @Pedro: Pour ton source qui ne fonctionne pas, je te propose cette variante qui fonctionne chez moi : - Code:
-
full_space 0
hviewer 1 width 1,800 height 1,500
list 2 top 2,550 width 2,800 height 2,400
file_load 1,"c:\larousse\laroussev\vacarme.htm" file_load 2,"c:\larousse\laroussev\vacarme.htm"
| |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Objet Hviewer. Mer 15 Juil 2020 - 20:09 | |
| Oui, ton code fonctionne bien, mais le résultat n'est pas celui escompté !
Je souhaiterais visualiser le texte visible, et non le code html.
| |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Objet Hviewer. Mer 15 Juil 2020 - 20:12 | |
| C’est bien ce que je pensais. Il faut filtrer pour supprimer toutes les balises HTML et scripts. | |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Objet Hviewer. Jeu 16 Juil 2020 - 20:15 | |
| Bonsoir. Afin d'éliminer les caractères situés entre deux balises, il existe une commande bien pratique, de notre ami Klaus. Cette fonction peut être utilisée, comme dans l'exemple suivant: - Code:
-
dim te$, chaine$, res%, balise_gauche$, balise_droite$
dll_on "kgf"
balise_gauche$=<"" balise_droite$=">"
chaine$="Test <img src='image1.jpg'> d'affichage."
te$=string$(len(chaine$)," ") res%=dll_call4("RemoveStringBetweenDelimiters",adr(chaine$),adr(balise_gauche$),adr(balise_droite$),adr(te$)) chaine$=trim$(te$) | |
| | | Contenu sponsorisé
| Sujet: Re: Objet Hviewer. | |
| |
| | | | Objet Hviewer. | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |