Get Date/Time String (Не баг а фича)

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
Juri
I/O
I/O
Сообщения: 263
Зарегистрирован: 19 апр 2017, 23:06
Версия LabVIEW: 2021
Благодарил (а): 13 раз
Поблагодарили: 6 раз

Get Date/Time String (Не баг а фича)

Сообщение Juri »

Редактирую и сохраняю rtf файл при помощи net. На моем компе все норм. Ставлю exe на клиентский комп, который привезли из за границы, он выдает ошибку 1172. Переустановил несколько версий net framework. Нифига. На всякий случай поставил Redistributable for Visual Studio. От безысходности поставил весь лабвью на клиенский комп. Русифицировал клиентскую винду. Это все еще несколько раз сопровождалось обновлением win 10. Убил пол дня. Оказалось что Get Date/Time String который участвовал в формировании имени файла выдает на моем компе дату 01.10.2019, а на клиентском забугорном 01/10/2019. ЧТОА?? :suicide: Теперь остаток дня буду удалять с клиенской машины все что понаставил :crazy:
Вложения
Screenshot_2.png
Screenshot_2.png (1.46 КБ) 2770 просмотров
Screenshot_1.png
Screenshot_1.png (21.23 КБ) 2770 просмотров
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Get Date/Time String (Не баг а фича)

Сообщение Artem.spb »

Это именно ВАШ баг. Использование системного формата даты в именах файлов - косяк.
Аватара пользователя
Juri
I/O
I/O
Сообщения: 263
Зарегистрирован: 19 апр 2017, 23:06
Версия LabVIEW: 2021
Благодарил (а): 13 раз
Поблагодарили: 6 раз

Re: Get Date/Time String (Не баг а фича)

Сообщение Juri »

Мне надо чтобы имя файла содержало дату и время и в этом нет никакого косяка
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Get Date/Time String (Не баг а фича)

Сообщение Artem.spb »

я не сказал, что дата и время в имени - косяк. Я сказал .что дата в СИСТЕМНОМ формате - косяк.
Так и двоеточие можно попытаться в имя запихать, а потом жаловаться, что у разработчиков такая нехорошая фича
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Get Date/Time String (Не баг а фича)

Сообщение Blackman »

Usss писал(а):Мне надо чтобы имя файла содержало дату и время...
Используйте для этого функцию Format Date/Time String
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Get Date/Time String (Не баг а фича)

Сообщение dadreamer »

Usss писал(а):Оказалось что Get Date/Time String который участвовал в формировании имени файла выдает на моем компе дату 01.10.2019, а на клиентском забугорном 01/10/2019. ЧТОА??
Это региональные параметры системы. Достаточно поменять формат в одном из этих окон:
2019-10-01_20-00-26.jpg
2019-10-01_20-01-16.jpg
2019-10-01_20-01-46.jpg
:labview: подхватывает новый формат без перезапуска. А если учитывать это программно, то кроме предложенных вариантов можно вставить доп. реплейс символа "/" на ".", да и дело с концом.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Get Date/Time String (Не баг а фича)

Сообщение Artem.spb »

dadreamer писал(а):Это региональные параметры системы. Достаточно поменять формат в одном из этих окон:.
достаточно, но за такое руки отрывать надо :)
Какое мне (юзеру) дело до криворукости прогера, которому лень вызвать ту же Format Date/Time String и корректно сформировать имя файла?
Почему я из-за этого должен менять СВОИ настройки отображения чего угодно.
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Get Date/Time String (Не баг а фича)

Сообщение dadreamer »

Artem.spb, ТС поинтересовался, почему так, я ему ответил. :) Так что это и не баг, и не фича.
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Get Date/Time String (Не баг а фича)

Сообщение Kosist »

Usss писал(а):Мне надо чтобы имя файла содержало дату и время и в этом нет никакого косяка
Unit testing в помощь :wink: Если бы создание имени файла было оформленно в виайку, которую Вы бы тестировали при помощи NI Unit Test Framework, или Caraya, или же JKI VI Tester, источник проблемы обнаружился бы раньше. А так - согласен с Artem.spb, при форматировании времени нужно всегда задавать параметры вручную, не полагаясь на настройки системы.
Мы делили апельсин - много наших полегло...
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Get Date/Time String (Не баг а фича)

Сообщение Blackman »

Поскреб по сусекам. :wink:
Вложения
Date-Time String.zip
Version 2017
(40.98 КБ) 112 скачиваний
Artem.spb

Activity Автор
professor
professor
Сообщения: 3391
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Get Date/Time String (Не баг а фича)

Сообщение Artem.spb »

Kosist писал(а):Unit testing в помощь :wink: Если бы создание имени файла было оформленно в виайку, которую Вы бы тестировали при помощи NI Unit Test Framework, или....
Боюсь, такое тестирование тут не поможет. Ключевая фраза
Ставлю exe на клиентский комп,
отметает все тестирования.
Если конечно, NI Unit Test Framework и им подобные не тестируют программу в рамках exe. Иначе, тесты рапортуют, что всё хорошо (на моей машине в исходниках), а ехе у заказчика "странно себя ведёт".
Не исключаю, что Test Framework я не до конца постиг. Мне даже не понятно, как толком тестировать методы классов.
Делаю я что-то приватным, и всё, внешний тестировщик не имеет прав доступа. Приходится городить доп. методы только для теста. Или создавать дружественный класс, опять же только для теста.
Kosist, поделитесь секретами мастерства
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Get Date/Time String (Не баг а фича)

Сообщение Borjomy_1 »

Usss писал(а):Редактирую и сохраняю rtf файл при помощи net. На моем компе все норм. Ставлю exe на клиентский комп, который привезли из за границы, он выдает ошибку 1172. Переустановил несколько версий net framework. Нифига. На всякий случай поставил Redistributable for Visual Studio. От безысходности поставил весь лабвью на клиенский комп. Русифицировал клиентскую винду. Это все еще несколько раз сопровождалось обновлением win 10. Убил пол дня. Оказалось что Get Date/Time String который участвовал в формировании имени файла выдает на моем компе дату 01.10.2019, а на клиентском забугорном 01/10/2019. ЧТОА?? :suicide: Теперь остаток дня буду удалять с клиенской машины все что понаставил :crazy:
А сделать тестовый вариант(ы) exe файла, с выводом дополнительной информации религия не позволяет?
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Get Date/Time String (Не баг а фича)

Сообщение Kosist »

Artem.spb писал(а):Если конечно, NI Unit Test Framework и им подобные не тестируют программу в рамках exe. Иначе, тесты рапортуют, что всё хорошо (на моей машине в исходниках), а ехе у заказчика "странно себя ведёт".
Не исключаю, что Test Framework я не до конца постиг. Мне даже не понятно, как толком тестировать методы классов.
Делаю я что-то приватным, и всё, внешний тестировщик не имеет прав доступа. Приходится городить доп. методы только для теста. Или создавать дружественный класс, опять же только для теста.
Насчет методов классов - да, для приватных методов лучше делать методы-обертки; ибо в случае приватных методов "дружественный" класс не поможет, только для protected. Но это если Вы хотите тестировать при помощи, например, JKI VI Tester. При помощи NI Unit Test Framework можно приватные методы тестировать "напрямую".
Caraya тулкит от JKI - работает по принципу asserts. Т.е. юнит-тест - это часть виайки, которую тестируют. Таким образом, можно ее включать и в состав exe если нужно, ну или исключать при помощи Conditional Disable Structure.
Хотя само собой, что да, в этом случае юнит-тесты скорее всего бы не помогли.
Но чтобы точно помогло - это логи программы. В своих программах я всегда пишу в файл лог, важные события, включая создание файлов, что-то типа "File <file path> was created". И в случае проблемы всегда видно, что например путь к файлу "неправильный"... Логи - наше все.
Мы делили апельсин - много наших полегло...
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Get Date/Time String (Не баг а фича)

Сообщение Borjomy_1 »

Логи - наше все.

Я, наверное, тут сумничаю, но в отечественном ПО логов не должно быть. Это называется "Журнал". В моем случае, например, это "Журнал состояния КТС" А КТС - это "Комплекс технических средств" :crazy:
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»