PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Champ PDF demande explication
Champ PDF demande explication
Débuté par GpEp, 16 oct. 2018 10:41 - 5 réponses
Membre enregistré
45 messages
Posté le 16 octobre 2018 - 10:41
Bonjour à tous

A l'aide d'un champ Lecteur PDF je dois simplement faire les actions suivantes :
- Charger un document .PDF dans le champ PDF dont le nom est LecteurDeDocuments1.
- Sélectionner l'intégralité du texte affiché dans le champ avec EnvoieTouche("^a",LecteurDeDocuments1)
- Copier cette sélection dans le presse-papier avec EnvoieTouche("^c",LecteurDeDocuments1)
Nota : les envoietouche fonctionnent parfaitement.

A l'exécution j'ai des résultats divers que je ne comprends pas !
- A la 1ère exécution j'ai souvent seulement une dizaine de caractères sélectionnés.
- Si relance purement et simplement la procedure j'ai parfois une partie un peu plus grande sélectionnée.
- Il me faut cliquer au moin 3 fois pour obtenir la totalité du texte.

Y a-t-il un évènement quelconque, que fait le lecteur pdf, qui peut ralentir l'exécution de mon code ?

Merci pour votre aide
Posté le 16 octobre 2018 - 11:15
Il ne faudrait pas attendre que le champ ait chargé complètement le pdf
mais aussi affiché complètement le pdf avant de faire le copier ?

Pour tester, met une pause de 5 secondes entre le chargement et le
copier ca te donnera une piste ?

eric l.

Le 16/10/2018 à 08:41, GpEp a écrit :
Bonjour à tous

A l'aide d'un champ Lecteur PDF je dois simplement faire les actions
suivantes :
- Charger un document .PDF dans le champ PDF dont le nom est
LecteurDeDocuments1.
- Sélectionner l'intégralité du texte affiché dans le champ avec
EnvoieTouche("^a",LecteurDeDocuments1)
- Copier cette sélection dans le presse-papier avec
EnvoieTouche("^c",LecteurDeDocuments1)
Nota : les envoietouche fonctionnent parfaitement.

A l'exécution j'ai des résultats divers que je ne comprends pas !
- A la 1ère exécution j'ai souvent seulement une dizaine de caractères
sélectionnés.
- Si relance purement et simplement la procedure j'ai parfois une partie
un peu plus grande sélectionnée.
- Il me faut cliquer au moin 3 fois pour obtenir la totalité du texte.

Y a-t-il un évènement quelconque, que fait le lecteur pdf, qui peut
ralentir l'exécution de mon code ?

Merci pour votre aide
Membre enregistré
45 messages
Posté le 16 octobre 2018 - 13:22
Merci pour ta réponse.
J'ai essayé avec une temporisation(5s) et çà à l'air de marcher.
J'avais déjà essayé temporisation(0) et temporisation(2s) mais ces durées d'attente étaient insuffisantes.
Ce qui me manque c'est de savoir ce qu'il faut attendre comme traitement en cours pour pouvoir mieux en préciser le délai.
Posté le 16 octobre 2018 - 14:17
tu peux attendre tant que ..NombrePageAccessible < ..NombrePage
là le doc est chargé

et ensuite un temporisation(tempoDessin) devrait faire le job ?

eric l.

> Le 16/10/2018 à 11:22, GpEp a écrit :
Merci pour ta réponse.
J'ai essayé avec une temporisation(5s) et çà à l'air de marcher.
J'avais déjà essayé temporisation(0) et temporisation(2s) mais ces
durées d'attente étaient insuffisantes.
Ce qui me manque c'est de savoir ce qu'il faut attendre comme traitement
en cours pour pouvoir mieux en préciser le délai.
Membre enregistré
45 messages
Posté le 17 octobre 2018 - 12:57
Merci infiniment c'est exactement la solution, de plus no, seulement j'obtiens immédiatement la sélection totale mais je me
suis aperçu que sans ta procédure je ne sélectionnais pas forcément les dernières lignes du champ PDF.

Néanmoins il me reste quand même un léger problème car je ne trouve pas comment désélectionner le texte PDF .

Si je clique simplement sur le contenu du champ la désélection est immédiate.

Par programmation j'ai essayé RepriseSaisie(LecteurDeDocuments1) et
EnvoieTouche("{BTNGAUCHE,10,10}", Handle(LecteurDeDocuments1)) ..
J'ai essayé des actions sur l'etat du champ ...
Celà ne marche pas : Aurais-tu une solution ?
Message modifié, 17 octobre 2018 - 12:59
Posté le 17 octobre 2018 - 15:11
J'aurais proposé la même bidouille que la tienne

> EnvoieTouche("{BTNGAUCHE,10,10}", Handle(LecteurDeDocuments1)) ..

mais si ca ne fonctionne pas alors là ?! :(

eric l.

> Le 17/10/2018 à 10:57, GpEp a écrit :
Merci infiniment c'est exactement la solution, de plus no, seulement
j'obtiens immédiatement la sélection totale mais je me
suis aperçu que sans ta procédure je ne sélectionnais pas forcément les
dernières lignes du champ PDF.

Néanmoins il me reste quand même un léger problème car je ne trouve pas
comment désélectionner le texte PDF .

Si je clique simplement sur le contenu du champ la désélection est
immédiate.

Par programmation j'ai essayé RepriseSaisie(LecteurDeDocuments1) et
EnvoieTouche("{BTNGAUCHE,10,10}", Handle(LecteurDeDocuments1)) ..
J'ai essayé des actions sur l'etat du champ ...
Celà ne marche pas : Aurais-tu une solution ?