Delphi小区能源管理系统 第7页
主要数据:选择备份、恢复路径。经过身份验证后清理数据,均进行计费。
基本操作:选择路径,完成备份、恢复。清除数据。
所在位置:系统维护窗口。
5.3 系统的详细设计
详细设计阶段的根本目的是根据之前的整体设计,采用工具具体的实现目标系统,也就是说这个阶段的设计工作 ,应该得出目标系统的精确描述,从而字编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
在详细设计过程中将结合具体Delphi开发工具,实现之前规划好的各个功能模块。
5.3.1 数据模块与ini文件的引入(DM.pas、confige.ini) 序号
为了提高系统的可维护性,系统性,以及代码实现的易用性。此系统,将连接数据库,相应功能模块的数据集合统一创建一个数据模块(DataModule)上,同时系统的公共函数也同时写道这个单元中。
连接数据库主要使用ADOc(ADOConnection)通过读取confige.ini文件中的配置信息完成连接;对于具体表操作采用ADODs(ADODataSet),没有返回结果集的操作使用ADOqry1(ADOQuery),执行一条Sql语句的话使用ADOcmd(ADOCommand)。
Ini文件中存储着系统相关配置项目:其中dbpwd中为加密之后的字符串,登录时解密之后完成在使用其进行数据库连接。
5.3.2 欢迎窗口的实现(Ufrmfirst.pas)
欢迎窗口会让用户留下系统的第一印象,尽量美观,在开始窗体中加入了Image、Time、ProgressBar、Label组件。
图5—2 欢迎窗口
5.3.3 用户登录窗体的的实现(UFlogin.pas)
实现用户登录认证,在此窗体创建的时候,将已经注册的操作员全部添加到操作员Combobox中,注册过的操作员只要通过鼠标点选就可以实现输入,敲击回车可以将焦点移动到密码输入框,再敲击回车可以快捷登录。并且跟据用户名检查czyinfo表中的“权限”字段,按照权限的描述赋予该操作员相应得使用权限。具体实现思想:当用户确定了身份和密码,确定登录的时候,系统会将输入的密码加密之后与czyinfo表中的记录进行比较,如果有此条记录认为登录成功,返回相应得权限。
图5—3 系统登陆
此外次登录窗口对登录次数作了控制,如果三次登录失败就会自动退出系统,防止恶意破解。如果认证通过将本身释放(action:=cafree),主窗口显示。当输入用户名和密码电击确定onclick事件中代码:
procedure TFlogin.BitBtn1Click(Sender: TObject);//登陆按钮电击事件儿。
var sqltmp:string;
begin
with dm.ADOqry1 do//使用dm上的ADOqry1控件完成登陆操作。
begin
Close;
SQL.Clear;
sqltmp:= 'select * from czyinfo where name='+''''+ComboBox1.Text+''' and pwd='+''''+dm.Decrypt(edit1.text,'love')+'''';
sql.Add(sqltmp) ;
Open;
end;
if not(dm.ADOqry1.RecordCount >0) then
begin
showmessage('用户名or密码错误');
i:=i+1;
if i>2 then//失败登陆三次,系统自动退出。
begin
showmessage('登陆次数超出允许值!');
Application.Terminate;
end;
end
else
begin
系统流程图如下:
图5—4登陆系统流程图
//为系统全局变量user、purview、pwd赋值操作。
dm.Guser:=ComboBox1.Text;//dm.ADOqry1.FieldByName('name').AsString;
dm.Gpurview:=dm.ADOqry1.FieldByName('purview').AsString;
dm.Gpwd:=edit1.Text;
//初始化statusBar。
frmmain.initstatusBar;//调用了frmmain单元的一个公共方法:initstatusBar。
self.close;//关闭自己
end;
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>