读书人

delphi 模糊查询(输入字母后出现小窗

发布时间: 2012-09-10 11:02:32 作者: rapoo

delphi 模糊查询(输入字母后出现小窗体,并根据字母过滤)
小弟新手,在自学中
如标题所示,应该怎么实现这种功能呢?需要用哪个组件,希望各位师兄多关注小弟,求详细解释。
感激不尽

下理想效果附图



[解决办法]
关于那个根据拼音模糊查询的问题也不困难,输入的那些应该是基础信息吧,你可以在录入那些基础信息的时候直接获得到全拼和简拼,这样就可以了,3楼的方法也可以,但是效率应该会差一些
[解决办法]
汉字转换成拼音

Delphi(Pascal) code
function   GetHzPy(const   AHzStr:   string):   string;const  ChinaCode:   array[0..25,   0..1]   of   Integer   =   ((1601,   1636),   (1637,   1832),   (1833,   2077),       (2078,   2273),   (2274,   2301),   (2302,   2432),   (2433,   2593),   (2594,   2786),   (9999,   0000),      (2787,   3105),   (3106,   3211),   (3212,   3471),   (3472,   3634),   (3635,   3722),   (3723,   3729),       (3730,   3857),   (3858,   4026),   (4027,   4085),   (4086,   4389),   (4390,   4557),   (9999,   0000),      (9999,   0000),   (4558,   4683),   (4684,   4924),   (4925,   5248),   (5249,   5589)); var     i,   j,   HzOrd:   integer; begin     i:=   1;    while   i   <=   Length(AHzStr)   do     begin         if   (AHzStr[i]   >=   #160)   and   (AHzStr[i   +   1]   >=   #160)   then        begin             HzOrd   :=   (Ord(AHzStr[i])   -   160)   *   100   +   Ord(AHzStr[i   +   1])   -   160;            for   j   :=   0   to   25   do            begin                if   (HzOrd   >=   ChinaCode[j][0])   and   (HzOrd   <=   ChinaCode[j][1])   then                begin                    Result   :=   Result   +   char(byte( 'a')   +   j);                    break;                end;            end;            Inc(i);        end   else   Result   :=   Result   +   AHzStr[i];        Inc(i);    end;end; 

读书人网 >.NET

热点推荐