Page 1 sur 1
[R] Insérer var dans une run.
Posté : ven. 01 août 2014 20:55
par Nocriz
Bonjour a tous,
sa fait un moment que je traîne sur votre super forum et c'est la première fois que je viens vous solliciter.
j'essaie d’écrire un scripte simple qui permet d’éteindre le pc après un délais choisis , mais je ne parvient pas a placer de variables dans la commande "Run".
voici mon code, il est un peut sale mais je suis pas pro

.
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Form1", 314, 90, 254, 124)
GUISetBkColor(0x800000)
Global $Label1 = GUICtrlCreateLabel("Arreter le pc dans :", 16, 16, 93, 17)
GUICtrlSetColor(-1, 0xFFFFFF)
Global $Combo1 = GUICtrlCreateCombo("", 112, 16, 49, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
Global $Label2 = GUICtrlCreateLabel("Heur", 168, 16, 27, 17)
GUICtrlSetColor(-1, 0xFFFFFF)
Global $Combo2 = GUICtrlCreateCombo("", 200, 16, 49, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
Global $Label3 = GUICtrlCreateLabel("Minutes", 256, 16, 41, 17)
GUICtrlSetColor(-1, 0xFFFFFF)
Global $Button1 = GUICtrlCreateButton("Go!", 80, 48, 59, 33)
Global $Button2 = GUICtrlCreateButton("Annuler ", 176, 48, 59, 33)
GUISetState(@SW_SHOW)
Global $tempsheurs
Global $tempsminutes
Global $totaleheur
Global $totalminutes
Global $totaletemps
GUICtrlSetData ($Combo1, "1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24", "1")
GUICtrlSetData ($Combo2, "0|5|10|15|20|25|30|35|40|45|50|55", "0")
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
case $Combo1
$tempsheurs = GUICtrlRead($Combo1)
$totaleheur = $tempsheurs * 3600
ConsoleWrite ($tempsheurs&@CRLF)
ConsoleWrite ($totaleheur&@CRLF)
case $Combo2
$tempsminutes = GUICtrlRead($combo2)
$totalminutes = $tempsminutes * 60
ConsoleWrite ($tempsminutes&@CRLF)
ConsoleWrite ($totalminutes&@CRLF)
case $Button1
$totaletemps = $totaleheur + $totalminutes
run("shutdown -s -t "&$totaletemps)
case $Button2
run("shutdown -a")
EndSwitch
WEnd
la, si je lance sa éteint le pc directe sans délais.
comment pourrai-je faire?
Re: [..] Insérer var dans une run.
Posté : ven. 01 août 2014 21:41
par orax
Quand tu cliquais sur $Button1, le temps n'était pas calculé. Il n'était calculé que quand tu changeais les valeurs dans les combobox. Il fallait le calculer lors du clic sur $Button1 ("Go!").
J'ai également regroupé le calcul du temps dans une fonction.
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Form1", 314, 90, 254, 124)
GUISetBkColor(0x800000)
Global $Label1 = GUICtrlCreateLabel("Arreter le pc dans :", 16, 16, 93, 17)
GUICtrlSetColor(-1, 0xFFFFFF)
Global $Combo1 = GUICtrlCreateCombo("", 112, 16, 49, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
Global $Label2 = GUICtrlCreateLabel("Heur", 168, 16, 27, 17)
GUICtrlSetColor(-1, 0xFFFFFF)
Global $Combo2 = GUICtrlCreateCombo("", 200, 16, 49, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
Global $Label3 = GUICtrlCreateLabel("Minutes", 256, 16, 41, 17)
GUICtrlSetColor(-1, 0xFFFFFF)
Global $Button1 = GUICtrlCreateButton("Go!", 80, 48, 59, 33)
Global $Button2 = GUICtrlCreateButton("Annuler ", 176, 48, 59, 33)
GUISetState(@SW_SHOW)
GUICtrlSetData ($Combo1, "1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24", "1")
GUICtrlSetData ($Combo2, "0|5|10|15|20|25|30|35|40|45|50|55", "0")
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
case $Combo1 ; Ne sert plus à rien.
case $Combo2 ; Ne sert plus à rien.
case $Button1
$totaletemps = _tempsTotal()
run("shutdown -s -t "&$totaletemps)
case $Button2
run("shutdown -a")
EndSwitch
WEnd
Func _tempsTotal()
Local $tempsheurs
Local $tempsminutes
Local $totaleheur
Local $totalminutes
Local $totaltemps
$tempsheurs = GUICtrlRead($Combo1)
$totaleheur = $tempsheurs * 3600
ConsoleWrite ($tempsheurs&@CRLF)
ConsoleWrite ($totaleheur&@CRLF)
$tempsminutes = GUICtrlRead($combo2)
$totalminutes = $tempsminutes * 60
ConsoleWrite ($tempsminutes&@CRLF)
ConsoleWrite ($totalminutes&@CRLF)
$totaltemps = $totaleheur + $totalminutes
ConsoleWrite ($totaltemps&@CRLF)
Return $totaltemps
EndFunc
Re: [..] Insérer var dans une run.
Posté : sam. 02 août 2014 01:22
par TommyDDR
Sinon, vous avez la fonction "Shutdown" directement dans AutoIt (voir aide)
Re: [R] Insérer var dans une run.
Posté : sam. 02 août 2014 07:46
par Nocriz
C'est super merci, finalement c’était tout bête ^^'. et je vais me renseigner sur la fonction shutdown!
Merci bien!