![]() |
|
|
Регистрация | << Правила форума >> | 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\ Велик и могуч наш Object Pascal ! ICQ: 357-591-887 |
#6
|
||||
|
||||
![]() Именно так. Челу же нужна родительская т.е. вышестоящая по отношению к выбранной. И вызов данной функции оправдан при вложенности более одного.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#7
|
|||
|
|||
![]() Блин, похоже меня не так поняли, или я не правильно задал свой вопрос... Короче и проще говоря, мне надо узнать каким образом можно определить из какой папки запускается моя программа. Это можно выполнить конечно и таким образом
Код:
ShowMessage(Application.ExeName); А можно ли просто получить такой результат G:\Soft\MyProgs\??? ![]() |
#8
|
||||
|
||||
![]() Цитата:
Код:
// Application.ExeName = C:\MyApp\App.exe (ещё можно ParamStr(0)) AppDir := ExtractFileDir(ParamStr(0)); TAleD = class(TUser) public function HelpMe(ASubject, ARequest: String): String; function GiveMeExample(ASubject: String): TStringList; procedure WriteReview(APost: Integer; ADescription: TStringList); end; |
#9
|
|||
|
|||
![]() Ага, большое спасибо, мне очень помог твой метод, ещё раз спасибо большое!
![]() |