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
» Button_picture
par pascal10000 Aujourd'hui à 11:41

» Pourquoi le compilateur stagne
par Minibug Aujourd'hui à 11:09

» 4 (en analyse): SYNEDIT_TARGET_IS_OBJECT devient inactif
par Jack Aujourd'hui à 10:09

» 3 (en analyse): Mauvaise interprétation du string "THEN"
par Jack Aujourd'hui à 10:03

» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Marc Aujourd'hui à 10:00

» KGF_dll - nouvelles versions
par pascal10000 Hier à 17:27

» Mah-Jong européen new-look
par Minibug Mar 12 Déc 2017 - 22:31

» track_bar circulaire
par Klaus Mar 12 Déc 2017 - 13:54

» API Windows
par Klaus Mar 12 Déc 2017 - 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 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

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 | 
 

 Click sur un objet externe a Panoramic

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4  Suivant
AuteurMessage
Minibug

avatar

Nombre de messages : 2412
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Click sur un objet externe a Panoramic   Ven 24 Oct 2014 - 11:11

Très bien klaus.

Comme je te disais précédemment :

- je peux sélectionner a la souris de gauche a droite en maintenant le bouton enfoncé.

- Un DOUBLE CLIC sélectionne le mot mais un TRIPLE CLIC ne permet pas la sélection complète du champ.

Est ce que cela te convient comme explication ou tu as besoin de plus ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Minibug

avatar

Nombre de messages : 2412
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Click sur un objet externe a Panoramic   Ven 24 Oct 2014 - 17:26

@Klaus :

J'ai fait une sélection auto qui permet lors d'un appui sur un bouton de déclencher la sélection et la copie d'un dizaine de champs avec l'importation dans le programme panoramic.

La chose bizarre c'est que je vois les champs passer en surlignage mais ils ne sont pas importés.
J'ai mis des PAUSE 200 entre chaque actions.

Je fais la même chose pour importer depuis le bloc note ou sur une page internet au lieu de SIEBEL et là, aucun soucis tout est pris en compte.

Pourtant le CTRL+C manuel fonctionne dans SIEBEL !!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: Click sur un objet externe a Panoramic   Ven 24 Oct 2014 - 19:23

Voici le code de la fonction MouseHighlight:
Code:
function MouseHighlight(xd,yd: integer):integer; stdcall; export;
begin
  MyMouseEvent( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 );
  MyMouseEvent( MOUSEEVENTF_MOVE, xd, yd, 0, 0 );
  MyMouseEvent( MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 );
  result := 0;
end;
Juste 3 lignes:
1. à la position actuelle, enfonce le bouton gauche de la souris et laisser enfoncé
2. décaler la souris horizontalement et/ou verticalement pour les valeurs xd, yd pixels
3. relâcher la souris

C'est exactement l'action fait au clavier. Est-ce que tu constates que la zone est au moins partiellement surlignée ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Minibug

avatar

Nombre de messages : 2412
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Click sur un objet externe a Panoramic   Ven 24 Oct 2014 - 19:33

La zone est bien surligné comme je te le disais plus haut.

Par contre, je crois que le problème c'est le CTRL+C. Et pourtant en manuel ca marche...
C'est la que je ne comprends pas. C'est pourquoi j'ai augmenté les PAUSE a 200.

Je verrai cela lundi maintenant car c'est le weekend et donc plus au boulot.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: Click sur un objet externe a Panoramic   Ven 24 Oct 2014 - 19:39

Donc, dans mon petit programme, c''est la ligne 49 avec SendSingleKey qui pose problème. Certainement la validité du handle. Je vais voir si je peux contourner cela. Mais si le texte est surligné, cela prouve que j'ai bien manoeuvré le curseur, et c'est déjà beaucoup. Patience...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: Click sur un objet externe a Panoramic   Ven 24 Oct 2014 - 20:26

Une question complémentaire: si tu tentes de récupérer le contenu de l'URL, est-ce que ça marche ? Je pense que ça se passe sous IE, et ça devrait marcher...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: Click sur un objet externe a Panoramic   Ven 24 Oct 2014 - 20:59

Recharge KGF.dll du WebDav (pas de changement de numéro de version). Et essaie le code suivant:
Code:
' test_recuperer_texte_autre_programme.bas

label touche
dim txt$, res%, hnd%, x%, y%, s$

caption 0,"Récupération de textes"
on_key_down 0,touche

