FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Aujourd'hui à 19:12

» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 16:47

» track_bar circulaire
par Klaus Aujourd'hui à 13:54

» API Windows
par Klaus Aujourd'hui à 3:21

» Cartes de voeux, menus, etc.
par JL35 Hier à 17:48

» Mah-Jong européen new-look
par jjn4 Hier à 15:48

» a l'aide klaus
par Minibug Hier à 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Hier à 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 un petit lecteur navigateur PDF

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Invité
Invité



MessageSujet: un petit lecteur navigateur PDF   Ven 25 Oct 2013 - 2:14

Ce programme a été fait pour l'un de mes fils pour ses études, pour ne pas imprimer des pages pdf.

Je l'ai fait selon sa volonté de ne pas avoir trop de bouton. Le but est de mettre dans une liste tous les pdf et images (car ça marche aussi) d'un dossier, et d'en choisir 3 parmi la liste, et naviguer entre ses 3 fichiers à la fois, car évidemment on peut changer ensuite.

Ce programme je le mets ici, car je voudrai montrer un problème, ou même amener à une réflexion, sinon je ne pense pas qu'il aura beaucoup d'intérêt pour vous.

Pour ce programme, j'ai préféré utiliser un lecteur pdf "Sumatra" qui n'est pas une usine à gaz.

ici:
 

Parlons de mes remarques:
J'ai une SUB  lancer_lecture(n%,f$), et dans celle-ci j'essaye de choper le handle d'une form, et de boucler en attente que cette forme soit fermée. Pourquoi? car si on ne ferme pas la fenêtre du PDF, à chaque clic pour ouvrir un fichier, on accumule le nombre de fenêtre ouverte.

Çà marche, ou ça ne marche pas. C'est selon les fichiers. Il y a des fichier qui se recopie sans l'extension entre accolades dans le titre, et d'autres qui trouve une extension dans le nom, se qui fait que pour certains fichiers, on ne peut connaitre le handle de la fenêtre pdf.

Vous allez dire en voyant le programme, il y a une partie qui est: if 1 = 1....end_if.
On peut faire autrement! Et pourquoi je ne choisi pas cette solution? A vous de voir!Smile
Revenir en haut Aller en bas
Klaus

avatar

Nombre de messages : 10251
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: un petit lecteur navigateur PDF   Ven 25 Oct 2013 - 2:35

Dans KGF.dll, tu peux utiliser:

' trouver le handle d'un process à partir du nom de l'EXECUTABLE
res% = DLL_call1("GetProcessWindowHandle",adr(exe$))

' trouver le handle d'un process à partir du nom de l'EXECUTABLE ou d'une DLL
hnd% = dll_call1("GetWindowModuleHandle",adr(nom$))

' trouver le handle d'un process à partir d'une PARTIE du titre de la fenêtre (avec mode%=1)
res% = dll_call2("GetWindowByTitle",mode%,adr(titre$))

Cela pourra certainement t'aider pour trouver le handle dans tous les cas !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: un petit lecteur navigateur PDF   Ven 25 Oct 2013 - 2:59

Il me semblait bien que tu avais fait une dll là dessus.
Mais je voudrais soulever une nouvelle fois un problème, car celui-ci a déjà été soulevé par moi, au moins deux fois, sans aucune réaction.

Plutôt que de se servir comme je l'ai fait d'un handle de fenêtre, il y a execute_wait ! Pourquoi je ne l'utilise jamais? Car execute-wait est une usine à gaz. Je le mets en gros, car cette fois-ci j'aurai peut-être une réaction.

Si vous essayez le programme tel-qu’il est avec votre editeur pdf, et vous ouvrez le gestionnaire de tâche pour voir les performances, après stabilisation de la courbe, et relevé les niveaux, et ensuite, vous mettez: if 1=2 à la place de if 1 = 1, et transformé execute en execute_wait, vous refaites les mêmes testes, et constaté la différence.
Sur mon vieux XP et EEEPC, je tourne à 100%, et avec W7, 100%, puis ça arrive à descendre vers les 50%. Pour moi, ce n'est pas normal, qu'une simple instruction puisse faire celà.

