Advertisement
BugFix

Example-OscarCtrl

Jul 27th, 2015
431
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 3.80 KB | None | 0 0
  1. #include <GUIConstantsEx.au3>
  2. #include 'OscarGraphics.au3'
  3.  
  4. Opt('GUIOnEventMode', 1)
  5.  
  6. Global $oCtrl = _OscarCtrl()   ; erstellt ein Objekt mit den Create- u. SetData-Methoden aller 3 Ctrl
  7. Global $hGui
  8.  
  9.  
  10. _Batterie()
  11. Sleep(750)
  12.  
  13. _Bulb()
  14. Sleep(750)
  15.  
  16. _Traffic()
  17. Exit
  18.  
  19. ;===================================================================================== Batterie ====
  20. Func _Batterie()
  21.     Local $iLeft = 200, $iTop = 30, $iPercent = 0
  22.     $hGui = GUICreate('_GUICtrlBatterieLevel', 300, 180)
  23.     GUISetOnEvent($GUI_EVENT_CLOSE, '_CloseGui')
  24.     Local $idBatterieLevel = $oCtrl.BatterieLevel_Create($iLeft, $iTop, $iPercent)
  25.     Local $idBatterieLevel2 = $oCtrl.BatterieLevel_Create(30, $iTop, $iPercent)
  26.     GUISetState(@SW_SHOW, $hGui)
  27.     Sleep(1000)
  28.     $oCtrl.BatterieLevel_SetData($idBatterieLevel2, 33)
  29.     For $iPercent = 1 To 100
  30.         $oCtrl.BatterieLevel_SetData($idBatterieLevel, $iPercent)
  31.         Sleep(20)
  32.     Next
  33.     $oCtrl.BatterieLevel_SetData($idBatterieLevel2, 66)
  34.     For $iPercent = 100 To 25 Step -1
  35.         $oCtrl.BatterieLevel_SetData($idBatterieLevel, $iPercent)
  36.         Sleep(50)
  37.     Next
  38.     $oCtrl.BatterieLevel_SetData($idBatterieLevel2, 100)
  39.     Sleep(1000)
  40.     $oCtrl.BatterieLevel_SetData($idBatterieLevel, 50)
  41.     Sleep(1000)
  42.     $oCtrl.BatterieLevel_SetData($idBatterieLevel, 75)
  43.     WinWaitClose($hGui)
  44. EndFunc
  45.  
  46. ;========================================================================================= Bulb ====
  47. Func _Bulb()
  48.     Local $iLeft = 30, $iTop = 30
  49.     $hGui = GUICreate('_GUICtrlLightBulb', 300, 180)
  50.     GUISetOnEvent($GUI_EVENT_CLOSE, '_CloseGui')
  51.     Local $idLightBulb1 = $oCtrl.LightBulb_Create($iLeft, $iTop, $LB_OFF)
  52.     Local $idLightBulb2 = $oCtrl.LightBulb_Create($iLeft + 150, $iTop, $LB_OFF)
  53.     GUISetState(@SW_SHOW, $hGui)
  54.     Sleep(500)
  55.     $oCtrl.LightBulb_SetData($idLightBulb1, $LB_ON)
  56.     Sleep(500)
  57.     $oCtrl.LightBulb_SetData($idLightBulb1, $LB_OFF)
  58.     For $i = 0 To 9
  59.         $oCtrl.LightBulb_SetData($idLightBulb2, Mod($i,2))
  60.         Sleep(500)
  61.     Next
  62.     WinWaitClose($hGui)
  63. EndFunc
  64.  
  65. ;====================================================================================== Traffic ====
  66. Func _Traffic()
  67.     Local $iLeft = 30, $iTop = 30
  68.     $hGui = GUICreate('_GUICtrlTrafficLight', 300, 180)
  69.     GUISetOnEvent($GUI_EVENT_CLOSE, '_CloseGui')
  70.     Local $idTrafficLight1 = $oCtrl.TrafficLight_Create($iLeft, $iTop, $TL_OFF)
  71.     Local $idTrafficLight2 = $oCtrl.TrafficLight_Create($iLeft + 130, $iTop, $TL_OFF)
  72.     GUISetState(@SW_SHOW, $hGui)
  73.  
  74.     Local Const $iBlinkTime = 500
  75.     Local Const $iPhaseTime = 2000
  76.     Local Const $iWaitRedTime = 1000
  77.     Local Const $iGreenTime = 8000
  78.     For $i = 0 To 4
  79.         $oCtrl.TrafficLight_SetData($idTrafficLight1, $TL_YELLOW) ; Ampel-1 gelb
  80.         $oCtrl.TrafficLight_SetData($idTrafficLight2, $TL_YELLOW) ; Ampel-2 gelb
  81.         Sleep($iBlinkTime)
  82.         $oCtrl.TrafficLight_SetData($idTrafficLight1, $TL_OFF) ; Ampel-1 aus
  83.         $oCtrl.TrafficLight_SetData($idTrafficLight2, $TL_OFF) ; Ampel-2 aus
  84.         Sleep($iBlinkTime)
  85.     Next
  86.     $oCtrl.TrafficLight_SetData($idTrafficLight1, $TL_GREEN) ; Ampel-1 grün
  87.     $oCtrl.TrafficLight_SetData($idTrafficLight2, $TL_RED) ; Ampel-2 rot
  88.     Sleep($iGreenTime)
  89.     Do
  90.         $oCtrl.TrafficLight_SetData($idTrafficLight1, $TL_YELLOW) ; Ampel-1 gelb
  91.         Sleep($iPhaseTime)
  92.         $oCtrl.TrafficLight_SetData($idTrafficLight1, $TL_RED) ; Ampel-1 rot
  93.         Sleep($iWaitRedTime)
  94.         $oCtrl.TrafficLight_SetData($idTrafficLight2, $TL_YELLOWRED) ; Ampel-2 gelb/rot
  95.         Sleep($iPhaseTime)
  96.         $oCtrl.TrafficLight_SetData($idTrafficLight2, $TL_GREEN) ; Ampel-2 grün
  97.         Sleep($iGreenTime)
  98.         $oCtrl.TrafficLight_SetData($idTrafficLight2, $TL_YELLOW) ; Ampel-2 gelb
  99.         Sleep($iPhaseTime)
  100.         $oCtrl.TrafficLight_SetData($idTrafficLight2, $TL_RED) ; Ampel-2 rot
  101.         Sleep($iWaitRedTime)
  102.         $oCtrl.TrafficLight_SetData($idTrafficLight1, $TL_YELLOWRED) ; Ampel-1 gelb/rot
  103.         Sleep($iPhaseTime)
  104.         $oCtrl.TrafficLight_SetData($idTrafficLight1, $TL_GREEN) ; Ampel-1 grün
  105.         Sleep($iGreenTime)
  106.     Until Not BitAND(WinGetState($hGui), 2)
  107. EndFunc
  108.  
  109. Func _CloseGui()
  110.     GUIDelete($hGui)
  111. EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement