发新话题
打印

简单的文本搜索(简易同学录编写源代码)开源

简单的文本搜索(简易同学录编写源代码)开源

这是在cfan论坛看到一位朋友的帖子练习写的,因为我对数据库操作不是很熟悉,但看到上校的回帖说可以用文本文件来保存,所以就尝试写了一个,功能很简单,方法也很简单,就是用ini配置文件来保存用户输入的信息,然后再通过简单的搜索显示出来。
这里我们要用到三个窗口,一个是主窗口,一个是登陆窗口,一个是添加用户信息和修改信息的窗口。
注窗口按照易的命名规则,我们是不可以更改窗口名称的,所以还是默认的“_启动窗口”,其他两个窗口我们将登陆窗口命名为“密码”,将添加和修改窗口命名为“输入”

主窗口中我们添加的组件有,一个菜单工具栏,有两个菜菜单项,分别是“添加”\“修改”,一个列表框,是用来保存用户搜索出来的姓名的,一个编辑框1是用来进行搜索内容的,一个编辑框2是用来显示内容的。操作思路如下。
当用户选择了菜单项中的添加后,就弹出输入窗口让用户进行操作。当用户在编辑框1里输入内容时,程序自动以编辑框里的内容为搜索条件对保存信息里的内容进行搜索,如搜索到,将内容(姓名)返回到列表框中,当用户选中列表框里的项目后,在编辑框2中显示出这项内容的详细信息,如果用户选中列表框里的项目再按下菜单中的“修改”菜单,就弹出输入窗口并读出所对应项目的信息让用户进行修改。

输入窗口添加的组件有五个标签组件,用来显示对应的提示内容,五个编辑框组件,用来输入并保存相对应的内容,一个按钮组件用来进行保存或修改操作,其中编辑框3和编辑框4的输入方式是整数输入方式,也就是说只能输入数字。

密码窗口添加了两个标签组件和两个编辑框组件,一个按钮组件。其中编辑框2组件的输入方式为密码输入,也就是说,输入的内容只能以*号显示出来。通过按钮组件来进行操作。
以下我们再来说代码,我们先从主窗口的代码开始。



我们看到上图中,在窗口的下边有一个切换标签,分别是:“窗口程序集1”,“输入”,“窗口程序集2”,“密码”,“_启动窗口”,“窗口程序集3”。这里是一个窗口对应一个窗口程序集,窗口程序集就是代码输入和修改的地方。我们现在要看的是窗口程序集1,它对应的就是主窗口.

我们首先设置程序运行后,自动检测系统桌面上有没有一个“同学录”的文件夹,如果没有程序就自动创建一个,有就返回不创建,接着弹出登陆窗口让用户进行登陆,主窗口自动隐藏。

以上这个事件就是当用户输入一个姓名后,程序自动进行搜索,如果搜索到了就将内容返回到列表框中,这里我们用到了数组操作和循环操作,将文件里的姓名全部付值到节名数组变量中,然后用一个循环来进行选择,将用户输入的内容做为一个搜索词在节名数组中进行搜索,如果搜索到了就显示出来,如果没有就不显示。

这个是当用户选中了列表框中的项目后,程序自动以列表框里的项目名称(即姓名)再次进行读取详细的信息,分别将信息全部读取出来并在编辑框2中显示出来。
接下来的窗口程序集2就是输入窗口的程序代码集。

因为这个窗口是集添加和修改的两个功能一身的,所以我们要加一个判断条件,就是列表框中有没有项目被选中,如果有项目被选中,那么就是用户要进行修改,所以我们就要在窗口创建完成后自动将信息读出来让用户进行修改。如果列表框中没有项目被选中,就是用户要新建输入,就弹出添加内容的窗口,也就是说不对内容进行读取了。判断条件命令就是 如果 (_启动窗口.列表框1.现行选中项 = -1) 其中-1就是没有被选中,所以就执行里边的代码,相反就执行外边的代码,请看如果命令的箭头,是两个相反的条件。


以上代码就是将用户输入的内容写入配置项目里,除了第一个(姓名是必须的外)其他的都可以为空,因为姓名是做为一个节名来显示的,所以必须得输入,否则程序无法查找。其他的如果用户没有输入内容,程序自动将内容设置为“用户没有输入”。在保存完后自动将各个编辑框的内容清空以便再次进行输入。
最后我们来说密码窗口的代码,也就是登陆窗口。

窗口弹出后,自动检测配置密码的文件是不是存在,如果存在就说明用户已经设置过密码了,那么程序就将按钮的标题设置为“登陆”,如果存放密码的文件不存在,就是说用户没有设置过密码,那么按钮的标题就设置为“创建用户”。我们是以按钮的标题来判断用户相对应的操作,按钮标题为“创建用户”时,我们就要让程序执行相对应的代码,将用户输入的内容保存到配置文件中去。相反,就要将配置文件中的密码读出来,然后和用户现在输入的密码相对照,来判断是不是要让用户登陆。


这里我们用到了加密,将用户输入的密码进行加密后再进行保存,如果按钮标题为“登陆”的话,那么程序就自动检测配置文件中的密码,并自动读取和解密,再和用户输入的密码内容进行对照,如果两者相符,就将密码窗口销毁,即退出该窗口,如果不相符,窗口就就保持现状并且没有反应(如果你喜欢,也可以加个提示信息)。
整个思路也就是这样。

[ 本帖最后由 海南仙岛 于 2008-3-10 20:57 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

不错,这个思路可以做很多类似的东西,例如:简单的人员管理
飚王 SSK 手机 SIM卡 读卡器 存储卡 SIM卡备份 一口价 25.00 元
http://shop57923176.taobao.com/?catId=108920983&queryType=cat&categoryName=yv3C68zYvNs%3D&encodeCategoriesName=y&search=y

TOP

教程做的不错,谢谢提供

TOP

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

TOP

好文章支持楼主

:)B :)B :)B

TOP

新手想问下~

如果模糊搜索,条件达到的情况下~

怎么样才能实现所有符合条件的都出现?

比如,现在有张华和张红两个人~

我输入张,只会出现一个~怎么样才能两个人同时出现呢?

TOP

在循环里加入一个判断条件,
如果真(寻找文本("被查找的文本","查找的文本",,)<>-1)

TOP

学习了,新手看不懂

TOP

感谢分享~~

TOP

新人过来瞧瞧·····

TOP

怎么下载不到?

TOP

新人过来  学习学习

TOP

ssssssssssssaaaaaaaadasdasd

TOP

教程做的不错,谢谢提供

TOP

ahd oiasd

ewf we wef wef wef wef wef wef we

TOP

发新话题