抛弃电话本——编个《家庭电话管理小帮手》

编程爱好者

本期为大家介绍的这个生活实用程序名叫《家庭电话管理小帮手》,它的主要功能包括:电话号码的录入、编辑、删除、查询、打印,其中电话查询是本软件的特色之一,可以根据姓名查询,也可以根据电话号码查询,甚至在记不清姓名时,输入朋友姓名中的一个字也能查询出来,如果记不清朋友的电话号码,输入电话号码的一部分也能找到!本软件的另一个特色是打印功能,允许自由选择打印功能。好了,下面让我们一起来看看这款软件吧,它采用Delphi7.0编写。

一、添加好友信息

如图,输入朋友的名字,然后点击“增加”按钮,就把你朋友的信息录入到数据库中了。为了便于数据库的管理,我把姓名定义为关键字,如果你的朋友有多部手机,可以在备注内录入,备注栏支持50个字符,足够你用了吧。

34-g15-1-1.jpg

二、管理信息

对好友信息的管理,可以分为删除和编辑修改两个方面,下面就来看看具体的实现方法。

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应该算是软件的制作难点,但这两大功能却非常实用,希望大家能掌握。