Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.16;
Скачать: CL | DM;

Вниз

Не совсем корректная работа ExtractFileName   Найти похожие ветки 

 
Lex1   (2007-07-26 17:56) [0]

MessageBox( 0, PChar(ExtractFileName("C:\Totalcmd\Totalcmd.exe /O")), "",  48 );
Результат.
SysUtils: Totalcmd.exe /O
KOL: O

Или это так и задумано?


 
Vladimir Kladov   (2007-07-26 19:01) [1]

Вот я в окне проводника набираю C:\WEB\KOL/upd вместо C:\WEB\KOL\upd и тем не менее показывает директорию одинаково. Имена директорий с расширением так же допускаются (или = имена директорий с символом "." ). Вывод: "/" может быть разделителем в пути. Другое дело, что директория с пробелами на конце вроде как ошибка. Но вот я набираю C:\WEB\KOL /upd (пробел видно?) - и работает так же. Окончательный вывод: в KOL верно, в SysUtils ошибка. Потому что если и вправду речь о поддиректории Totalcmd.exe по пути C:\Totalcmd и о файле O в этой директории, то SysUtils облажается.


 
Lex1   (2007-07-31 00:18) [2]

Эээ... Даже если согласиться с этим (хотя вероятность встретить командную строку с таким ключём, по-моему больше), то почему паскаль-версия ведёт себя иначе? Непоследовательно ;)

function ExtractFileName( const Path : KOLString ) : KOLString;
var P: PKOLChar;
begin
 P := __DelimiterLast( PKOLChar( Path ), ":\" );
 if P^ = #0 then
   Result := Path
 else
   Result := P + 1;
end;


 
Vladimir Kladov   (2007-07-31 03:34) [3]

В данном случае ошибка именно в Паскаль-версии, строка должна быть ":\/", как в константе DirDelimiters несколькими строками выше. Поправлю.



Страницы: 1 вся ветка

Текущий архив: 2008.03.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
2-1202891174
Troyan_81
2008-02-13 11:26
2008.03.16
рабочий стол


2-1203439928
Рустам
2008-02-19 19:52
2008.03.16
корректное отображение в базе данных


15-1202464474
Kostafey
2008-02-08 12:54
2008.03.16
Как найти ветку форума по ее id?


15-1202066864
Student00
2008-02-03 22:27
2008.03.16
Экспорт из Delphi 7 в xml


2-1203075870
Dan
2008-02-15 14:44
2008.03.16
Перетаскивание компонентов