Je voulais éviter de mettre une dll, car il y a un bon moment que je ne me suis pas mis à jour, et ce n'est pas mon ordi. Il faut que je retranspose celà.
Revenir en haut Aller en bas
Klaus

avatar

Nombre de messages : 10251
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: un petit lecteur navigateur PDF   Ven 25 Oct 2013 - 10:50

Je comprends que tu veuilles le faire sans DLL. Il y a effectivement un problème avec EXECUTE_WAIT, au niveau de la charge CPU.

C'est pour cela que j'utilise une fonction de KGF.dll qui correspond à EXECUTE (c'est dans "fonctions diverses" de la doc):

' lancer un programme et récupérer son handle
res% = DLL_call3("ExecuteProgram",adr(path$),adr(param$),adr(folder$))


Comme ça, j'ai le handle immédiatement, et je peux utiliser un timer pour détecter la fin du programme. Plus de problème de CPU...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: un petit lecteur navigateur PDF   Ven 25 Oct 2013 - 11:04

Ah j'ai changé mon message en se croisant.
J'avais un autre programme de teste pour montrer le problème, en espérant des réactions.
Il faut faire un exécutable du programme avec if 1 = 1 sous "demo_performance.exe", puis remettre if 1 = 2, et lancer le programme, faire les deux testes.
Le programme est fait, donc de cette façon tout le monde peut tester.

Code:
' programme en 2 parties
' partie 1 avec if 1 = 1, et faire un exécutable sous "demo_performance.exe", puis mettre if 1 = 2
  dim caption%
  if 1 = 1
     caption 0,"demo_performance"
     memo 1:full_space 1:item_add 1,"voir les performances du gestionnaire de tâche avant de fermer"
     item_add 1,"attendre le temps que la courbe se stabilise"
     ' faire un execuble avec ce programme avec if 1 = 1, avec le nom : demo_performance.exe
  else
     left 0,600
     if message_warning_yes_no("YES pour boucle execute - ou - NO pour execute_wait") = 1
        ' on fait le teste avec WAIT seul , sinon c'est avec execute_wait
        caption 0,"on attend l'ouverture de la fenêtre sinon <ESC>"
        execute "demo_performance.exe"
        repeat : pause 100 : until scancode = 0

        repeat : pause 500
            caption% = handle_form("demo_performance")
        until caption% > 0 or scancode = 27

        repeat : pause 500 :caption 0,handle_form("demo_performance")
        until handle_form("demo_performance") <> caption% or scancode = 27
     else
        execute_wait "demo_performance.exe"
     end_if
     terminate
  end_if
  
Revenir en haut Aller en bas
Klaus

avatar

Nombre de messages : 10251
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: un petit lecteur navigateur PDF   Ven 25 Oct 2013 - 11:31

Chez moi, sous XP-PRO SP3, EXECUTE_WAIT mange 50% de CPU, alors que la boucle avec EXECUTE ne mange que 1 à 2 %. Le problème est flagrant. A l'évidence, la détection de la fin du processus lancé par EXECUTE_WAIT n'est pas faite comme il faut.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: un petit lecteur navigateur PDF   Ven 25 Oct 2013 - 16:26

Bien, j'ai refais le programme avec kgf
programme:
 

Je rajouterai kgf sur la clé
Là pas de problème, ça marche. Merci Klaus.

J'ai apporté des modifications, car si cela fonctionnait bien avec les clics d'une souris, j'avais des problèmes avec un touche-pad.


Dernière édition par cosmos70 le Sam 26 Oct 2013 - 1:34, édité 1 fois
Revenir en haut Aller en bas
Jicehel

avatar

Nombre de messages : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: un petit lecteur navigateur PDF   Ven 25 Oct 2013 - 16:41

Ca à l'air sympa, je testerai ça dimanche aussi Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: un petit lecteur navigateur PDF   

Revenir en haut Aller en bas
 
un petit lecteur navigateur PDF
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Plugins Firefox pour sécuriser votre navigateur.
» Un petit bonjour / bonsoir !
» Petit Cafe Gratuit au McDo du 15 au 28 novembre
» besion d'aide language html lecteur de musique !! (Résolu)
» virus de navigateur internet

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Les inutilitaires-
Sauter vers: