![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перейти выше по каталогу в строчке [D7]
Игорёк © (2013-11-26 12:53:00)Такой необычный вопрос
Имеем string с строкой в нём "c:\Program Files\ASUS\"
Как сделать из неё такую строку "c:\Program Files\"
То есть сам адрес может быть каким угодно и нужно перейти по каталогу выше.
Пробовал этоStringReplace(строка, что_убрать, '', [rfReplaceAll]);
вообще не срабатывает,
а если найти фрагмент ASUS\ и убрать его, как то не особо нравится вариант.
Может что то есть уже предусмотренное...
Jeer (2013-11-26 14:39:00) [21]Не, не спортивно:)
function ExcludeSubPath(const path: string; level: integer): string;
var i,cnt: integer;
begin
cnt := 0;
for i:= Length(s) downto 1 do begin
if (s[i] = #92) then Inc(cnt);
if cnt=level then break;
end;
Result := copy(s,1,i);
end;
Palladin (2013-11-26 14:24:00) [22]ExpandFileName('c:\Program Files\ASUS\..');
Леонид (2013-11-26 13:27:00) [23]
> Rouse_ © (26.11.13 12:59) [2]
Спасибки! очень грамотная штука!
Rouse_ (2013-11-26 12:59:00) [24]
function ExtractUpperDir(const Value: string): string;
begin
Result := ExtractFilePath(ExcludeTrailingPathDelimiter(Value));
end;
Медвешоног Порожок (2013-11-26 12:56:00) [25]екстрактфайлдир
екстрактфайлпас
"c:\Program Files\ASUS\.."