我正在尝试在Delphi 10 Seattle中编译旧项目并收到以下错误消息
找不到类TShellTreeView点击取消忽略.....
TShellTreeView
是一个设计时组件,是ShellCtrls
软件包的一部分,它始终随Delphi一起提供,通常包含在以下Samples
软件包中:
C:\ Users\Public\Documents\Embarcadero\Studio\xx.x\Samples\Object Pascal\VCL\
现在它似乎不再存在了.这个包裹在哪里?
为什么下面的代码没有迭代ListView?
for x := 1 to ListView1.Items.Count do
Begin
PName := ListView1.Items.Item[i].Caption;
Variable := ListView1.Items.Item[i].SubItems[0];
Val := ListView1.Items.Item[i].SubItems[1];
ToFIle(PName, Variable, Val);
End;
Run Code Online (Sandbox Code Playgroud) 我有一个树视图和一个列表视图,以及一个应该将所选项目从树视图移动到列表视图的按钮.选择和传输完全正常,但删除树视图中的项目不是.它仅在我在树视图下选择单个项目时才有效.当我有TreeView1.MultiSelect := True
,然后有一个问题.
这是我正在使用的代码:
For i := 0 to TreeView1.Items.Count-1 do Begin
If TreeView1.Items[i].Selected then
Begin
Itm := ListView1.Items.add;
.....
TreeView1.Items[i].Delete
Run Code Online (Sandbox Code Playgroud)
上述代码在某些选择后给出无效索引.不完美有时只添加两个中的一个.
尝试:
For i := TreeView1.Items.Count to 1 do Begin
当我选择父节点中的所有元素被复制的最后一个元素时,这是不起作用的代码
for Itr := TreeView1.Items.Count-1 downto 0 do Begin
if TreeView1.Items[Itr].Selected then
begin
Str := TreeView1.Items[Itr].Parent.Text + ' ,' + TreeView1.Items[Itr].Text;
TrimLeft(Str);
for k := 0 to SaveList.Count -1 do Begin
If ansipos(Str, SaveList[k]) > 0 Then Begin
Value := StringReplace(SaveList[k], Str, '',[rfReplaceAll, rfIgnoreCase]);
End; …
Run Code Online (Sandbox Code Playgroud)