Про длинный и короткий

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8016
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 94 раза

Про длинный и короткий

Сообщение Игорь Столяров »

Все привет !

Подскажите пожалуйста, это у меня какой-то супер компьютер или общая беда ?
Незамысловатый код:

Код: Выделить всё

  Loc:RPath = 'D:\Users\Новая папка\AppData\Local\Temp\'
  Message(LongPath(Loc:RPath) & '|' & ShortPath(Loc:RPath))
Результат:
1.jpg

Почему нет разницы ? :(
Можно ли как-то принудительно через WinAPI упаковать путь в формат DOS 8.3 ?
Спасибо !
Make Clarion Great Again ! 😎
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 251
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 14 раз

Про длинный и короткий

Сообщение SergioRaguzini »

Игорь Столяров писал(а): 18 Март 2025, 12:28 ...или общая беда ?....
Общая. Это ошибка тянется еще со старых версий Clarion, в С6.3 тоже так...
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8016
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 94 раза

Про длинный и короткий

Сообщение Игорь Столяров »

SergioRaguzini писал(а): 18 Март 2025, 14:45 в С6.3 тоже так
Спасибо, понял.
Кстати, с функцией WinAPI GetShortPathNameA() те же яйца, только в профиль. :(
Ладно. Настоящие герои всегда идут в обход ... :shock:
Make Clarion Great Again ! 😎
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3284
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 48 раз
Контактная информация:

Про длинный и короткий

Сообщение Дед Пахом »

Короткие имена могут быть просто отключены.
Вложения
PS_8dot3.jpg
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8016
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 94 раза

Про длинный и короткий

Сообщение Игорь Столяров »

Дед Пахом писал(а): 18 Март 2025, 15:42 Короткие имена могут быть просто отключены.
Наверно так и есть ... потому, что я сейчас смотрю свой код 2005 г. и там ShortPath() используется.
Я не стал бы спорить на ящик пива, но по здравой логике, видимо в то время ShortPath() работала ... :D
Make Clarion Great Again ! 😎
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3284
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 48 раз
Контактная информация:

Про длинный и короткий

Сообщение Дед Пахом »

Она и сейчас работает как и работала, то есть возвращает алиас имени файла (короткое имя). Если короткие имена отключены, то в алиасе длинное имя. Короче, она на лету не преобразует строку-имя файла в вид 8.3, а вытаскивает из файловой системы.
Если файл не существует (d:\xyz\Длинное имя несуществующего файла), то преобразует и вернёт 8.3 (но это не точно, надо проверять).
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8016
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 94 раза

Про длинный и короткий

Сообщение Игорь Столяров »

Дед Пахом писал(а): 19 Март 2025, 12:09 Если короткие имена отключены
У меня в том коде есть записи, что я его тестирую под Windows7, а работать он будет под Windows 2003 Server.
Видимо тогда короткие имена файлов по умолчанию были включены. На HDD Win7 скорее всего был FAT32 ...
Make Clarion Great Again ! 😎
Ответить