1 (изменено: dvn, 2014-04-22 12:32:14)

Тема: AHK: замена времени графикой

Тут начал переделывать оболочку на магнилолу с WinCE 6.0, столкнулся с тем, что все написано в AHK.
Только начинаю немного разбираться.
Время и дата выводится в текстовом формате:

Gui, Font, s37, %rfont%
Gui, Add, Text, vMyTime 0x1 x100 y410 w600 h50
Gui, Font, s14, %rfont%
Gui, Add, Text, vMyDate 0x1 x100 y380 w600 h25

RefreshClock:
    ;обновление часов
    FMin = %A_Min%
    if (FMin<>FMin2) 
        {
        GuiControl, , MyTime, %A_Hour% : %A_Min%
        FMin2=%FMin%
        ;обновление даты
        FDay = %A_DD%
        if (FDay<>FDay2) 
            {
            Wday:=Day%A_WDay%
            Mon:=Mon%A_Mon%
            Day:=floor(FDay)
            GuiControl, , MyDate, %Wday%, %Day% %Mon% %A_YYYY%
            FDay2=%FDay%
            }
        }
return

Я нарисовал картинки (цифры 00.bmp-60.bmp) для этих целей.
Пробовал писать, но минуты не обновляются, а зависают на той, на которой было запущено.
Помогите написать условие?!

Картинки расположены, к примеру, \sdmmc\radio\numbers

2 (изменено: serzh82saratov, 2014-04-22 12:03:02)

Re: AHK: замена времени графикой

Попробуйте по аналогии, как на WinCE не знаю.

+ открыть спойлер

Gui Margin, 0, 0
Gui -Caption +AlwaysOnTop +E0x08000000 +E0x20 +Lastfound  
Gui Color, F2F5FA
WinSet, TransColor, F2F5FA 
Gui Add, Picture, vHour Border w100 h100
Gui Add, Picture, vMin Border x+5 wp hp
Gui Add, Picture, vSec Border x+5 wp hp
Gui Show, NA x5 y5 AutoSize 

Folder = \sdmmc\radio\numbers
arrcontrols := ["Hour","Min","Sec"] 

TimeUpdate:    
    for k, v in arrcontrols
        GuiControl, -Redraw, %v% 
    If PrHour != %A_Hour%
        GuiControl,, Hour, % "*w100 *h100 " Folder (PrHour := A_Hour) ".bmp"
    If PrMin != %A_Min%
        GuiControl,, Min, % "*w100 *h100 " Folder (PrMin := A_Min) ".bmp"
    GuiControl,, Sec, % "*w100 *h100 " Folder A_Sec ".bmp"  
    for k, v in arrcontrols
        GuiControl, +Redraw, %v% 
    SetTimer, TimeUpdate, % "-" (999 - A_MSec) + 100
    Return

я нарисовал картинки (цифры 00.bmp-60.bmp) для этих целей

А картинка 60 зачем?

---

Отредактируйте свой пост, заглавные буквы и знаки препинания никто не отменял!

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3 (изменено: serzh82saratov, 2014-04-22 12:25:33)

Re: AHK: замена времени графикой

А лучше покороче:

 
Gui -Caption +AlwaysOnTop +E0x08000000 +E0x20 +Lastfound  
Gui Color, F2F5FA
WinSet, TransColor, F2F5FA 
Gui Add, Picture, vHour Border w100 h100
Gui Add, Picture, vMin Border x+5 wp hp
Gui Add, Picture, vSec Border x+5 wp hp
Gui Add, Picture, vDD Border xm+55 y+5 wp hp
Gui Add, Picture, vMM Border x+5 wp hp
Gui Show, NA x5 y5  
 
Folder = \sdmmc\radio\numbers
 
TimeUpdate:    
    for k, v in ["Hour","Min","Sec","DD","MM"]  
    {
        GuiControl, -Redraw, %v% 
        If (Pr%v% != A_%v%)
            GuiControl,, %v%, % "*w100 *h100 " Folder (Pr%v% := A_%v%) ".bmp"
        GuiControl, +Redraw, %v% 
    } 
    SetTimer, TimeUpdate, % "-" (999 - A_MSec) + 100
    Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

4 (изменено: dvn, 2014-04-22 12:38:34)

Re: AHK: замена времени графикой

+ открыть спойлер
serzh82saratov пишет:

А лучше покороче:

 
Gui -Caption +AlwaysOnTop +E0x08000000 +E0x20 +Lastfound  
Gui Color, F2F5FA
WinSet, TransColor, F2F5FA 
Gui Add, Picture, vHour Border w100 h100
Gui Add, Picture, vMin Border x+5 wp hp
Gui Add, Picture, vSec Border x+5 wp hp
Gui Add, Picture, vDD Border xm+55 y+5 wp hp
Gui Add, Picture, vMM Border x+5 wp hp
Gui Show, NA x5 y5  
 
Folder = \sdmmc\radio\numbers
 
TimeUpdate:    
    for k, v in ["Hour","Min","Sec","DD","MM"]  
    {
        GuiControl, -Redraw, %v% 
        If (Pr%v% != A_%v%)
            GuiControl,, %v%, % "*w100 *h100 " Folder (Pr%v% := A_%v%) ".bmp"
        GuiControl, +Redraw, %v% 
    } 
    SetTimer, TimeUpdate, % "-" (999 - A_MSec) + 100
    Return

