Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
2-1215783986
MaximMar
2008-07-11 17:46
2008.08.17
Число, TDateTime


2-1216055751
QMike
2008-07-14 21:15
2008.08.17
нарисовать на канве TImage


15-1214840729
@!!ex
2008-06-30 19:45
2008.08.17
У кого есть дельфи и SynEdit откомпилируйте, пожалуйста


2-1215757475
Igor_34
2008-07-11 10:24
2008.08.17
Текущее разрешение экрана


15-1214730717
Kostafey
2008-06-29 13:11
2008.08.17
С днем рождения ! 29 июня




   Наверх