alpha 1 : top 1,10 :left 1,10 : caption 1,"X:"
edit 11 : top 11,10 : left 11,30 : width 11,40 : inactive 11
alpha 2 : top 2,10 :left 2,100 : caption 2,"Y:"
edit 12 : top 12,10 : left 12,130 : width 12,40 : inactive 12
alpha 3 : top 3,10 :left 3,200 : caption 3,"Objet:"
edit 13 : top 13,10 : left 13,250 : width 13,80 : inactive 13

alpha 5 : top 5,40 : left 5,10 : caption 5,"ESC=localiser       A=capturer        B=Surligner+capturer    C=(B) pour Internet Explorer"
memo 31 : top 31,70 : left 31,10 : width 31,400 : height 31,300 : bar_both 31 : inactive 31

dll_on "KGF.dll"
' res% = dll_call1("DebugKGF",2)                    : ' supprimer cette ligne après les tests !

end

touche:
  if key_down_code=27   : ' pour localiser la zone à capter
    res% = dll_call2("GetAbsoluteMousePosition",adr(x%),adr(y%))
    hnd% = dll_call2("GetObjectUnderPosition",x%,y%)
    text 11,str$(x%)
    text 12,str$(y%)
    text 13,str$(hnd%)
    return
  end_if
  if key_down_code=65   : ' pour capter la zone localisée par ctrl/A - ctrl/C
    res% = dll_call2("AbsoluteMouseLeftClick",x%,y%)
    pause 100                                         : ' laisser le temps de l'affichage
    res% = dll_call5("SendSingleKey",hnd%,65,1,0,0)   : ' ctrl/A
    res% = dll_call5("SendSingleKey",hnd%,67,1,0,0)   : ' ctrl/C
    pause 200                                         : ' laisser le temps de la copie
    clear 31
    item_add 31,clipboard_string_paste$
    res% = dll_call1("BringWindowToForeground",handle(0))
    return
  end_if
  if key_down_code=66    : ' pour capter la zone localisée par surligner - ctrl/C
    res% = dll_call2("AbsoluteMousePosition",x%,y%)
    pause 100                                         : ' laisser le temps de l'affichage
    res% = dll_call2("MouseHighlight",200,0)
    pause 100                                         : ' laisser le temps de l'affichage
    s$ = string$(3000," ")
    res% = dll_call5("SendSingleKey",hnd%,67,1,0,0)   : ' ctrl/C
    clear 31
    item_add 31,trim$(s$)
    res% = dll_call1("BringWindowToForeground",handle(0))
  end_if                  : ' pour capter la zone localisée par surligner - copie spéciale IE
  if key_down_code=67
    res% = dll_call2("AbsoluteMousePosition",x%,y%)
    pause 100                                         : ' laisser le temps de l'affichage
    res% = dll_call2("MouseHighlight",200,0)
    pause 100                                         : ' laisser le temps de l'affichage
    s$ = string$(3000," ")
    res% = dll_call1("GetSelectedIEtext",adr(s$))
    clear 31
    item_add 31,trim$(s$)
    res% = dll_call1("BringWindowToForeground",handle(0))
  end_if
  return
Tu places le curseur sur le début du champ à capter, tu frappes Echap, puis la lettre C. Ca devrait marcher.


Dernière édition par Klaus le Sam 25 Oct 2014 - 1:35, édité 2 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Minibug

avatar

Nombre de messages : 2412
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Click sur un objet externe a Panoramic   Ven 24 Oct 2014 - 21:17

Comme je te disais, je ne suis plus sur mon lieu de travail, donc je n'ai pasl'outil a porté de main...
Mais je regarderai lundi.

Si tu veux voir comment j'ai mis en œuvre tes propositions regarde sur mon WEBDAV.
Télécharge le dossier CREAFICHE et met tout ca sur la racine du C:

Ca me permet de mettre en œuvre les positions x, y des champs
avec un test en import et export. Pour l'export ca fonctionne.

- Tu dois selectionner les champs a utiliser en cochant a droite pour activer
- clique sur le bouton pour choisir une position
- Pose la souris au bon endroit
- appui sur une touche

Le tout est mémorisé automatiquement dans le fichier positions.txt sous forme de grid.

Pour le test appui sur le grand bouton en bas.

Dis moi ce que tu en penses....

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: Click sur un objet externe a Panoramic   Sam 25 Oct 2014 - 0:55

J'ai testé ton programme selon le mode d'emploi que tu me donnes. Après quelques tâtonnements (parce que je voulais aller trop vite...), j'ai fait marcher le programme, sous Internet Explorer, sur une page du Formu Panoramic. Je peux récupérer le contenu des zones de saisie, sans problème. Ca marche bien.