У меня Gui..... в одном файле прописано, а остальное в другом.

Также и вставлять?

Заменил свое условие, пишет ошибку на "for k, v in ["Hour","Min","Sec","DD","MM"] ".
Проверял на эмуляторе.

p.s. Цифры у меня нарисованы до 99, так как они еще используются для отображения громкости.

Со звуком вот так сделано:

+ открыть спойлер
Gui, Add, Picture, vVolP x70 y410 w100 h65

;обновляем громкость
RefreshRadioVol:
AUD_VOL:=DllCall(Aud_GetVolume)
    GuiControl,, Volv, %AUD_VOL%
       IfExist, %A_ScriptDir%\Skin\Radio\Volume\%AUD_VOL%.bmp
        {
        CVal1=%A_ScriptDir%\Skin\Radio\Volume\%AUD_VOL%.bmp
        CVal2=%A_ScriptDir%\Skin\Radio\Volume\%AUD_VOL%.bmp
        CName=VolP
        ButtonPress(CName, CVal1, CVal2, 0)
        }
   return

5

Re: AHK: замена времени графикой

У меня Gui..... в одном файле прописано, а остальное в другом.

Также и вставлять?

Непонятно.

Заменил свое условие, пишет ошибку на "for k, v in ["Hour","Min","Sec","DD","MM"] ".
Проверял на эмуляторе.

Может не поддерживает массивы, пробуйте

Loop, parse,

p.s. Цифры у меня нарисованы до 99, так как они еще используются для отображения громкости.

Делитесь картинками, проще на почту serzh82saratov@mail.ru

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

6

Re: AHK: замена времени графикой

Вот ссылка на картинки.
А это файлы отвечающие за радио.

7

Re: AHK: замена времени графикой

Может не поддерживает массивы, пробуйте Loop, parse


Controls = Hour|Min|Sec|DD|MM 

TimeUpdate:    
    Loop, parse, Controls, |
    { 
        If (v := A_LoopField) && (Pr%v% != A_%v%) && (Pr%v% := A_%v%)
        {
            GuiControl, -Redraw, % v
            GuiControl,, % v, % "*w100 *h100 " Folder v ".bmp"
            GuiControl, +Redraw, % v 
        } 
    } 
    SetTimer, TimeUpdate, % "-" (999 - A_MSec) + 100
    Return

Вот  ссылка на картинки.
А это файлы отвечающие за радио.

Спасибо за картинки. А про файлы я ничего не понял. Задавайте просто вопросы про конкретные проблемы.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

8

Re: AHK: замена времени графикой

serzh82saratov пишет:

А про файлы я ничего не понял. Задавайте просто вопросы про конкретные проблемы.

файлы AHK, думал наглядно посмотрите, как там все закручено)

9 (изменено: serzh82saratov, 2014-04-22 13:28:01)

Re: AHK: замена времени графикой

файлы AHK, думал наглядно посмотрите, как там все закручено)

Я понял что файлы AHK. Но долго придётся "раскручивать". Да и вопрос то собственно в чём?

Вот полностью рабочие часики:


#SingleInstance Force
#Persistent    
#NoEnv
SetBatchLines -1
ListLines Off  
Menu, Tray, Icon, Shell32.dll, 240

Folder = D:\Images\Цифры 100х65\
Controls = Hour|Min|Sec|DD|MM  
m = 2
Gui -Caption +AlwaysOnTop +E0x08000000 +E0x20 +Lastfound -DPIScale
Gui Color, F2F5FA
WinSet, TransColor, F2F5FA 
Gui Add, Picture, vHour w100 h65
Gui Add, Picture, vMin x+%m% wp hp
Gui Add, Picture, vSec x+%m% wp hp
Gui Add, Picture, % "vDD xm+" 50+m/2 " wp hp y+" m
Gui Add, Picture, vMM x+%m% wp hp
Gui Show, NA x5 y5  
 

TimeUpdate:    
    Loop, parse, Controls, |
    { 
        If (v := A_LoopField) && (Pr%v% != A_%v%) && ((Pr%v% := A_%v%) != "")
        { 
            GuiControl, -Redraw, % v
            GuiControl,, % v , % "*w100 *h65 " Folder Ceil(A_%v%) ".bmp"
            GuiControl, +Redraw, % v  
        } 
    } 
    SetTimer, TimeUpdate, % "-" (999 - A_MSec) + 100
    Return

В чём суть вашей проблемы?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

10

Re: AHK: замена времени графикой

Вот в чем:

+ открыть спойлер

https://downloader.disk.yandex.ru/preview/1861f7f4b3843d67c99c2a027e64058a/mpfs/DTpSYTN8ki_l2Dh8xvRsrIoPvbiJV-_v2di5ZrljI_rMZ0-AgP9pqEU6yLXajQZreAn62gIiktaMpHuWJ3p25Q%3D%3D?uid=0&amp;filename=20140422130344DeviceEmulatorpng&amp;disposition=inline&amp;hash=&amp;limit=0&amp;content_type=image%2Fpng&amp;size=XXL&amp;crop=0

Как оказалось, все связано с другим файлом(