请问FOXMAIL 4.0 B2版中,EMAIL地址栏的自动补充功能是如何实现的(50分)

  • 主题发起人 主题发起人 mycwcgr
  • 开始时间 开始时间
M

mycwcgr

Unregistered / Unconfirmed
GUEST, unregistred user!
请问FOXMAIL 4.0 B2版中,EMAIL地址栏的自动补充功能是如何实现的
比如我以前输入过 aa@21cn.com的地址,在下一次我输入aa时@21cn.com会自动的补上
 
这首先需要你把以前输过的地址给记下来,然后在你在次输入时查一下纪录
给出单前的就可以了
我记得好像有个控件的,即不的叫什么了
 
用ini吧,
把以前输过的地址记下来
 
和IE的历史记录功能是一样的啊!每次输入的地址都被记录到一个文件了
输入一个字符,程序就在里面找到这个字符开头的第一条记录
 
Delphi 6 自带的 TComboBox 就可以,属性 AutoComplete := True;
时,
可以把Items中值自动补充
 
我要补充的内容不一定是Items中的值,而是以前输过的内容
 
下面是我写的一段程序,功能是差不多,但涉及到数据库,不过原理应该差不多吧:
procedure TForm3.Edit2Change(Sender: TObject);
var TempPos: integer;
begin
if BackSpacePressed then
Exit;
TempPos := Edit2.SelStart;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from illness_base where ILLNESS_NAME like ''%''+'''+Edit2.Text+'''+''%''');
Query1.Open;
if Query1.RecordCount>0 then
begin
Edit2.Text :=Query1.FieldByName('ILLNESS_NAME').AsString;
Edit2.SelStart := TempPos;
Edit2.SelLength := Length(Edit2.Text) - TempPos;
end;
end;

//BackSpacePressed是我定义的一个全局变量,当Backspace或者delete按下的时候为true,弹起的时候为false
 
可以用最笨的办法实现,不过他们肯定是用聪明的办法。
 
//我要补充的内容不一定是Items中的值,而是以前输过的内容
你把以前的内容保存起来,用的时候放入 Items 中不就是了:)
 
多人接受答案了。
 
后退
顶部