Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Программное обеспечение
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Genesis32 v9 доступ в скрипте к сист. дате/времени

 Ответить Ответить
Автор
Сообщение
Алексей_К Смотреть выпадающим
Новичок
Новичок


Присоединился: 04 Сентябрь 2013
Категория: Инженер ПНР
Online Status: Offline
Публикации: 7
Свойства публикации Свойства публикации   Ответить, цитируя автора - Алексей_К Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Genesis32 v9 доступ в скрипте к сист. дате/времени
    Опубликовано: 05 Сентябрь 2013 11:32
Стоит задача получить доступ к системной дате и времени в скрипте VBA и VBS и разложить ее в локальные переменные:  
~~HOUR~~, 
~~Minute~~,
~~Second~~,
~~DAY~~,
~~Month~~,
~~Yahr~~.
Вижу следующий путь решения:
в VBA получить доступ к объекту стандартного типа "Time/data", отображаемому на экранной форме.Пусть имя объекта в форме будет timeobj.
Должен получиться примерно такой скрипт:
Dim obj1 As GwxPoint
Dim Label As GwxPoint
Set obj1 = ThisDisplay.GetPointObjectFromName("timeobj")
Set Label = ThisDisplay.GetPointObjectFromName("\\Korolevaa\ICONICS.DataWorX32.8\Local.~~HOUR~~")
Label.Value = obj1.Hour
ThisDisplay.GetPointObjectFromName("\\Korolevaa\ICONICS.DataWorX32.8\Local.~~Minute~~")
Label.Value = obj1.Minute
ThisDisplay.GetPointObjectFromName("\\Korolevaa\ICONICS.DataWorX32.8\Local.~~Second~~")
Label.Value = obj1.Second
ThisDisplay.GetPointObjectFromName("\\Korolevaa\ICONICS.DataWorX32.8\Local.~~DAY~~")
Label.Value = obj1.Day
ThisDisplay.GetPointObjectFromName("\\Korolevaa\ICONICS.DataWorX32.8\Local.~~Month~~")
Label.Value = obj1.Month
ThisDisplay.GetPointObjectFromName("\\Korolevaa\ICONICS.DataWorX32.8\Local.~~Yahr~~")
Label.Value = obj1.Yahr
Весь вопрос в том, можно ли от стандартного объекта получить таким образом элементы даты/времени? И если нет, то как сделать по другому?



Наверх
MuadDib Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 27 Июль 2006
Online Status: Offline
Публикации: 304
Свойства публикации Свойства публикации   Ответить, цитируя автора - MuadDib Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 06 Сентябрь 2013 10:33
Стандартная функция Now возвращает объект типа Date, содержащий время-дату (время локальное). Компоненты из него можно дергать с помощью стандартных функций типа Hour, Minute и т.д.:

Dim LocalTime As Date
LocalTime = Now
Dim Label As GwxPoint

Set Label = ThisDisplay.GetPointObjectFromName("\\Korolevaa\ICONICS.DataWorX32.8\Local.~~HOUR~~")
Label.Value = Hour(LocalTime)

Set Label = ThisDisplay.GetPointObjectFromName("\\Korolevaa\ICONICS.DataWorX32.8\Local.~~Minute~~")
Label.Value = Minute(LocalTime)
'etc

Теория - это когда все знаешь, но ничего не работает.
Практика - это когда все работает, но никто не знает как.
Наверх
Алексей_К Смотреть выпадающим
Новичок
Новичок


Присоединился: 04 Сентябрь 2013
Категория: Инженер ПНР
Online Status: Offline
Публикации: 7
Свойства публикации Свойства публикации   Ответить, цитируя автора - Алексей_К Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 09 Сентябрь 2013 16:53
MuadDib!
Большое Спасибо! Проверил, работает!
Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz