[R] Horloge Spéciale

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
sRAKX
Niveau 1
Niveau 1
Messages : 5
Enregistré le : jeu. 12 août 2010 02:20
Status : Hors ligne

[R] Horloge Spéciale

#1

Message par sRAKX »

Serait-il possible de recréer cette horloge ultra simple dans le "design" comme vous pouvez vous en apercevoir, en AutoIt ?

Voir image !

Image

Si c'est possible je pourrais me passer de Samurize car je ne l'utilise que pour çà, je vous remercie d'avance.
Modifié en dernier par sRAKX le jeu. 12 août 2010 21:56, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Horloge Spéciale

#2

Message par Tlem »

Si vous avez installé le pack AutoIt Fr ou francisé les UDFs de date alors ceci devrait suffire :

Code : Tout sélectionner

#include <Date.au3>

MsgBox(0, '', _Horloge())

Func _Horloge()
    Local $DayName = _DateDayOfWeek(_DateToDayOfWeek(@YEAR, @MON, @MDAY))
    Local $MonName = _DateToMonth(@MON)
    local $Time = @HOUR & ":" & @MIN & ":" & @SEC
    Return $DayName & " " & @MDAY & " " & $MonName & " (" & @MON & ") " & @YEAR & " / " & $Time
EndFunc   ;==>_Horloge
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
sRAKX
Niveau 1
Niveau 1
Messages : 5
Enregistré le : jeu. 12 août 2010 02:20
Status : Hors ligne

Re: [..] Horloge Spéciale

#3

Message par sRAKX »

Bonjour,

Merci pour la rapidité de votre réponse, c'est exactement ce que je cherchais sauf que pour ce test j'ai tout en anglais, je pense que je vais devoir installer le Pack-FR dont vous parlez.

J'avais commencé à faire une interface graphique à l'aide de Koda :

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)

#Region ### START Koda GUI section ### Form=Form1.kxf
$Form1 = GUICreate("Horloge+", 514, 64, 756, 782)
GUISetFont(10, 400, 0, "Lucida Console")
GUISetBkColor(0x000000)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "Form1Minimize")
GUISetOnEvent($GUI_EVENT_MAXIMIZE, "Form1Maximize")
GUISetOnEvent($GUI_EVENT_RESTORE, "Form1Restore")
$LabelHeureDate = GUICtrlCreateLabel("HeureDate", 0, 0, 513, 63)
GUICtrlSetFont($LabelHeureDate, 14, 800, 0, "Lucida Console")
GUICtrlSetBkColor($LabelHeureDate, 0x000000)
$LabelHeureDatecontext = GUICtrlCreateContextMenu($LabelHeureDate)
$MenuItemQuitter = GUICtrlCreateMenuItem("Quitter =>", $LabelHeureDatecontext)
GUICtrlSetOnEvent($MenuItemQuitter, "MenuItemQuitterClick")
GUICtrlSetOnEvent($LabelHeureDate, "LabelHeureDateClick")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    Sleep(100)
WEnd

Func Form1Close()
Exit
EndFunc


Func LabelHeureDateClick()

EndFunc



Func MenuItemQuitterClick()
Exit
EndFunc
Ici le fichier Form1.kxf :
http://dl.free.fr/lNgsVOMlS

Ici une image de mon interface j'y ai ajouté un menu contextuel pour sortir de l'appli :

Image

Edit:Et mon PC n'est pas à l'heure, un comble haha :)

Edit2:

Peut-être vais-je abuser de votre patience et je m'en excuse mais il y a deux trois choses que je ne comprend pas, si vous pouviez m'aider...

1/ J'aimerais que mon interface n'ait pas les boutons d'outils en haut (fermer, agrandir, minimiser), je voudrais garder uniquement l'icone et la barre bleu (skinnable ?)

2/ Je ne comprend pas comment intégrer votre script pour l'heure dans la fenêtre principale de ma GUI sous forme d'un texte formaté, ça me dépasse, je comprend le MsgBox mais après... C'est très très flou.

Il est vrai que je suis sur AutoIt que depuis hier je pose probablement des questions idiotes...
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Horloge Spéciale

#4

Message par Tlem »

Vous n'êtes pas obligé d'installer le Pack Fr. Vous pouvez juste utiliser la francisation des UDFs.
Sinon, éditez vous même les fichiers Date.au3 et GuiMonthCal.au3 (du sous-dossier Include de AutoIt) afin de traduire le nom des jours de la semaine ainsi que le nom des mois.

Pour une interface sans menu et bouton, utilisez le style $WS_POPUP seul sur votre GUI.

Quand à mon script, j'avais devancé la demande en le mettant sous forme de fonction.
Si vous copiez cette fonction dans votre script, le simple appel à celle-ci appliquera la valeur de retour à une variable ou directement sur l'affichage (Selon comment vous comptez l'utiliser).
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
sRAKX
Niveau 1
Niveau 1
Messages : 5
Enregistré le : jeu. 12 août 2010 02:20
Status : Hors ligne

Re: [..] Horloge Spéciale

#5

Message par sRAKX »

Merci pour tout vos précieux conseils, je viens d'éditer les fichiers 'Date.au3 et GuiMonthCal.au3" et votre script test fonctionne en français et parfaitement.

Je vais maintenant me pencher sur "$WS_POPUP" en essayant de tout coder à la main, ça me permettra d'apprendre sans avoir un fichier externe pour ma GUI.

Puis je vais tâcher d'imbriquer votre code, j'imagine que c'est là que je vais avoir des surprises ahah.

AutoIt est vraiment puissant et souple dans l'utilisation, je m'étais déjà essayé au c++ et delphi mais c'est vraiment trop complexe pour un débutant autodidacte :)

Merci encore une fois, je ne manquerais pas de partager avec la communauté mes découvertes si ça peut aider.

Cordialement.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Horloge Spéciale

#6

Message par Tlem »

Voici un code très grossier, mais cela vous donnera une petite idée de ce qu'il est possible de faire :
► Afficher le texte
Je n'ai pas commenté le code, mais en faisant quelques recherches dans l'aide de AutoIt, vous aurez les réponses du comment et du pourquoi. ;)

Edit : De tête, il est possible de rendre le texte déplaçable, ou tout simplement d'attacher le texte à la barre de titre de la fenêtre active, mais bien évidemment cela complique le code d'autant plus. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
sRAKX
Niveau 1
Niveau 1
Messages : 5
Enregistré le : jeu. 12 août 2010 02:20
Status : Hors ligne

Re: [..] Horloge Spéciale

#7

Message par sRAKX »

Ahhhh mais c'est formidable ! Héhé :)

Une fois résolu le problème de "WinAPIEx.au3" en cherchant effectivement sur le forum j'ai vu le résultat, c'est parfait.

Je vais maintenant essayer de comprendre votre code et de bidouiller par-ci par là.

J'étais sur çà moi :

Code : Tout sélectionner

#include <GuiConstants.au3>
#include <Date.au3>
#NoTrayIcon
Opt('GuiOnEventMode', 1)

GuiCreate("Horloge+ v.01 - sRAKX pRODZ", 400, 100)
GuiSetIcon("icon.ico")
GuiSetOnEvent($GUI_EVENT_CLOSE, 'GuiExit')

; Menu Contextuel
$contextmenu = GuiCtrlCreateContextMenu()
GUICtrlCreateMenuItem("Quitter =>",$contextmenu)
GUICtrlCreateMenuItem("",$contextmenu) ; Séparateur
GUICtrlCreateMenuItem("A Propos...",$contextmenu)

Func _Horloge()
    Local $DayName = _DateDayOfWeek(_DateToDayOfWeek(@YEAR, @MON, @MDAY))
    Local $MonName = _DateToMonth(@MON)
    local $Time = @HOUR & ":" & @MIN & ":" & @SEC
    Return $DayName & " " & @MDAY & " " & $MonName & " (" & @MON & ") " & @YEAR & " / " & $Time
EndFunc   ;==>_Horloge


GuiSetState(@SW_SHOW)

While 1
    Sleep(500)
Wend

Func GUIExit()
    Exit
EndFunc
En fait j'utilisais le "NoTrayIcon" pour le faire en menu contextuel mais votre solution est bien meilleur, de plus je n'arrivais même pas à appeller la fonction, j'ai honte oui (-;
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Horloge Spéciale

#8

Message par Tlem »

N'oubliez pas la balise [R] dans le titre de votre premier message si votre sujet est résolu.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
sRAKX
Niveau 1
Niveau 1
Messages : 5
Enregistré le : jeu. 12 août 2010 02:20
Status : Hors ligne

Re: [R] Horloge Spéciale

#9

Message par sRAKX »

Voilà le [R] (-; merci encore, je n'ai pas l'habitude des forums, ça viendra.

Je lis les tutoriels du forum qui sont tous plus intéressants les uns que les autres pour améliorer le code, peut-être qu'au final ce sera une appli qui pourra servir à d'autres.

Cordialement.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Horloge Spéciale

#10

Message par Tlem »

Le sujet est vieux, mais il peut peut être vous intéresser :
http://www.autoitscript.com/forum/index ... opic=49386
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre