[..] Label + <a></a>: Gros challenge ou limite de autoit ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
zazapeta
Niveau 1
Niveau 1
Messages : 8
Enregistré le : jeu. 28 févr. 2013 20:21
Status : Hors ligne

[..] Label + <a></a>: Gros challenge ou limite de autoit ?

#1

Message par zazapeta »

Bonjour,
Je vous propose un challenge : Creer une fonction _GuiCtrlCreateHyperLabel qui fait ça :

Code : Tout sélectionner

$str = "Ceci est un exemple. Vous pourrez retrouver cette exemple sur <a href='www.autoit.fr'> Autoit </a> et sur <a href='www.google.fr'> google </a> ou bien encore sur <a href='www.AUTOITCGENIAL.com'> AutoiCGenial </a>."
$myLabel = _GuiCtrlCreateHyperLabel($hGui,$str,150,150,300,100)
 
Cette fonction permettra de creer un texte avec un lien un l’intérieure. Pour les habituer du HTML ça ne devrait pas poser de problème.
Pour les autres, la balise "<a href='monlien'> bla bla </a>" permet de transformer le texte "bla bla" en un lien hypertexte qui pointe sur 'monlien'. C'est du html.

J'ai cherché, cherché, cherché et encore cherché... no way ! Je pense que ce n'est pas possible de faire ça en autoit.

Détrompez moi !!!

Cordialement.
Et merci d'avance à toutes et à tous qui prendront le temps de me lire.
Zazapeta.
Modifié en dernier par zazapeta le lun. 07 oct. 2013 14:50, modifié 4 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Label + <a></a>: Gros challenge ou limite de autoit

#2

Message par jguinch »

Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
zazapeta
Niveau 1
Niveau 1
Messages : 8
Enregistré le : jeu. 28 févr. 2013 20:21
Status : Hors ligne

Re: [..] Label + <a></a>: Gros challenge ou limite de autoit

#3

Message par zazapeta »

Sérieux ??? :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock:
C'est exactement ça !!!!!!!!
En tout cas merci !
(je suis mauvais moi... :cry: )

Mais merci, merci, merci,merci mille fois !!!!!!!
EDIT :
Je clos le sujet.
Je réouvre le sujet ... car la solution proposer plus haut est trop *complex* :mrgreen:
Modifié en dernier par zazapeta le ven. 01 mars 2013 12:04, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Label + <a></a>: Gros challenge ou limite de autoit

#4

Message par jguinch »

J'ai cherché, cherché, cherché et encore cherché
Mouais....
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Label + <a></a>: Gros challenge ou limite de autoit

#5

Message par mikell »

+1 :mrgreen:

Surtout que ça peut se faire sans un code monstrueux
Même en respectant *à la lettre* le cahier des charges approximatif du post n°1 (ce qui n'est pas forcément souhaitable d'ailleurs) ça reste facile
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Label + <a></a>: Gros challenge ou limite de autoit

#6

Message par jguinch »

Mickell, avec ton code, où est passé le reste du texte "Ceci est un exemple. Vous pourrez retrouver cette exemple sur" ? :P
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Label + <a></a>: Gros challenge ou limite de autoit

#7

Message par mikell »

Bah
► Afficher le texte
C'est brouillon, c'est sommaire mais c'est juste pour l'idée ^^
Après tout l'usage des liens dans les gui c'est à 99% dans les boîtes "About", et se taper 800 Ko d'includes juste pour une boîte "About", personnellement c'est non :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
zazapeta
Niveau 1
Niveau 1
Messages : 8
Enregistré le : jeu. 28 févr. 2013 20:21
Status : Hors ligne

Re: [..] Label + <a></a>: Gros challenge ou limite de autoit

#8

Message par zazapeta »

En tout cas merci pour vos réponse.

@jguinchard
C'est donc possible. Toutefois, http://www.autoitscript.com/forum/topic ... slink-udf/ est un peu compliqué à mettre en place. Enfin compliqué, j'entend par là que j'ai pas mal de chose à faire en plus que de taper mon texte :P . Mais à regarder de plus près pour voir si y a pas un petit quelque chose à faire là pour automatiser tout c'est dummy et compagnie.

@Mickell
On en est arrivé au même point. :wink: J'ai à peu près implémenter la même chose. Sauf que je ne vois pas trop comment récupérer le texte original et y inclure mon lien.

Hier soir j'ai peut-être fermé le sujet un peu vite. Je le réouvre, car pour le moment :?: ....

Cordialement,
Zazapeta.
P.S.: J'ai modifié le cahier des charges. La fonction doit pouvoir gerer plusieurs liens à la fois. dans le texte.
Modifié en dernier par zazapeta le lun. 07 oct. 2013 14:51, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Label + <a></a>: Gros challenge ou limite de autoit

#9

Message par mikell »

Quelque chose comme ça ?
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
zazapeta
Niveau 1
Niveau 1
Messages : 8
Enregistré le : jeu. 28 févr. 2013 20:21
Status : Hors ligne

Re: [..] Label + <a></a>: Gros challenge ou limite de autoit

#10

Message par zazapeta »

Bonjour,

Je relance le sujet.
Pour palier à ce problème je suis passer à l'html (avec htmllayout.dll).

Est-ce trop compliqué ? En tout cas pour moi, oui.

Cordialement,

zazapeta

PS : J'ai essaye d'utiliser, de simplifier, d'integrer GUISyslink (posté plus haut). C'est pas facile. Si quelqu'un peut m'expliquer, je dis pas non.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Label + <a></a>: Gros challenge ou limite de autoit

#11

Message par mikell »

Si tu veux la simplicité tu as aussi l'option de tout faire en html avec un controle objet
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
zazapeta
Niveau 1
Niveau 1
Messages : 8
Enregistré le : jeu. 28 févr. 2013 20:21
Status : Hors ligne

Re: [..] Label + <a></a>: Gros challenge ou limite de autoit

#12

Message par zazapeta »

Merci mikell pour ta participation.
C'est ce que j'ai fait finalement. Un objet activeX pour y integrer mon texte et mes liens.
Poussons le bouchons. Est-il possible de communiquer entre l'html et autoit. Autrement dit, creer un bouton en html et y associer une action autoit. Cela reviens en effet à remplacer le Javascript par de l'autoit (sans passer par htmllayout bien entendu ^^). Un peu comme vbScript. Cela serait génial !

Question HORS SUJET :
Je pense de plus en plus à me tourner vers le javascript + .hta pour creer mon application. Est-il possible d'effectuer les même actions en JS qu'en VBS (et en autoit) (écriture registre, fichier, shellExecute, ect ...) ? Bien sur la perfection ça serait de pouvoir utiliser autoit (j'aime bien ce language ^^').

Cordialement,
zazapeta.
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Label + <a></a>: Gros challenge ou limite de autoit

#13

Message par timmalos »

On peut faire ca assez facilement. Dans cet exemple j'ai rajouté les evenements DWebBrowserEvents2, cf MSDN, mais vous pouvez les enlever.

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <IE.au3>

$oIE = ObjCreate("Shell.Explorer.2")
$EventObject=ObjEvent($oIE,"IEEvent_","DWebBrowserEvents2")
if @error then
   Msgbox(0,"AutoIt COM Test", _
    "ObjEvent: Can't use event interface 'DWebBrowserEvents'. Error code: " & hex(@error,8))
   exit
endif


$hGUI = GUICreate ("Test zazapeta", 800, 600) ;, 10, 50)
GUICtrlCreateObj($oIE, -2, -2, 800, 600)
_IENavigate($oIE, "about&#058;blank")
$oBody = _IETagnameGetCollection($oIE, "body", 0)
_IEDocInsertHTML($oBody, "<a href=http://www.autoitscript.fr>Navigate to http://www.autoitscript.fr</a><p>")
_IEDocInsertHTML($oBody, "<BUTTON id=b1 value='Normal Exit'>Normal Exit</button>&nbsp;")
_IEDocInsertHTML($oBody, "<BUTTON id=b2 value='Safe Exit'> Safe Exit </button>")

$oButton1 = _IEGetObjById($oIE, "b1")
$oButton2 = _IEGetObjById($oIE, "b2")
$oEvtButton1 = ObjEvent($oButton1, "evtButton_")
$oEvtButton2 = ObjEvent($oButton2, "evtButton_")

GUISetState()




While GUIGetMsg() <> $GUI_EVENT_CLOSE
  Sleep(10)
WEnd



$EventObject.Stop  ; Tell IE we don't want to receive events.
$EventObject=0   ; Kill the Event Object
exit


Func evtButton_onclick()
    Local $o_object = @COM_EventObj
    Switch $o_object.value
        Case "Normal Exit"
            Msgbox(0,"","Tu as cliqué sur le bouton Normal Exit")
        Case "Safe Exit"
            Msgbox(0,"","Tu as cliqué sur le bouton Safe Exit")
    EndSwitch
EndFunc

Func IEEvent_BeforeNavigate2($URL, $Flags, $TargetFrameName, $PostData, $Headers, $Cancel)
;   Note: the declaration is different from the one on MSDN.
    ConsoleWrite( "BeforeNavigate: " & $URL & " Flags: " & $Flags & " tgframe: " & $TargetFrameName & " Postdat: " & $PostData & " Hdrs: " & $Headers & " canc: " & $Cancel  & @CRLF )
EndFunc


Func IEEvent_StatusTextChange($Text)
    ConsoleWrite( "IE Status text changed to: " & $Text & @CRLF )
EndFunc

Func IEEvent_PropertyChange( $szProperty)
    ConsoleWrite( "IE Changed the value of the property: " & $szProperty & @CRLF )
EndFunc

Func IEEvent_DownloadComplete()
    ConsoleWrite( "IE has finished a navigation operation" & @CRLF )
    $oDoc=  _IEDocGetObj($oIE)
    ConsoleWrite( "-->Document cookie : "& $oDoc.cookie & @CRLF )
    ConsoleWrite( "-->Document title : "& $oDoc.title& @CRLF )
    ConsoleWrite( "-->Document referrer : "& $oDoc.referrer& @CRLF )
    ConsoleWrite( "-->Document url : "& $oDoc.url& @CRLF )


EndFunc

Func IEEvent_NavigateComplete($URL)
;   Note: the declaration is different from the one on MSDN.
    ConsoleWrite( "IE has finished loading URL: " & $URL & @CRLF )
EndFunc

Func IEEvent_($EventName)
; This is an optional event function to catch non-defined events.
; The parameter contains the name of the event being called.
    ConsoleWrite( "Uncatched event: " & $EventName & @CRLF )
EndFunc
Répondre