Умлауты в именах VI в большом проекте.

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
iGerodot
beginner
beginner
Сообщения: 12
Зарегистрирован: 17 сен 2025, 13:20
Версия LabVIEW: 2019
Благодарил (а): 4 раза
Контактная информация:

Умлауты в именах VI в большом проекте.

Сообщение iGerodot »

Всем привет.
Есть огромный массив исходников, что достался от немцев, который состоит из кучи взаимосвязанных проектов с огромной порцией спагетти-кода внутри в худшем его предствалении (точнее "паста-кода" :crazy: :banghead: ) .
Немцы забили болт на правила именования в ASCII VI в LV и нагородили кучу умлаутов в путях, что при зоопарке кодировок в Win на разных локалях превращается в ад. Вручную навести порядок в нескольких тысячах файлов не реально из-за бинароной природы VI и кучи взаимной линковки дочерних VI между проектами.
Пакетно пройтись по всему содержимому в обычном коде любой нормальной IDE, задачка на пару часов. А тут я даже не знаю что делать кроме как ставить немецкую винду, что для поддержки и постепенного рефакторинга совсем не вариант.

Может сталкивался кто с подобной проблемой?

PS. LV2019
FredP
user
user
Сообщения: 76
Зарегистрирован: 19 апр 2020, 01:22
Версия LabVIEW: 2021
Благодарил (а): 8 раз
Поблагодарили: 14 раз
Контактная информация:

Re: Умлауты в именах VI в большом проекте.

Сообщение FredP »

У меня аналогичная ситуация с кодом от китайцев. Виртуалка английская с китайской локалью, по тихоньку переделываю что нужно. Но в основном не нужно и трогать не надо.
Borjomy_1

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

Re: Умлауты в именах VI в большом проекте.

Сообщение Borjomy_1 »

Задача сродни перевода win1251 в utf-8
Для этого в свойствах LabVIEW, в разделе VI Server, включается свойство VI Scripts
В палитре Application Control появляется раздел VI Scripting, позволяющий делать обход по всем компонентам VI. Там же можно менять свойства Label, Caption и других. В том числе и рекурсивно.
Аватара пользователя
iGerodot
beginner
beginner
Сообщения: 12
Зарегистрирован: 17 сен 2025, 13:20
Версия LabVIEW: 2019
Благодарил (а): 4 раза
Контактная информация:

Re: Умлауты в именах VI в большом проекте.

Сообщение iGerodot »

Спасибо, тоже нашел этот вариант, пока разбираюсь. Вообще в LV очень много чего неочевидно и скрыто от глаз.

PS. Скорее всего оно сможет решить еще пару моих головняков, но там больше хотелки со стороны "классического разраба буквами".
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5675
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 35 раз
Поблагодарили: 125 раз

Re: Умлауты в именах VI в большом проекте.

Сообщение IvanLis »

Borjomy_1 писал(а): 05 фев 2026, 23:18 Задача сродни перевода win1251 в utf-8
Для этого в свойствах LabVIEW, в разделе VI Server, включается свойство VI Scripts
В палитре Application Control появляется раздел VI Scripting, позволяющий делать обход по всем компонентам VI. Там же можно менять свойства Label, Caption и других. В том числе и рекурсивно.
Но сами файлы и папки все равно нужно переименовывать ручками и аккуратно.
А потом все зависимости еще проверять, особенно если они используются в библиотеках, классах или одновременно в нескольких проектах.
Аватара пользователя
iGerodot
beginner
beginner
Сообщения: 12
Зарегистрирован: 17 сен 2025, 13:20
Версия LabVIEW: 2019
Благодарил (а): 4 раза
Контактная информация:

Re: Умлауты в именах VI в большом проекте.

Сообщение iGerodot »

Для переименования можно быстро набросать скрипт sh/PowerShell с заменами.
Тут больше проблема что связи лежат в бинарниках VI и просто так там ничего не дернешь как в классических IDE при работе с классическим кодом.

Я честно фигею с такой немецкой "педантичности". :shok:

UPD. Как я понял нужно весь массив проектов загружать перед запуском LV скрипта что бы все прошло правильно. Ну и не помешал бы граф зависимостей.
Artem.spb

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

Re: Умлауты в именах VI в большом проекте.

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

iGerodot писал(а): 18 фев 2026, 17:05 Я честно фигею с такой немецкой "педантичности". :shok:
А ещё есть китайская самоуверенность и русская лень. Я часто встречал проекты с кириллицей и иероглифами в именах. Всем можно, а немцам нет? :D
Аватара пользователя
alerm

Activity
leader
leader
Сообщения: 700
Зарегистрирован: 02 май 2012, 21:28
Награды: 1
Версия LabVIEW: 20
Благодарил (а): 70 раз
Поблагодарили: 11 раз
Контактная информация:

Re: Умлауты в именах VI в большом проекте.

Сообщение alerm »

Artem.spb писал(а): 18 фев 2026, 19:04 Всем можно, а немцам нет? :D
Мöжнö, а зäчем? ©
Ну а если серьезно, то как там сейчас обстоят дела с кириллицей? Недавно вот новая версия :labview: вышла Или последняя "стабильная" версия так и остается 21?
Аватара пользователя
jane_wild

Gold
leader
leader
Сообщения: 554
Зарегистрирован: 30 июн 2016, 02:11
Награды: 1
Версия LabVIEW: 2026
Благодарил (а): 108 раз
Поблагодарили: 24 раза
Контактная информация:

Re: Умлауты в именах VI в большом проекте.

Сообщение jane_wild »

alerm писал(а): 19 фев 2026, 11:17 Ну а если серьезно, то как там сейчас обстоят дела с кириллицей? Недавно вот новая версия вышла Или последняя "стабильная" версия так и остается 21?
Никак, воз и ныне там. При попытке оставить комментарий на русском, либо обозвать контрол русскими буквами, то появляются вопросительные знаки.
А что касается поделки под названием Nigel, то я отключила этот зеленый ромбик.
Nigel.png
Nigel.png (1.55 КБ) 98 просмотров
Толку от него ноль, только мешает. Мало того что по времени думает будто мне к "завтрашнему дню надо", так еще и предложит вариант завершения кода, который с моими мыслями редко совпадает.
Life is short. Smile while you still have teeth!
Аватара пользователя
iGerodot
beginner
beginner
Сообщения: 12
Зарегистрирован: 17 сен 2025, 13:20
Версия LabVIEW: 2019
Благодарил (а): 4 раза
Контактная информация:

Re: Умлауты в именах VI в большом проекте.

Сообщение iGerodot »

Artem.spb писал(а): 18 фев 2026, 19:04 Я часто встречал проекты с кириллицей и иероглифами в именах. Всем можно, а немцам нет? :D
Не встречал кириллицы хотя и доводилось смотреть проекты коллег.
Но вообще использование не ASCII в именах и зависимостях на любом ЯП вещь очень неприятная за которую в хороших командах старший инженер / сеньёр / тим-лид обычно стучат в "бубен" и по больнее дабы было не повадно.
Аватара пользователя
iGerodot
beginner
beginner
Сообщения: 12
Зарегистрирован: 17 сен 2025, 13:20
Версия LabVIEW: 2019
Благодарил (а): 4 раза
Контактная информация:

Re: Умлауты в именах VI в большом проекте.

Сообщение iGerodot »

А ни у кого не возникает проблем когда пути внутри приложения ломаются при запуске собранного приложения на клиентской машине, просит VI c гличами в пути. Вроде указал локаль для не ASCII приложений в винде на дев машине и клиентской но воз и ныне там.

Пока пришел к мысли что бы не корячить всю кодовую базу может попробовать прогнать через обфускацю имен в UUID c перекидыванием в плоскую структуру хранения во внутренней структуре перед сборкой приложения. Ни кто таким не занимался?
Ответить

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