gpt4 book ai didi

delphi - 虚拟字符串树 : Search for a text where type is not a String

转载 作者:行者123 更新时间:2023-12-03 15:54:15 25 4
gpt4 key购买 nike

我想对 VirtualStringTree 实现搜索过程,并且我想通过将搜索文本与来自节点而不是来自指针的文本进行比较来实现此目的(例如。Data ^.Column0),因为这并不总是 String

请帮我提出建议,以按原样从节点取回文本。

为了更好地理解,请参阅下面的代码(我调整了 Lazarus 的示例)

type
PTreeData = ^TTreeData;
TTreeData = record
Column0: TDate; //Date
Column1: Integer; //Integer
Column2: String;
end;

procedure TForm1.VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString);
var
Data: PTreeData;
begin
Data := VST.GetNodeData(Node);
case Column of
0: CellText := DateToStr(Data^.Column0); //2015-05-11 or 11-05-2015
1: CellText := IntToStr(Data^.Column1) + ' days'; //22 days
2: CellText := Data^.Column2;
end;
end;

最佳答案

如果你想获取虚拟 TreeView 单元格文本,那么你可以使用Text属性。这将在内部触发 OnGetText 事件,您将能够获取文本,就像返回文本以在树中显示一样:

var
S: string;
Node: PVirtualNode;
Column: TColumnIndex;
begin
...
S := VirtualStringTree.Text[Node, Column];
end;

关于delphi - 虚拟字符串树 : Search for a text where type is not a String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30161403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com