抛弃电话本——编个《家庭电话管理小帮手》
编程爱好者
本期为大家介绍的这个生活实用程序名叫《家庭电话管理小帮手》,它的主要功能包括:电话号码的录入、编辑、删除、查询、打印,其中电话查询是本软件的特色之一,可以根据姓名查询,也可以根据电话号码查询,甚至在记不清姓名时,输入朋友姓名中的一个字也能查询出来,如果记不清朋友的电话号码,输入电话号码的一部分也能找到!本软件的另一个特色是打印功能,允许自由选择打印功能。好了,下面让我们一起来看看这款软件吧,它采用Delphi7.0编写。
一、添加好友信息
如图,输入朋友的名字,然后点击“增加”按钮,就把你朋友的信息录入到数据库中了。为了便于数据库的管理,我把姓名定义为关键字,如果你的朋友有多部手机,可以在备注内录入,备注栏支持50个字符,足够你用了吧。

二、管理信息
对好友信息的管理,可以分为删除和编辑修改两个方面,下面就来看看具体的实现方法。
1.删除记录
先查询出想删除的朋友的记录,方法是先查询出欲删除的好友记录。这里有两种方法:
●在姓名栏中输入“*”(不含引号)回车或点击“查询”按钮,就可以把所有人的信息都查询出来。
●按条件查询。在界面右边的单选框中选择查询方式,然后输入查询条件再点击“查询”按钮即可。如果你记不清楚好友的姓名和电话号码,只记得他的手机号码中有“777”,那么选择“按手机号码”方式查询,然后在手机输入框中输入“777”,直接回车或者点击“查询”按钮,就可以找到这个人,这种查询方法叫“模糊查询”。
查询出来后,如果此人的记录对你真的没有用了,那么就点击“删除”按钮吧。该软件的删除功能不但支持删除单条记录,还支持批量删除。记录删除后,系统立即对每条记录的序号进行重排。
制作难点:模糊查询
系统怎么做到模糊查询的呢?我们来分析一下代码,以模糊查询手机号码为例:
procedure TForm1.Button2Click(Sender
: TObject);
var
Person,Hand_phone,Off_phone,Home_phone,Remark:string;
str:string;
i:integer;
begin
Person:=Trim(Edit6.Text);
Hand_phone:=Trim(Edit7.Text);
if person='*' then//不管选择方式,只判断在姓名栏是否输入的是*,如果是,则把所有的信息查询出来
begin
ADOData_phone.Active:=false;
ADOData_phone.CommandText:='selec
t * from phone';//把表的所有记录都查询出来
ADOData_phone.Active:=true;
exit;
end;
if RB1.Checked=true then
begin
…………
end;
if RB2.Checked=true then//如果选择的是按手机号码方式查询
begin
ADOData_phone.Active:=false;
ADOData_phone.CommandText:='selec
t * from phone where Hand_phone like ''%'+Hand_phone+'%''';//模糊查询的原理是将手机号码栏输入的值存放到变量Hand_phone中,然后寻找数据库中满足条件的记录,条件是:字段Hand_phone的值要“包含”变量Hand_phone的值。如上图“13982377717”包含了“777”。
ADOData_phone.Active:=true;//更新数据集并显示出来。
end;
…………………………
end;
2.查询编辑
查询编辑的原理同查询删除,操作如下:
先按前面介绍的方法进行查询,当查询出数据库中有记录时,只须在表格中点击一下你需要修改的记录,此时“编辑”按钮变为可用,并且各个输入框中显示了相关信息。你在输入框中对此人的信息进行修改后,点击“编辑”按钮即可。
三、打印
根据你的需要可以进行多种信息的打印,如开同学会前,可以把所有“小学同学”的信息打印出来,也可以根据你的需要把查询出的信息打印出来。
方法是:当查询出满足条件的所有记录后,点击打印按钮即可。也可以按ID号进行打印或者打印全部内容。
以上程序下载网址:http://www.cpcw.com/xz/34shenghuo.rar
此软件的编写主要运用了数据库的基础知识,也就是SQL语言的灵活运用。模糊查询和重排记录ID应该算是软件的制作难点,但这两大功能却非常实用,希望大家能掌握。