在Borland C+中的TCX文件列表中搜索项目+;建筑商6 我使用C++ Builder 6。我有一个有两列的树列表,一个TrzEdit和一个搜索按钮。我想在框中键入内容后,查找将在编辑字段中键入的项目。如何显示它 void __fastcall TMainForm::BtnSearchClick(TObject *Sender) { for (TcxTreeListNode* node = TreeList->TopNode ; node != NULL; node = node->GetNext()) { String value = node->Values[PropertyName->ItemIndex]; if ( value == Search->Text.c_str()) { ShowMessage("Foundit"); } } }

在Borland C+中的TCX文件列表中搜索项目+;建筑商6 我使用C++ Builder 6。我有一个有两列的树列表,一个TrzEdit和一个搜索按钮。我想在框中键入内容后,查找将在编辑字段中键入的项目。如何显示它 void __fastcall TMainForm::BtnSearchClick(TObject *Sender) { for (TcxTreeListNode* node = TreeList->TopNode ; node != NULL; node = node->GetNext()) { String value = node->Values[PropertyName->ItemIndex]; if ( value == Search->Text.c_str()) { ShowMessage("Foundit"); } } },c++,c++builder,c++builder-6,C++,C++builder,C++builder 6,有人能告诉我怎么做吗?到目前为止,它是有效的。我想显示与查询关键字匹配的所有项目(甚至部分) 我可以在新的构建器上找到帮助,但我正在使用的旧构建器没有 使用Tcxtreelist是否可以在条件匹配后使节点“可见”,然后在清除编辑框后使eit不可见。是否存在这样的功能 你到底有什么问题?请说得更具体些。你为什么要用Text.c_str()而不仅仅是Text?如果您想进行部分比较,请查看ansisting::Pos()方法,例如:If(value.Pos(EdtMethodSearch->Text)

有人能告诉我怎么做吗?到目前为止,它是有效的。我想显示与查询关键字匹配的所有项目(甚至部分)

我可以在新的构建器上找到帮助,但我正在使用的旧构建器没有


使用Tcxtreelist是否可以在条件匹配后使节点“可见”,然后在清除编辑框后使eit不可见。是否存在这样的功能

你到底有什么问题?请说得更具体些。你为什么要用
Text.c_str()
而不仅仅是
Text
?如果您想进行部分比较,请查看
ansisting::Pos()
方法,例如:
If(value.Pos(EdtMethodSearch->Text)!=0){…}
@RemyLebeau非常感谢您的回复。1.您到底遇到了哪些部分的问题?-->我想显示与搜索查询匹配的元素(部分单词还应返回包含这些单词的元素)。2.您的建议“if(value.Pos(EdtMethodSearch->Text)!=0)”无法提供甚至部分匹配的元素。感谢您指出.c_str错误。或者,一旦我在编辑框中输入任何内容(无需按钮),列表应显示包含编辑框中文本的值,并且当编辑框清空时,所有项目都应显示出来。我如何实现这一点?任何线索都会有很大帮助
AnsiString::Pos()
区分大小写。如果要执行不区分大小写的搜索,则在比较字符串时必须将所有字符串转换为相同的大小写,例如:
String search=EdtMethodSearch->Text.LowerCase()。。。如果(value.LowerCase().Pos(search)!=0).
或者,使用不区分大小写的搜索函数,例如:
if(AnsiContainsText(value,EdtMethodSearch->Text))
(不确定BCB6中是否有此功能,我必须在早上检查)或者,将与搜索关键字“可见”和其他关键字“不可见”匹配的节点设置为“不可见”,并在清除单词时加载列表。这在TcxTreelist中可能吗???