![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
В общем у меня такой не замысловатый вопрос, каким образом можно реализовать определение родительской директории указанной папки.
Я знаю один способ но для его удачного использования требуется компонент Код:
UBPFD.TrimEx |
|
#2
|
||||
|
||||
|
ExtractFilePath работает и для директорий, попробуй и увидишь.
|
|
#3
|
||||
|
||||
|
Так он возвращает не родительскую директорию, а дочернюю по отношению к родительской (О завернул!)
А для получения родительской можно сделать так: Код:
Var
Path: String;
begin
Path := 'C:\ParentDir\ChildDir\';
Form33.Caption := Copy(Path,1,Length(Path)-PosEx('\',ReverseString(Path),2)+1);
end; |
|
#4
|
||||
|
||||
|
Страдалецъ, расскажи в чем отличия результатов?
Код:
Var
Path: String;
begin
Path := 'C:\ParentDir\ChildDir';
ShowMessage(Copy(Path,1,Length(Path)-PosEx('\',ReverseString(Path),2)+1));
ShowMessage(ExtractFilePath(Path));
end; |
|
#5
|
||||
|
||||
|
Aristarh Dark, А если так ?
Код:
Var
Path: String;
begin
Path := 'C:\ParentDir\ChildDir\';
ShowMessage(Copy(Path,1,Length(Path)-PosEx('\',ReverseString(Path),2)+1));
ShowMessage(ExtractFilePath(Path));
end;Вариант 2 выдаёт: C:\ParentDir\ChildDir\ |
|
#6
|
||||
|
||||
|
Именно так. Челу же нужна родительская т.е. вышестоящая по отношению к выбранной. И вызов данной функции оправдан при вложенности более одного.
|