Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перейти выше по каталогу в строчке [D7]


Страницы:   1 2

Игорёк ©   (2013-11-26 12:53:00) 

Такой необычный вопрос

Имеем string с строкой в нём "c:\Program Files\ASUS\"
Как сделать из неё такую строку "c:\Program Files\"

То есть сам адрес может быть каким угодно и нужно перейти по каталогу выше.

Пробовал это StringReplace(строка, что_убрать, '', [rfReplaceAll]);
вообще не срабатывает,
а если найти фрагмент ASUS\ и убрать его, как то не особо нравится вариант.
Может что то есть уже предусмотренное...


Inovet   (2013-11-28 05:44:00) [1]

> [24] брат Птибурдукова   (27.11.13 19:29)
> dir c:\\windows\system32 = ошибка

Это уже ошибка № 3
Не найден сетевой путь.


брат Птибурдукова   (2013-11-27 19:29:00) [2]


> Inovet ©   (27.11.13 10:08) [14]
тут, кстати, есть сеанс чёрной магии
dir c:\\windows\system32 = ошибка
dir c:\windows\\system32 = ок

Полное её разоблачение тут: http://www.transl-gunsmoker.ru/2011/03/why-is-drive-letter-permitted-in-front.html?m=1


brother   (2013-11-27 18:32:00) [3]

> Она делает свой разбор пути.

классика)


Jeer   (2013-11-27 17:43:00) [4]

исключительно в формате 8.3 и латинскими:)


брат Птибурдукова   (2013-11-27 17:39:00) [5]

Имена файлов длиннее 8 символов уже даёшь или ещё держишься? :-)


Jeer   (2013-11-27 16:37:00) [6]

Я за аскетизм во всем:)


брат Птибурдукова   (2013-11-27 16:30:00) [7]


> Palladin ©   (27.11.13 10:48) [15]
Я знаю, я пытаюсь Jeer'у донести, почему его "спортивный" вариант не слишком хорош.


Jeer   (2013-11-27 15:35:00) [8]

>TFileStream.Create('c:\\\\\\1\\\\\\2\\\\\3\\\\\\\..\\\\\3\\..\\3\\1.txt', fmCreate).Free

Дык все ж для дебилоидов: и хлеб и масло..:)


Styx   (2013-11-27 13:41:00) [9]


> dir c:\\
> Синтаксическая ошибка в имени файла, имени папки или метке
> тома.

Ну, это вопрос к команде dir. Она делает свой разбор пути.


Palladin   (2013-11-27 11:00:00) [10]


> Inovet ©   (27.11.13 10:08) [14]

TFileStream.Create('c:\\\\\\1\\\\\\2\\\\\3\\\\\\\..\\\\\3\\..\\3\\1.txt', fmCreate).Free


Palladin   (2013-11-27 10:48:00) [11]


> все арамисы, а я Дартаньян   (27.11.13 08:44) [10]

именно для канонизации таких ХВл путей и используется ExpandFileName


Inovet   (2013-11-27 10:08:00) [12]

> [13] Styx   (27.11.13 09:26)
> Система такой легко переварит.

dir c:\\
Синтаксическая ошибка в имени файла, имени папки или метке тома.

dir c:\\\
Указан недопустимый путь.


Styx   (2013-11-27 09:26:00) [13]

Система такой легко переварит. Повторение слешей игнорируется. Иначе было бы очень сложно слеплять путь из кусочков.


brother   (2013-11-27 08:47:00) [14]

> \\

вот это?


brother   (2013-11-27 08:47:00) [15]

а разве это валидный путь
> x:\a\b\..\c \\d\..\..\e\1.txt

?


все арамисы, а я Дартаньян   (2013-11-27 08:44:00) [16]


> Не, не спортивно:)
Неспортивно, зато работает со всякими хитровылюбленными путями вроде x:\a\b\..\c\\d\..\..\e\1.txt, коие легко и непринуждённо получаются путём конкатенации содержимого пары-тройки полей из базы… %-)


Inovet   (2013-11-27 05:02:00) [17]

> [7] Jeer ©   (27.11.13 01:11)
> Ты знаешь разницу между шашлыком из магазина и приготовленным тобой?

Шалык надо покупать в магазине - в нём костей больше. (Шарик)


Jeer   (2013-11-27 01:17:00) [18]

function ExtractUpperDir(const Value: string): string;

// 7.5 us

function ExcludeSubPath(const path: string; level: integer): string;

// 4.5 us


Jeer   (2013-11-27 01:11:00) [19]

>как раз и надо было без спорта и состязаний

Ты знаешь разницу между шашлыком из магазина и приготовленным тобой?


Леонид   (2013-11-26 21:41:00) [20]


> Jeer ©   (26.11.13 14:39) [5]
>
> Не, не спортивно:)

Во во, как раз и надо было без спорта и состязаний.... )))


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо