1 (изменено: equipment66, 2015-03-17 22:53:35)

Тема: AHK: Взаимозависимые DateTime

Здравствуйте,

Надобно организовать взаимозависимые DateTime, чтобы изменения в одном отображались в другом. Код АНК:


CoordMode, Tooltip, Screen
WorkStartTime :=

Gui, Add, Text, xm+16 ym+15 w150 h20 , Name:
Gui, Add, ComboBox, xp+180 yp w190 h21 disabled, Driver

Gui, Add, Text, xp-180 yp+35 w150 h20 , Work start time:
Gui, Add, DateTime, xp+180 yp w90 h20 vWorkStartDay gEnterWorkStartDate, 
Gui, Add, DateTime, xp+100 yp w90 h20 1 vWorkStartTime gEnterWorkStartTime Choose%WorkStartTime% , HH:mm

Gui, Add, Text, xp-280 yp+28 w150 h20 , Trip start time
Gui, Add, DateTime, xp+180 yp w90 h20 vTripStartDay gEnterTripStartdate, 
Gui, Add, DateTime, xp+100 yp w90 h20 vTripStartTime 1 gEnterTripStartTime, HH:mm 

Gui, Show, , Untitled GUI
Return

GuiClose: 
ExitApp

EnterWorkStartTime:
EnterWorkStartDate:
Gui, Submit, NoHide
eTime := SubStr(WorkStartTime, 9, 6)
eDate := SubStr(WorkStartDay, 1, 8)
WorkStartTime = %eDate%%eTime%

TripStartTime = %WorkStartTime%
TripStartDay = %WorkStartTime%

GuiControl, , TripStartTime, %TripStartTime%
GuiControl, , TripStartDay, %TripStartTime%

Tooltip, WorkStartTime: %WorkStartTime% `nTripStartTime: %TripStartTime%, 1000, 30, 15
Return

EnterTripStartTime:
EnterTripStartdate:
Return

При изменении в верхнем DateTime, в нижнем изменения не отображаются.
В документации такая возможность описана, если я правильно понял. Подскажите правильное решение, пожалуйста.

2

Re: AHK: Взаимозависимые DateTime

equipment66, не нужно создавать две одинаковые темы.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Взаимозависимые DateTime

teadrinker пишет:

equipment66, не нужно создавать две одинаковые темы.

Teadrinker, принято.

4

Re: AHK: Взаимозависимые DateTime

teadrinker пишет:

equipment66, не нужно создавать две одинаковые темы.

Уважаемый teadrinker, а можно вопрос перенести в общий раздел по АНК? здесь он явно неуместен и ответа навряд ли дождется. Или стереть его, я новый напишу в общем разделе?

5

Re: AHK: Взаимозависимые DateTime

Перенёс.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6 (изменено: equipment66, 2015-03-17 22:53:56)

Re: AHK: Взаимозависимые DateTime

Во общем, дошел до следующего:

1) В английской документации описано, что передача новой даты/времени возможна обычным способом, т.е.


GuiControl, , TripStartTime, %TripStartTime% 

должно приводить к отображению нового времени (если оно передается в формате YYYYMMDDHH24MISS). Однако, не приводит.

2)


GuiControl, Text, TripStartTime, %TripStartTime% 

новое значение переменной в контрол передает, однако что-то меняет в самом конторле.

Во-первых, в мануале данная команда для DateTime описана как способ задания нового формата отображения, а не передачи текста. В результате, в контроле теряется форматировка и отображается метка времени в формате YYYYMMDDHH24MISS. Но это проблему еще можно решить при помощи FormatTime

Во-вторых, такой способ прописывает новый текст в контрол, но при этом теряется его функциональность. Т.е., выбрать дату или время в этом контроле после этого уже невозможно.

Сталкивался ли кто - нибудь с этим вопросом? Хотелось бы обойтись стандартным решением

7

Re: AHK: Взаимозависимые DateTime

equipment66 пишет:

При изменении в верхнем DateTime, в нижнем изменения не отображаются.

У меня отображаются.

8

Re: AHK: Взаимозависимые DateTime

YMP пишет:

У меня отображаются.

М-да. Проверил на другой машине, у меня тоже отображается. Разница:

Win8.1         + AHK v1.1.09.00 - работает
WinXPsp3    + AHK v1.1.00.00 - нет

Спасибо, YMP. Будем искать, где ноги растут