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

Вниз

ShellTreeView, ShellListView, имя директории и оптимизация кода   Найти похожие ветки 

 
User   (2008-07-14 10:34) [0]

Для того чтобы узнать текущее имя папки, выделенное в ShellTreeView (без начала = короткое) и использую такое безобразие:

var
 p, l: word;
 s: string;
begin
 l:= Length(ShellTreeView1.Path);  // в принципе не обязательно ...
 p:= Length(ExtractFileDir(ShellTreeView1.Path))+2;
 s:= Copy(ShellTreeView1.Path, p, l); // требуемое имя ...

при этом мне все равно, что находится в ShellListView.

Есть ли более разумное решение этой задачи? Благодарю ...


 
KilkennyCat ©   (2008-07-14 10:58) [1]

s:= Copy(ShellTreeView1.Path, Length(ExtractFileDir(ShellTreeView1.Path))+2, Length(ShellTreeView1.Path));
:)


 
KilkennyCat ©   (2008-07-14 10:59) [2]

на самом деле,ShellTreeView1.Path и взять только то, что до крайнего правого "\"


 
User   (2008-07-14 11:10) [3]


> s:= Copy(ShellTreeView1.Path, Length(ExtractFileDir(ShellTreeView1.
> Path))+2, Length(ShellTreeView1.Path));

примерно так и получается, развернутое "представление" - для наглядности ...

> на самом деле,ShellTreeView1.Path и взять только то, что
> до крайнего правого "\"

... была вообще "гениальная" идея - развернуть строку, при помощи Pos найти первый "\", отрезать до нее и обратно развернуть ... :-)


 
clickmaker ©   (2008-07-14 11:16) [4]

LastDelimiter()


 
User   (2008-07-14 11:29) [5]

Да, LastDelimiter() заменяет Length(ExtractFileDir(ShellTreeView1.Path)) ...



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
6-1192086147
pathfinder
2007-10-11 11:02
2008.08.17
Работа с FTP-сервером через HTTP-proxy


2-1215954643
maxNmin
2008-07-13 17:10
2008.08.17
удаление в корзину


15-1214991525
Дебил какой-то
2008-07-02 13:38
2008.08.17
Где же винда хранит пароли от интернета ?


1-1196785219
necromancer
2007-12-04 19:20
2008.08.17
Поиск по тексту


2-1215774255
QQQ1
2008-07-11 15:04
2008.08.17
Format + TDateTime