作者charleshu (Analog Engineer)
看板Programming
标题Re: [问题] 自动完成 using C++?
时间Sun May 4 22:59:16 2008
※ 引述《[email protected] (㊣人生就是不断的後悔)》之铭言:
: ※ 引述《[email protected] (苦难已经结束 光明正到来)》之铭言:
: > 要怎样用C++
: > 替自己写的Win 32 API视窗程式
: > 加入所谓的自动完成(类似打一个字 就会提示很多东西出来)?
: 1:用一个资料结构(树或linked list,随便)存每次输入的东西
: 2:每次inputbox里面有输入东西的时候就去那个资料结构里面找
: 3:把找到的东西用一个挂在inputbox底下的元件显示出来
: 这样?
:
这是基本方法.
假如能保证找资料花的时间不多,这就是标准解法.
若有时会花比较多的时间来找符合的资料时,如在SQL Server里有上万笔以上
符合的资料,但Index没办法让你有很好的 Access Plan时,用起来会顿顿的.
简易加强版如下
1.用multi thread另开一个 thread.
2.每当资料有变更就通知那个 thread 来找资料,并若同时还有前一找寻作业
未完成的话则终止该旧找寻作业.
3.等找寻作业完成後,把找到资料塞回主 thread 里对应的地方.
这样一来,即使找寻作业不快,使用者仍可继续输入资料用起来不会顿顿的.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 221.169.217.133