Get Date/Time String (Не баг а фича)
- Juri
- I/O
- Сообщения: 263
- Зарегистрирован: 19 апр 2017, 23:06
- Версия LabVIEW: 2021
- Благодарил (а): 13 раз
- Поблагодарили: 6 раз
Get Date/Time String (Не баг а фича)
Редактирую и сохраняю rtf файл при помощи net. На моем компе все норм. Ставлю exe на клиентский комп, который привезли из за границы, он выдает ошибку 1172. Переустановил несколько версий net framework. Нифига. На всякий случай поставил Redistributable for Visual Studio. От безысходности поставил весь лабвью на клиенский комп. Русифицировал клиентскую винду. Это все еще несколько раз сопровождалось обновлением win 10. Убил пол дня. Оказалось что Get Date/Time String который участвовал в формировании имени файла выдает на моем компе дату 01.10.2019, а на клиентском забугорном 01/10/2019. ЧТОА?? Теперь остаток дня буду удалять с клиенской машины все что понаставил
- Вложения
-
- Screenshot_2.png (1.46 КБ) 2769 просмотров
-
- Screenshot_1.png (21.23 КБ) 2769 просмотров
-
- professor
- Сообщения: 3391
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Get Date/Time String (Не баг а фича)
Это именно ВАШ баг. Использование системного формата даты в именах файлов - косяк.
- Juri
- I/O
- Сообщения: 263
- Зарегистрирован: 19 апр 2017, 23:06
- Версия LabVIEW: 2021
- Благодарил (а): 13 раз
- Поблагодарили: 6 раз
Re: Get Date/Time String (Не баг а фича)
Мне надо чтобы имя файла содержало дату и время и в этом нет никакого косяка
-
- professor
- Сообщения: 3391
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Get Date/Time String (Не баг а фича)
я не сказал, что дата и время в имени - косяк. Я сказал .что дата в СИСТЕМНОМ формате - косяк.
Так и двоеточие можно попытаться в имя запихать, а потом жаловаться, что у разработчиков такая нехорошая фича
Так и двоеточие можно попытаться в имя запихать, а потом жаловаться, что у разработчиков такая нехорошая фича
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Get Date/Time String (Не баг а фича)
Используйте для этого функцию Format Date/Time StringUsss писал(а):Мне надо чтобы имя файла содержало дату и время...
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Get Date/Time String (Не баг а фича)
Это региональные параметры системы. Достаточно поменять формат в одном из этих окон: подхватывает новый формат без перезапуска. А если учитывать это программно, то кроме предложенных вариантов можно вставить доп. реплейс символа "/" на ".", да и дело с концом.Usss писал(а):Оказалось что Get Date/Time String который участвовал в формировании имени файла выдает на моем компе дату 01.10.2019, а на клиентском забугорном 01/10/2019. ЧТОА??
-
- professor
- Сообщения: 3391
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Get Date/Time String (Не баг а фича)
достаточно, но за такое руки отрывать надо :)dadreamer писал(а):Это региональные параметры системы. Достаточно поменять формат в одном из этих окон:.
Какое мне (юзеру) дело до криворукости прогера, которому лень вызвать ту же Format Date/Time String и корректно сформировать имя файла?
Почему я из-за этого должен менять СВОИ настройки отображения чего угодно.
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Get Date/Time String (Не баг а фича)
Artem.spb, ТС поинтересовался, почему так, я ему ответил. :) Так что это и не баг, и не фича.
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Get Date/Time String (Не баг а фича)
Unit testing в помощь Если бы создание имени файла было оформленно в виайку, которую Вы бы тестировали при помощи NI Unit Test Framework, или Caraya, или же JKI VI Tester, источник проблемы обнаружился бы раньше. А так - согласен с Artem.spb, при форматировании времени нужно всегда задавать параметры вручную, не полагаясь на настройки системы.Usss писал(а):Мне надо чтобы имя файла содержало дату и время и в этом нет никакого косяка
Мы делили апельсин - много наших полегло...
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Get Date/Time String (Не баг а фича)
Поскреб по сусекам.
- Вложения
-
- Date-Time String.zip
- Version 2017
- (40.98 КБ) 112 скачиваний
-
- professor
- Сообщения: 3391
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 172 раза
- Контактная информация:
Re: Get Date/Time String (Не баг а фича)
Боюсь, такое тестирование тут не поможет. Ключевая фразаKosist писал(а):Unit testing в помощь Если бы создание имени файла было оформленно в виайку, которую Вы бы тестировали при помощи NI Unit Test Framework, или....
отметает все тестирования.Ставлю exe на клиентский комп,
Если конечно, NI Unit Test Framework и им подобные не тестируют программу в рамках exe. Иначе, тесты рапортуют, что всё хорошо (на моей машине в исходниках), а ехе у заказчика "странно себя ведёт".
Не исключаю, что Test Framework я не до конца постиг. Мне даже не понятно, как толком тестировать методы классов.
Делаю я что-то приватным, и всё, внешний тестировщик не имеет прав доступа. Приходится городить доп. методы только для теста. Или создавать дружественный класс, опять же только для теста.
Kosist, поделитесь секретами мастерства
-
- doctor
- Сообщения: 2210
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 26 раз
Re: Get Date/Time String (Не баг а фича)
А сделать тестовый вариант(ы) exe файла, с выводом дополнительной информации религия не позволяет?Usss писал(а):Редактирую и сохраняю rtf файл при помощи net. На моем компе все норм. Ставлю exe на клиентский комп, который привезли из за границы, он выдает ошибку 1172. Переустановил несколько версий net framework. Нифига. На всякий случай поставил Redistributable for Visual Studio. От безысходности поставил весь лабвью на клиенский комп. Русифицировал клиентскую винду. Это все еще несколько раз сопровождалось обновлением win 10. Убил пол дня. Оказалось что Get Date/Time String который участвовал в формировании имени файла выдает на моем компе дату 01.10.2019, а на клиентском забугорном 01/10/2019. ЧТОА?? Теперь остаток дня буду удалять с клиенской машины все что понаставил
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Get Date/Time String (Не баг а фича)
Насчет методов классов - да, для приватных методов лучше делать методы-обертки; ибо в случае приватных методов "дружественный" класс не поможет, только для protected. Но это если Вы хотите тестировать при помощи, например, JKI VI Tester. При помощи NI Unit Test Framework можно приватные методы тестировать "напрямую".Artem.spb писал(а):Если конечно, NI Unit Test Framework и им подобные не тестируют программу в рамках exe. Иначе, тесты рапортуют, что всё хорошо (на моей машине в исходниках), а ехе у заказчика "странно себя ведёт".
Не исключаю, что Test Framework я не до конца постиг. Мне даже не понятно, как толком тестировать методы классов.
Делаю я что-то приватным, и всё, внешний тестировщик не имеет прав доступа. Приходится городить доп. методы только для теста. Или создавать дружественный класс, опять же только для теста.
Caraya тулкит от JKI - работает по принципу asserts. Т.е. юнит-тест - это часть виайки, которую тестируют. Таким образом, можно ее включать и в состав exe если нужно, ну или исключать при помощи Conditional Disable Structure.
Хотя само собой, что да, в этом случае юнит-тесты скорее всего бы не помогли.
Но чтобы точно помогло - это логи программы. В своих программах я всегда пишу в файл лог, важные события, включая создание файлов, что-то типа "File <file path> was created". И в случае проблемы всегда видно, что например путь к файлу "неправильный"... Логи - наше все.
Мы делили апельсин - много наших полегло...
-
- doctor
- Сообщения: 2210
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 26 раз
Re: Get Date/Time String (Не баг а фича)
Логи - наше все.
Я, наверное, тут сумничаю, но в отечественном ПО логов не должно быть. Это называется "Журнал". В моем случае, например, это "Журнал состояния КТС" А КТС - это "Комплекс технических средств"
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 2 Ответы
- 670 Просмотры
-
Последнее сообщение Sergey Puzanov
-
- 19 Ответы
- 2584 Просмотры
-
Последнее сообщение Artem.spb
-
- 3 Ответы
- 1717 Просмотры
-
Последнее сообщение Artem.spb
-
- 4 Ответы
- 1192 Просмотры
-
Последнее сообщение Юрий
-
- 4 Ответы
- 1063 Просмотры
-
Последнее сообщение BAS