Bravo pour la conception et la mise en page. Je pense qu'avec la modif que j'ai apportée dans le post précédent, tu devrais y arriver également pour Siebel. A moins qu'au niveau du Java-Script de la page, ils aient pris des mesures particulières pour prévenir justement cela. Ce n'est pas impossible.

EDIT

Je viens de modifier le code dans le post précédent, en donnant 3 possibilités de récupérer:
A. par ctrl/A - ctrl/C
B. par surlignage - ctrl/C
C. par surlignage - copie spéciale Internet Explorer

C'est donc cette dernière possibilité qui est nouvelle et que je te suggère...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Minibug

avatar

Nombre de messages : 2412
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Click sur un objet externe a Panoramic   Sam 25 Oct 2014 - 11:13

Bonjour tous le monde !

@Klaus, au secours...

Je viens de charger ton code et la dernière version de KGF il y a quelques minutes.
Et je m'aperçois que ca ne fonctionne pas avec la dernière fonction (C. par surlignage - copie spéciale Internet Explorer).

J'ai essayé dans IE et dans les autres fenêtres mais rien n'apparait

Est ce moi ou bien ??!!!

Citation :
A moins qu'au niveau du Java-Script de la page, ils aient pris des mesures particulières pour prévenir justement cela. Ce n'est pas impossible.

Je pense aussi, mais alors comment expliquer que le glissé déplacé de la souris avec le CTRL+C en manuel fonctionne et pas en mode auto comme on le programme ?

Y a t il une différence entre les deux ? As tu une explication ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: Click sur un objet externe a Panoramic   Sam 25 Oct 2014 - 19:44

Pas vraiment. Essaie d'utiliser cela sur une page internet ne dépendant pas de Siebel. Ouvre une page internet qui contient une ou plusieurs zones de saisie (forum internet, page login avec zone identifiant, page recherche avec critère de recherche etc, une page de contact avec ses zones etc). Et essaie de récupérer ces informations de cette manière.
C'est ce que j'ai fait pour tester cela dans Internet Explorer. Voici ce que ça donne avec la page de création d'un nouveau message, dans le forum Panoramic:

Là, j'ai récupéré le texte du message. Mais ça marche de façon identique pour l'identifiant ou le titre. Je rappelle le mode opératoire:
1. placer le curseur au début de la zone à récupérer, sans cliquer
2. frapper Echap (ESC)
3. frapper la lettre C
==> le texte de la zone apparaît.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Minibug

avatar

Nombre de messages : 2412
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Click sur un objet externe a Panoramic   Sam 25 Oct 2014 - 20:32

Désolé Klaus.
Mais ca ne marche pas chez moi même dans les pages internet...

Es tu sur que la dll est la bonne ? cela dit je n'ai pas de message d'erreur...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: Click sur un objet externe a Panoramic   Sam 25 Oct 2014 - 21:03

A tout hasard, j'ai recopié KGF.dll dans le WebDav, dossier DLLs. Et voici le code du programme de test:
Code:
' test_recuperer_texte_autre_programme.bas

label touche
dim txt$, res%, hnd%, x%, y%, s$

caption 0,"Récupération de textes"
on_key_down 0,touche

alpha 1 : top 1,10 :left 1,10 : caption 1,"X:"
edit 11 : top 11,10 : left 11,30 : width 11,40 : inactive 11
alpha 2 : top 2,10 :left 2,100 : caption 2,"Y:"
edit 12 : top 12,10 : left 12,130 : width 12,40 : inactive 12
alpha 3 : top 3,10 :left 3,200 : caption 3,"Objet:"
edit 13 : top 13,10 : left 13,250 : width 13,80 : inactive 13

alpha 5 : top 5,40 : left 5,10 : caption 5,"ESC=localiser      A=capturer        B=Surligner+capturer    C=(B) pour Internet Explorer"
memo 31 : top 31,70 : left 31,10 : width 31,400 : height 31,300 : bar_both 31 : inactive 31

dll_on "KGF.dll"
' res% = dll_call1("DebugKGF",2)                    : ' supprimer cette ligne après les tests !

end

touche:
  if key_down_code=27  : ' pour localiser la zone à capter
    res% = dll_call2("GetAbsoluteMousePosition",adr(x%),adr(y%))
    hnd% = dll_call2("GetObjectUnderPosition",x%,y%)
    text 11,str$(x%)
    text 12,str$(y%)
    text 13,str$(hnd%)
    return
  end_if
  if key_down_code=65  : ' pour capter la zone localisée par ctrl/A - ctrl/C
    res% = dll_call2("AbsoluteMouseLeftClick",x%,y%)
    pause 100                                        : ' laisser le temps de l'affichage
    res% = dll_call5("SendSingleKey",hnd%,65,1,0,0)  : ' ctrl/A
    res% = dll_call5("SendSingleKey",hnd%,67,1,0,0)  : ' ctrl/C
    pause 200                                        : ' laisser le temps de la copie
    clear 31
    item_add 31,clipboard_string_paste$
    res% = dll_call1("BringWindowToForeground",handle(0))
    return
  end_if
  if key_down_code=66    : ' pour capter la zone localisée par surligner - ctrl/C
    res% = dll_call2("AbsoluteMousePosition",x%,y%)
    pause 100                                        : ' laisser le temps de l'affichage
    res% = dll_call2("MouseHighlight",200,0)
    pause 100                                        : ' laisser le temps de l'affichage
    s$ = string$(3000," ")
    res% = dll_call5("SendSingleKey",hnd%,67,1,0,0)  : ' ctrl/C
    clear 31
    item_add 31,trim$(s$)
    res% = dll_call1("BringWindowToForeground",handle(0))
  end_if                  : ' pour capter la zone localisée par surligner - copie spéciale IE
  if key_down_code=67
    res% = dll_call2("AbsoluteMousePosition",x%,y%)
    pause 100                                        : ' laisser le temps de l'affichage
    res% = dll_call2("MouseHighlight",200,0)
    pause 100                                        : ' laisser le temps de l'affichage
    s$ = string$(3000," ")
    res% = dll_call1("GetSelectedIEtext",adr(s$))
    clear 31
    item_add 31,trim$(s$)
    res% = dll_call1("BringWindowToForeground",handle(0))
  end_if
  return

Et voici le mode opératoire:
1. ouvrir Internet Explorer
2. naviguer jusqu'à la page web choisie, comme par exemple dans le forum Panoramic, la page de création d'un nouveau message
3. saisir des infos dans les zones identifiant, titre et message, SANS l'envoyer
4. lancer le code ci-dessus, et placer la fenêtre par-dessus celle d'Internet Explorer
5. placer le curseur au début de la zone à récupérer, sans cliquer
6. frapper Echap (ESC)
7. frapper la lettre C
==> le texte de la zone apparaît.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Minibug

avatar

Nombre de messages : 2412
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Click sur un objet externe a Panoramic   Sam 25 Oct 2014 - 21:57

Bonsoir Klaus !

Après vérification de différents paramétrages, ca fonctionne.
Je ne comprends pas pourquoi cela bloqué ? scratch scratch

J'ai quelques clics ou le positionnement n'est pas pris et reste sur le précèdent.

Peut il y a voir un rapport entre les 200 pixels de :
Citation :
res% = dll_call2("MouseHighlight",200,0)

Et les 3000 caractères de :
Citation :
s$ = string$(3000," ")
res% = dll_call1("GetSelectedIEtext",adr(s$))

En tout cas encore merci pour cette avancée.

J'ai mis en œuvre dans creafiche et copcol le programme qui gère la récupération et la gestion des importations.

En espérant que cela fonctionne sur SIEBEL. On verra lundi...
Encore un grand merci Klaus pour ton aide et le temps passé !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: Click sur un objet externe a Panoramic   Sam 25 Oct 2014 - 22:22

Citation :
Peut il y a voir un rapport entre les 200 pixels de :
Citation :
   res% = dll_call2("MouseHighlight",200,0)
La valeur 200 est choisie arbitrairement pour déterminer la distance horizontale du glissement de la souris en surlignage. Ce sont des pixels. Il faut évidemment adapter cela à tes besoins. Sur mon écran, cela correspond à 10 cm, environ. Mais ça dépend de l'écran. A expérimenter.

Citation :
Et les 3000 caractères de :
Citation :
   s$ = string$(3000," ")
   res% = dll_call1("GetSelectedIEtext",adr(s$))
La valeur 3000 est lalongueur maximale des données attendues. Cela aussi est choisi arbitrairement. Si 3000 ne suffisent pas, tu mettre 10000, 130000 etc, selon tes besoins. Il faut juste donner une valeur pour réserver l'espace et l'initialiser par des blancs.

