Главная страница
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.017 c
15-1214734670
Simpson
2008-06-29 14:17
2008.08.17
Обортни из отдела "К"


15-1214862362
Petr V. Abramov
2008-07-01 01:46
2008.08.17
Софт - отстой.


2-1215764597
Kolan
2008-07-11 12:23
2008.08.17
А Resize не вызывается в дизайн тайме?


11-1192764911
Vinum
2007-10-19 07:35
2008.08.17
StGrdD6 не работает редактирование ячейки


15-1213957352
AlexDan
2008-06-20 14:22
2008.08.17
Полетел принтер..