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
» un nouveau editeur panobasic
par pascal10000 Hier à 21:52

» COMPILATEUR V 0.9 beta 7 du 10 aout 2017
par Jack Hier à 20:23

» Pb 16 (en analyse): ON_CLOSE plante à l'exécution
par Jack Hier à 20:00

» Pb 15 (en analyse): TIMER_ON plante à l'exécution
par Jack Hier à 19:58

» Compilateur FBPano
par jean_debord Hier à 8:49

» KGF_dll - nouvelles versions
par Yannick Dim 13 Aoû 2017 - 17:35

» probleme d'outil
par Yannick Dim 13 Aoû 2017 - 17:32

» Carte de France des régions
par Yannick Sam 12 Aoû 2017 - 21:33

» Pb 14 (en analyse): PRINT_LOCATE plante à l'exécution
par Jack Ven 11 Aoû 2017 - 22:37

» Petit avertissement [Mots réservés]
par papydall Ven 11 Aoû 2017 - 13:45

» Distances sur plan
par JL35 Jeu 10 Aoû 2017 - 21:29

» Tracé : Triangle, Carrée, Dents de scie, Sinusoïde redressée
par papydall Jeu 10 Aoû 2017 - 14:52

» Troncature dans une image
par JL35 Mer 9 Aoû 2017 - 13:45

» A chacun son point de vue
par papydall Mar 8 Aoû 2017 - 17:20

» Problème avec les chaines de caractères
par bignono Dim 6 Aoû 2017 - 9:33

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
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 : 10062
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 : 10062
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 : 10062
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 : 5849
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
-
» Petit lecteur
» Personnalisation du lecteur youtube
» Plugins Firefox pour sécuriser votre navigateur.
» Un petit bonjour / bonsoir !
» Petit Cafe Gratuit au McDo du 15 au 28 novembre

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