Avec la DLL telle qu'elle est, et le code posté ci-dessus, je peux capter les 3 zones du formulaire de création de message du forum Panoramic, mais aussi d'autres zones... Mieux, je peux même capter me mot de passe saisi, sous les points qui s'affichent:

y compris la faute de frappe dans le pseudo-mot de passe: pourledémo

Bien sûr, pour chaque capture d'un champ différent, il faut repartir au point (5) en plaçant le curseur au début de la nouvelle zone visée, puis (6) frapper Echap, puis (7) frapper C.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Minibug

avatar

Nombre de messages : 2412
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Click sur un objet externe a Panoramic   Sam 25 Oct 2014 - 22:39

Merci pour tes explications Klaus.

C'était pour mieux comprendre le fonctionnement de l'ensemble. C'est parfait.

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Minibug

avatar

Nombre de messages : 2412
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Click sur un objet externe a Panoramic   Lun 27 Oct 2014 - 16:50

Bonjour tout le monde,

Klaus, je ne suis pas passé par là ce matin par manque de temps. Désolé.

Bon, après quelques tests ça ne fonctionne pas.
Mais c'est bizarre car ça fait bien le surlignage, mais c'est tout.

Et même en test sur la page du forum, rien de copié !!!

Le surlignage s'effectue toujours correctement et c'est tout, quelque soit la base:
Page internet, éditeur Panoramic...

Je comprends pas !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: Click sur un objet externe a Panoramic   Lun 27 Oct 2014 - 17:04

Pour que ça marche, il fait 3 conditions:
- il faut que la page en question soit soit chargée dans  Internet Explorer
- il faut que ce soit un champ de saisie qui est visé (genre EDIT)
- il faut utiliser Echap pour cibler le champ, puis la lettre C pour capter le contenu.

Pour Firefox:
- charger la page dans Firefox
- il faut que ce soit un champ de saisie qui est visé (genre EDIT)
- il faut utiliser Echap pour cibler le champ, puis la lettre A pour capter le contenu.

EDIT 1

Sous Firefox, si tu fais la capture en-dehors d'une zone de saisie, tu captures en fait le texte de toute la page (par Echap puis A).

EDIT 2

La partie Internet Explorer (Echap suivi de la lettre C) marche même en-dehors d'une zone de saisie, dans n'importe quelle portion de la page. On récupère le texte tel qu'il est surligné.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Minibug

avatar

Nombre de messages : 2412
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Click sur un objet externe a Panoramic   Lun 27 Oct 2014 - 19:00

Oui je suis bien d'accord klaus.

Sauf que la cela ne fonctionne pas...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Minibug

avatar

Nombre de messages : 2412
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Click sur un objet externe a Panoramic   Lun 27 Oct 2014 - 19:15

J'ai essayé plien de choses différente...

Par contre j'ai eu a plusieurs reprise cette erreur :

http://i39.servimg.com/u/f39/17/69/92/91/erreur10.png
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Minibug

avatar

Nombre de messages : 2412
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Click sur un objet externe a Panoramic   Lun 27 Oct 2014 - 19:15

J'ai essayé plein de choses différentes...

Par contre j'ai eu a plusieurs reprises cette erreur :

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: Click sur un objet externe a Panoramic   Lun 27 Oct 2014 - 19:27

Comment ça, "ça ne marche pas" ... Voici ce que j'obtiens:

avec le curseur placé devant le mot "Langage"

et

avec le curseur placé au début de ton message

Reprends KGF.dll sur le WebDav - tu as peut-être un problème de version. Ce n'est pas impossible.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Minibug

avatar

Nombre de messages : 2412
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Click sur un objet externe a Panoramic   Lun 27 Oct 2014 - 22:17

Je n'y comprends plus rien !!!

Je rentre chez moi et je refais je test qui pourtant fonctionnait ce matin avant de partir...

Et là, je n'ai que des plantages...

Entre temps j'ai rechargé la DLL a plusieurs reprises. c'est les seuls changements.
Mais rien n'y fait.

Je me demande d'où vient cette instabilité  et ces messages d'erreur sur KGF ??

As tu une idée sur les messages d'erreurs ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: Click sur un objet externe a Panoramic   Lun 27 Oct 2014 - 22:58

Non. Pas d'idée par rapport à cela. Il y a encore des instabilités (moins, toutefois) avsc Synedit_Editor, mais pas avec ces fonctions.

