Re: [問題] 自動完成 using C++?
看板Programming作者charleshu (Analog Engineer)時間17年前 (2008/05/04 22:59)推噓0(0推 0噓 0→)留言0則, 0人參與討論串3/3 (看更多)
※ 引述《journeyman@kkcity.com.tw (㊣人生就是不斷的後悔)》之銘言:
: ※ 引述《CombatSniper.bbs@ptt.cc (苦難已經結束 光明正到來)》之銘言:
: > 要怎樣用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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):