Что нового

Часы (Простейшие)

GUIMish

Знающий
Сообщения
122
Репутация
12
AutoIt: 3.3.8.1
Версия: 1.5

Категория:Разное

Описание:
Часы (лат. Horologium ) вид часов, группа простейшие, прибор для определения текущего времени суток.
Вид часов входит в группу программ под названием простейшие. Компьютерная среда обитания.

Файл:AU3

Снимок:


Автор(ы): GUIMish
 

Mur

Осваивающий
Сообщения
132
Репутация
32
Понравился стиль этих часов, напомнили первые мои на батарейках) А так, слишком длинно
Код:
#include <WindowsConstants.au3>

Global $nCheck

GuiCreate("Timer",200,50, -1, -1, -1, $WS_EX_COMPOSITED)
$hLabel = GuiCtrlCreateLabel("", 10, 10, 180, 20)
GuiSetState()

While 1
    time()
    If GUIGetMsg() = -3 Then Exit
WEnd

Func time()
    If @SEC <> $nCheck Then
        GUICtrlSetData($hLabel, "The current time is " & @HOUR & ":" & @MIN & ":" & @SEC & ".")
        $nCheck = @SEC
    EndIf
EndFunc

намного проще...
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Mur [?]
намного проще...
Или так:
Код:
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>

GUICreate("Timer", 200, 50)
$iLabel = GUICtrlCreateLabel("", 0, 0, 200, 50, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 18, 800, 0, 'Tahoma')
GUISetState()

_TimeSet()
AdlibRegister('_TimeSet', 1000)

While GUIGetMsg() <> $GUI_EVENT_CLOSE
WEnd

Func _TimeSet()
    GUICtrlSetData($iLabel, @HOUR & ":" & @MIN & ":" & @SEC)
EndFunc
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
GUIMish
Нормально, конечно уровень ещё начинающий. Но если довёл расчёты до конца, значит потенциал есть. Остаётся только оптимизировать изучая примеры на форуме.

Например функция Miganie, пример что Switch намного меньше текста содержит.
Код:
Func Miganie()
   Switch @SEC
		  Case 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59
			   For $i = 2 to 1 Step -1
				  GUICtrlSetBkColor($l[$i], 0x000000)
			   Next
			Case 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58
			   For $i = 2 to 1 Step -1
				  GUICtrlSetBkColor($l[$i], 0xcfcfcf)
			   Next
   EndSwitch
EndFunc


А вот окончательно
Код:
Func Miganie()
	Local $Color = 0xcfcfcf
	If Mod(@SEC+4, 2) Then $Color = 0 ; если деление на 2 с остатком, то
	GUICtrlSetBkColor($l[1], $Color)
	GUICtrlSetBkColor($l[2], $Color)
EndFunc
 
Верх