![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нет тильде! [D7, XP]
AlexanderMS © (2006-05-02 19:01:00)Почему путь файла отображается так:
C:\DOCUME ~1\9335 ~1\GENERA ~1.CSF,
а не как следует? Снова берёт верх Великий И Ужасный DOS ?! :)
Подскажите, пожалуйста, как должным образом отобразить путь файла.
AlexanderMS (2006-05-04 18:16:00) [1]> А при чем тогда OpenDialog?
А затем, чтобы открывать файл в самой программе через Файл -> Открыть. А для чего он нужен?
Gydvin (2006-05-03 20:44:00) [2]код в студию
Anatoly Podgoretsky (2006-05-03 20:17:00) [3]Кстати, когда я в программе сам открываю, то имя выглядит полным, а если через двойной щелчок запускаю файл, то появляются... 8 букв с тильдой + точка + расширение :)
Повторяю, причем тут OpenDialog?
AlexanderMS (2006-05-03 20:08:00) [4]
> Вот спасибо, если бы не вы я так бы и не узнал, что extractfilepath
> возвращает досовский путь. Не разу с таким не сталкивался
Вы не правильно поняли! Если параметр досовский, то и результат тоже досовский.
Gydvin (2006-05-03 19:40:00) [5]
> extractfilepath возвращает полный путь файла, но также с
> тильдами и восемью буквами!
Вот спасибо, если бы не вы я так бы и не узнал, что extractfilepath возвращает досовский путь. Не разу с таким не сталкивался
begin...end (2006-05-03 18:46:00) [6]> AlexanderMS © (03.05.06 16:50) [17]
> Undeclared indentifier, наверное, модуля требует.
Спасибо, но Ваше сообщение за нумером [11] я уже читал.
А то, что написал я, нужно разместить в секции interface. Как раз для того, чтобы identifier перестал быть "undeclared".
AlexanderMS (2006-05-03 16:50:00) [7]
> Может я чего не догоняю, а использование extractfilepath
> религия не позволяет?
extractfilepath возвращает полныйпуть файла, но также с тильдами и восемью буквами!
> > а если через двойной щелчок запускаю файл
>
> "%1"
Я его как получу?
Не через присваивание же!
> А при чем тогда OpenDialog?
А затем, чтобы открывать файл в самой программе. А для чего он нужен?
> function GetLongPathName(lpszShortPath, lpszLongPath: PChar;
> cchBuffer: DWORD): DWORD; stdcall; external 'kernel32.dll';
>
Undeclared indentifier, наверное, модуля требует.
------------
Кстати, я путь получаю через paramstr(1). Может в этом проблема?
Gydvin (2006-05-03 10:03:00) [8]Может я чего не догоняю, а использование extractfilepath религия не позволяет?
begin...end (2006-05-03 08:06:00) [9]> DiamondShark © (02.05.06 22:10) [14]
> Всё-таки, GetFullPathName
Нет.The GetFullPathName function merges the name of the current drive and directorywith the specified filename to determine the full path and filename of the specified file.
function GetLongPathName(lpszShortPath, lpszLongPath: PChar; cchBuffer: DWORD): DWORD; stdcall; external 'kernel32.dll';
DiamondShark (2006-05-02 22:10:00) [10]Всё-таки, GetFullPathName
> а если через двойной щелчок запускаю файл
"%1"
Anatoly Podgoretsky (2006-05-02 19:58:00) [11]AlexanderMS © (02.05.06 19:40) [12]
А при чем тогда OpenDialog?
AlexanderMS (2006-05-02 19:40:00) [12]
> Либо получать его сразу, либо преобразовать короткое
Интересно, а как его получить сразу?
Кстати, когда я в программе сам открываю, то имя выглядит полным, а если через двойной щелчок запускаю файл, то появляются... 8 букв с тильдой + точка + расширение :)
AlexanderMS (2006-05-02 19:32:00) [13]
> Сорри, GetLongPathName.
Undeclared indentifier, наверное, модуля требует.
Юрий Зотов (2006-05-02 19:27:00) [14]Сорри, GetLongPathName.
AlexanderMS (2006-05-02 19:27:00) [15]
> А как и откуда ты получаешь это имя?
Черезfilename := OpenDialog.FileName
У меня программа редактирует файлы такого формата - "*.CSF".
Я запускаю сам файлик, и программа его открывает.
Anatoly Podgoretsky (2006-05-02 19:26:00) [16]Юрий Зотов © (02.05.06 19:25) [7]
А возможно он его получает в текстовом файле.
Юрий Зотов (2006-05-02 19:25:00) [17]> AlexanderMS
> Почему путь файла отображается так
Очевидно, потому, что Вы именно так и его получаете. Кода Вы не привели, поэтому сказать точнее нельзя.
> А как вывести полное?
Либо получать его сразу, либо преобразовать короткое (GetFullPathName).
Anatoly Podgoretsky (2006-05-02 19:22:00) [18]А как и откуда ты получаешь это имя?
AlexanderMS (2006-05-02 19:18:00) [19]
> User будет путаться...
(Себя цитирую :)
и пугаться...
AlexanderMS (2006-05-02 19:17:00) [20]
> В формате ДОС, иначе короткое имя.
А как вывести полное? А у меня выводится: "Сохранить изменения в файле C:\DOCUME~1\9335~1\GENERA~1.CSF?" Эта же строчка - в заголовке главной формы, а это уже не очень... да и User будет путаться...