Et je viens de mettre une nouvelle fonction en ligne (et oui, il faut recharger la DLL, désolé). C'est GetSelectedText qui marche pour tout programme, que ce soit un programme Windows local, ou n'importe quel browser comme Internet Explorer, Firefox, etc.

Voici ma petite démo adaptée:
Code:
' test_recuperer_texte_autre_programme.bas

label touche
dim txt$, res%, hnd%, x%, y%, s$

caption 0,"Récupération de textes"
on_key_down 0,touche

alpha 1 : top 1,10 :left 1,10 : caption 1,"X:"
edit 11 : top 11,10 : left 11,30 : width 11,40 : inactive 11
alpha 2 : top 2,10 :left 2,100 : caption 2,"Y:"
edit 12 : top 12,10 : left 12,130 : width 12,40 : inactive 12
alpha 3 : top 3,10 :left 3,200 : caption 3,"Objet:"
edit 13 : top 13,10 : left 13,250 : width 13,80 : inactive 13

alpha 5 : top 5,40 : left 5,10 : caption 5,"ESC=localiser      A=capturer        B=Surligner+capturer    C=(B) pour Internet Explorer"
memo 31 : top 31,70 : left 31,10 : width 31,400 : height 31,300 : bar_both 31 : inactive 31

dll_on "KGF.dll"
' res% = dll_call1("DebugKGF",2)                    : ' supprimer cette ligne après les tests !

end

touche:
  if key_down_code=27  : ' pour localiser la zone à capter
    res% = dll_call2("GetAbsoluteMousePosition",adr(x%),adr(y%))
    hnd% = dll_call2("GetObjectUnderPosition",x%,y%)
    text 11,str$(x%)
    text 12,str$(y%)
    text 13,str$(hnd%)
    return
  end_if
  if key_down_code=65  : ' pour capter la zone localisée par ctrl/A - ctrl/C
    res% = dll_call2("AbsoluteMouseLeftClick",x%,y%)
    pause 100                                        : ' laisser le temps de l'affichage
    res% = dll_call5("SendSingleKey",hnd%,65,1,0,0)  : ' ctrl/A
    res% = dll_call5("SendSingleKey",hnd%,67,1,0,0)  : ' ctrl/C
    pause 200                                        : ' laisser le temps de la copie
    clear 31
    item_add 31,clipboard_string_paste$
    res% = dll_call1("BringWindowToForeground",handle(0))
    return
  end_if
  if key_down_code=66    : ' pour capter la zone localisée par surligner - ctrl/C
    res% = dll_call2("AbsoluteMousePosition",x%,y%)
    pause 100                                        : ' laisser le temps de l'affichage
    res% = dll_call2("MouseHighlight",200,0)
    pause 100                                        : ' laisser le temps de l'affichage
    s$ = string$(3000," ")
    res% = dll_call5("SendSingleKey",hnd%,67,1,0,0)  : ' ctrl/C
    clear 31
    item_add 31,trim$(s$)
    res% = dll_call1("BringWindowToForeground",handle(0))
  end_if                  : ' pour capter la zone localisée par surligner - copie spéciale IE
  if key_down_code=67
    res% = dll_call1("BringWindowToForeground",hnd%)
    res% = dll_call2("AbsoluteMousePosition",x%,y%)
    pause 100                                        : ' laisser le temps de l'affichage
    res% = dll_call2("MouseHighlight",200,0)
    pause 100                                        : ' laisser le temps de l'affichage
    s$ = string$(3000," ")
'    res% = dll_call1("GetSelectedIEtext",adr(s$))
    res% = dll_call1("GetSelectedText",adr(s$))
    clear 31
    item_add 31,trim$(s$)
    res% = dll_call1("BringWindowToForeground",handle(0))
  end_if
  return

La touche Echap sert comme avant à localiser le champ, et la touche C fait la copie, quelque soit la cible. C'est bien plus simple comme ça.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Minibug

avatar

Nombre de messages : 2412
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Click sur un objet externe a Panoramic   Mar 28 Oct 2014 - 9:55

Merci Klaus !

Je test ce matin...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Contenu sponsorisé




MessageSujet: Re: Click sur un objet externe a Panoramic   

Revenir en haut Aller en bas
 
Click sur un objet externe a Panoramic
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 4Aller à la page : Précédent  1, 2, 3, 4  Suivant
 Sujets similaires
-
» Click sur un objet externe a Panoramic
» Ajout d'un nouveau type d'objet dans une form Panoramic !
» Passer un objet devant les autres (ou derrière)
» [Résolu] Disque dur externe
» Opération sur objet EDIT

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: