Page 3 sur 4
Re: [..] Recherche un bon prof en AUTOit
Posté : lun. 28 avr. 2014 15:34
par richy
oui ça je pense avoir compris mais c'est l'affichage dans le bouton comme sur un vrai clavier
Re: [..] Recherche un bon prof en AUTOit
Posté : lun. 28 avr. 2014 18:22
par Hugues
Bin dans l'exemple que je t'ai donné, si tu n’appuies pas sur la touche SHIFT, le texte du bouton est "Pas appuyé" et lorsque tu maintiens SHIFT, le texte du bouton est "Appuyé"...
A moins que ça soit moi qui ne comprenne pas ce que tu désires...
Re: [..] Recherche un bon prof en AUTOit
Posté : lun. 28 avr. 2014 18:43
par mikell
Hum si j'ai bien compris ça serait plutôt qqe chose comme ça
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <Misc.au3>
$gui = GUICreate("test")
$Button1 = GUICtrlCreateButton(" oui non ", 32, 40, 50, 40, $BS_MULTILINE+$BS_CENTER)
GuiSetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
If _IsPressed("10") Then
Msgbox(0,"", "non")
Else
Msgbox(0,"", "oui")
EndIf
EndSwitch
WEnd
Re: [..] Recherche un bon prof en AUTOit
Posté : mar. 29 avr. 2014 09:59
par richy
bonjour tout le monde merci pour toutes vos explications
merci miguel c'est bien cela que je cherchais j'avais trouvé dans le tutorial mais je ne savais pas comment le mettre en oeuvre
est il possible d'y integré une boucle if then else dans le cas ou il y a 3 caractères
merci pour le modèle c'est plus compréhensible pour moi parce que je suis au début de l'apprentissage de ce merveilleux outil
je cherche aussi un modèle pour afficher des caractères spéciaux dans un bouton comme le chr en dec "251" ou en hex"FB"
merci encore pour vos interventions fructueuses
Re: [..] Recherche un bon prof en AUTOit
Posté : mar. 29 avr. 2014 10:08
par jchd
je cherche aussi un modèle pour afficher des caractères spéciaux dans un bouton comme le chr en dec "251" ou en hex"FB"
Deux possibilités : soit mettre dans une chaîne au sein d'un source sous encodage Unicode (UTF8), soit utiliser ChrW().
Re: [..] Recherche un bon prof en AUTOit
Posté : mar. 29 avr. 2014 11:16
par richy
bonjour,
merci pour ta réponse
je vais essayer par le chr sinon j'y affecterai la table en entier avec un tableau
je n'arrive pas à faire fonctionner la fonction factoriel y a t'il des cas particulier?
Re: [..] Recherche un bon prof en AUTOit
Posté : mar. 29 avr. 2014 11:41
par jchd
Je dis bien ChrW(), pas Chr().
20! est le maximum représentable par un entier signé sur 64 bits.
Re: [..] Recherche un bon prof en AUTOit
Posté : mar. 29 avr. 2014 13:36
par mikell
Parce qu'un exemple vaut de longs discours
► Afficher le texte
Code : Tout sélectionner
GuiCreate("",200, 80)
GuiSetFont(24, 400, 0, "Arial Unicode MS")
GuiCtrlCreateLabel(ChrW(9824),10,10,50,50)
GuiCtrlCreateLabel(ChrW(9829),50,10,50,50)
GUICtrlSetColor (-1, 0xff0000)
GuiCtrlCreateLabel(ChrW(9830),90,10,50,50)
GUICtrlSetColor (-1, 0xff0000)
GuiCtrlCreateLabel(ChrW(9827),130,10,50,50)
GuisetState()
while GuiGetMsg() <> -3
wend
Re: [..] Recherche un bon prof en AUTOit
Posté : mar. 29 avr. 2014 16:55
par richy
merci c'est super
j'ai avancé un peu mais je n'ai pas toujours trouvé les caractètes spéciaux comme le caractère racine dans cette police
est il possible d'afficher toute la table merci
Re: [..] Recherche un bon prof en AUTOit
Posté : mar. 29 avr. 2014 19:38
par jchd
Table de caractères en encodage Unicode et une police Unicode.
Re: [..] Recherche un bon prof en AUTOit
Posté : mar. 29 avr. 2014 22:27
par mikell
Où l'on reparle d'exemples et de discours
► Afficher le texte
Code : Tout sélectionner
GuiCreate("",200, 80)
GuiSetFont(24, 400, 0, "Arial Unicode MS")
GuiCtrlCreateLabel(chrw(dec('221a')),10,10,50,50)
GuiCtrlCreateLabel(chrw(dec('221b')),50,10,50,50)
GuiCtrlCreateLabel(chrw(dec('221c')),90,10,50,50)
GuisetState()
while GuiGetMsg() <> -3
wend
Sur mon vieux XP, j'ai : Démarrer > Programmes > Accessoires > Outils système > Table de caractères > Arial Unicode MS > U+221B > ∛
Re: [..] Recherche un bon prof en AUTOit
Posté : mer. 30 avr. 2014 09:03
par jchd
Oui, on peut aussi utiliser le bureau à distance pour clavioter et souricer à leur place...
Re: [..] Recherche un bon prof en AUTOit
Posté : mer. 30 avr. 2014 09:37
par richy
merci Mikell
j'avais un peu prés la meme chose il manquait seulement le u
moi je n'avais que des caractères accentués
pour la réponse du suivant je la trouve très maladroite
mais bon passons
Re: [..] Recherche un bon prof en AUTOit
Posté : ven. 02 mai 2014 09:34
par richy
bonjour tout le monde et merci encore pour vos aides
j'aimerais pour la calculette , pour l'affichage des trés grands nombres soit mettre un point tous les 1000 soit faire un décalage
exemple:1.185.579,75 ou bien 1 185 579,75.
est ce possible?
si oui quelles sont les possibilités?
Re: [..] Recherche un bon prof en AUTOit
Posté : ven. 02 mai 2014 10:44
par Hugues
Salut, oui c'est possible...
► Afficher le texte
Code : Tout sélectionner
; Splits into groups of three characters
$sInput = '568687976896,45'
$sOutput = StringRegExpReplace($sInput, '(^\d+?(?=(?>(?:\d{3})+)(?!\d))|\G\d{3}(?=\d))', '\1 ')
;StringRegExpReplace($sInput, '(^\d+?(?=(?>(?:\d{3})+)(?!\d))|\G\d{3}(?=\d))', '\1 ') ; -> Renvoi 568 687 976 896,45
;StringRegExpReplace($sInput, '(^\d+?(?=(?>(?:\d{3})+)(?!\d))|\G\d{3}(?=\d))', '\1.') ; -> Renvoi 568.687.976.896,45
MsgBox(0, "Result before and after", $sInput & @LF & $sOutput)
A plus.
Re: [..] Recherche un bon prof en AUTOit
Posté : ven. 02 mai 2014 13:23
par mikell
Intéressant le \G (je connaissais pas) mais il permet de faire plus simple
Code : Tout sélectionner
$sOutput = StringRegExpReplace($sInput, '\G(\d+?)(?=(\d{3})+(?:\D|$))', '$1.')
Re: [..] Recherche un bon prof en AUTOit
Posté : ven. 02 mai 2014 14:16
par jguinch
Ca pique les yeux là
Code : Tout sélectionner
$output = StringRegExpReplace($Number, '\G\d+?(?=(\d{3})+(?:\D|$))', '$0.')
Et pour les chiffres après la virgule ?
Re: [..] Recherche un bon prof en AUTOit
Posté : ven. 02 mai 2014 14:38
par richy
merci à tous
à voir pour les chiffres après la virgule , pour le moment j'ai mis seulement 3 chiffres.
je vais essayer de trouver un trés grand chifrre pi (au moins 50)
je ne comprends pas pourquoi la funct factorielle ne marche pas dans script il affiche 00
Re: [..] Recherche un bon prof en AUTOit
Posté : ven. 02 mai 2014 15:13
par mikell
jguinch a écrit :Et pour les chiffres après la virgule ?
Ben, c'est exprès... on sépare les milliers mais pas après la virgule, c'est l'intérêt du \G
Le point \G bloque l'expression quand il voit une virgule
On peut aussi utiliser (*COMMIT) , il y a une finesse que j'ai du mal à saisir dans la différence de fonctionnement entre les 2 dans le cas particulier de ce pattern, faudra demander à jc

