1
如果您的列表框中包含许多项目,并且您需要选择例如项目,则对项目的选择会产生痛苦的工作。通过手动点击和选择400个项目。 有没有一种优雅的方式来从列表框中使用特定的“通过模式功能选择项目”来选择项目?TListbox,根据模式选择项目
如果您的列表框中包含许多项目,并且您需要选择例如项目,则对项目的选择会产生痛苦的工作。通过手动点击和选择400个项目。 有没有一种优雅的方式来从列表框中使用特定的“通过模式功能选择项目”来选择项目?TListbox,根据模式选择项目
假设你有可以匹配模式的代码。让我们说,它有这个接口:
function MatchesPattern(const Value, Pattern: string): Boolean;
然后你可以用下面的函数来选择匹配的所有项目:
procedure SelectMatchingItems(ListBox: TListBox; const Pattern: string);
var
i: Integer;
begin
for i := 0 to ListBox.Count-1 do
ListBox.Selected[i] := MatchesPattern(ListBox.Items[i], Pattern);
end;
如果你准备用匿名方法,那么你可以使用谓词。
procedure SelectMatchingItems(ListBox: TListBox;
const Matches: TFunc<string, Boolean>);
var
i: Integer;
begin
for i := 0 to ListBox.Count-1 do
ListBox.Selected[i] := Matches(ListBox.Items[i]);
end;
后一种方法是最灵活的,如果你有一个具有足够功能的Delphi,应该如何解决这个问题。
'TFunc
不,没有。 – TLama
这意味着,获取字符串,并分析这个字符串列表? – Franz
如果您需要在列表框中手动选择400个项目,则需要仔细查看用户界面设计。 –