В DOS длина имен файлов и папок не может превышать 8 символов.
Если длина имени больше 8 символов, то имя отображается сокращенным (Program Files=Progra~1).
Например есть длинный путь к файлу C:\Program Files\ABBYY FileReader\Fine Reader 7\FineReader\ABBYYFineReader.exe.
Как отобразить этот путь как в DOS
Путь как в DOS
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
Ну если чисто отобразить обреж после шистой и допиши ~1, хотя я не совсем понимаю, какой результат тебе нужен??
[syntax=Delphi] [/syntax]
-
- Сообщения: 117
- Зарегистрирован: 10 ноя 2005, 02:00
Мне нужно перевести путь Windows в Dos, чтобы можно было по этому пути обратиться к файлу.
Если я обрежу и добавлю то что нужно это будет соответствовать реальному пути DOS?
Если я обрежу и добавлю то что нужно это будет соответствовать реальному пути DOS?
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
С большой вероятностью это будет соответствовать. 
Для правильного преобразования есть функции WinAPI (см справку по Win32 API).
В названии было вроде что-то типа ShortName
Возможно также, что эта функция переобъявлена в Delphi где-нибудь в windows.pas

Для правильного преобразования есть функции WinAPI (см справку по Win32 API).
В названии было вроде что-то типа ShortName
Возможно также, что эта функция переобъявлена в Delphi где-нибудь в windows.pas
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
Просто обрезать нельзя, т.к. при наличии нескольких каталогов с именами совпадающими первыми 6-ю символами и длинной более 8-ми, имена в нотации будут приведены к, например, Progra~1 и Progra~2
вот функция (нашёл в хелпе за пару минут)
function ExtractShortPathName(const FileName: string): string;
Description
ExtractShortPathName converts the file name, FileName, to the short 8.3 form. ExtractShortPathName returns an empty string if the file or directory does not exist.
The first parameter, FileName, can be a full path name. For example, ExtractShortPathName would convert the full path name:
C:\Program Files\Borland\Delphi\Bin\Delphi32.exe
to the short form:
C:\Progra~1\Borland\Delphi\Bin\Delphi32.exe
вот функция (нашёл в хелпе за пару минут)
function ExtractShortPathName(const FileName: string): string;
Description
ExtractShortPathName converts the file name, FileName, to the short 8.3 form. ExtractShortPathName returns an empty string if the file or directory does not exist.
The first parameter, FileName, can be a full path name. For example, ExtractShortPathName would convert the full path name:
C:\Program Files\Borland\Delphi\Bin\Delphi32.exe
to the short form:
C:\Progra~1\Borland\Delphi\Bin\Delphi32.exe