Re: [..] Recherche un bon prof en AUTOit
Posté : ven. 02 mai 2014 19:25
par jchd
\G et (*COMMIT) n'ont pas du tout la même nature ni la même fonction bien que, dans certains cas, ils puissent produire le même effet et fournir le même résultat.
En gros \G est une assertion portant sur le fait que le point où elle est rencontrée coïncide avec le début du sujet ou avec l'offset dans le sujet où débute un nouveau "match" dans le cas des options 3 ou 4 de StringRegExp par exemple.
Si cette assertion est présente à l'identique dans toutes les branches de l'alternation (...|...|...) principale, \G se comporte comme un ancrage au même titre que ^ ou $.
(*COMMIT) est quant à lui le moyen de renoncer au "backtracking" (retour en arière pour évaluer d'autres possibilités) dès lors que le moteur le rencontre. C'est l'équivalent pour le code de la route d'un panneau de voie à sens unique : une fois passé ce panneau, il est interdit de reculer et bien sûr de faire demi-tour. En d'autres termes, c'est un mécanisme de cliquet vers l'avant qui, une fois enclenché, ne peut être désactivé. Passé (*COMMIT) le "pattern" doit aller au bout dans la branche où il s'est engagé : "la victoire ou la mort !"
En résumé, \G propose une condition portant sur l'endroit où une correspondance peut commencer alors que (*COMMIT) impose de poursuivre dans la voie où l'on se trouve engagé.