我是菜鸟,刚学了个delphi,有个程序看不懂求高手辅导
procedure TF_login.Button1Click(Sender: TObject);
var
  passwd, passwrd:String;
begin
  application.CreateForm(TDataModule1,DataModule1);
  With DataModule1 do
  begin
    Database.Connected:=False;
    Database.AliasName:=i_server_add.Text;
    Database.Connected:=True;
    T_user.Filter:='ID='''+i_user.Text+'''';
    T_user.Filtered:=True;
    T_user.Open;
    if T_user.RecordCount=1 then
    begin
      passwd:=i_passwd.Text;
      if length(passwd)>5 then
      begin
        passwd:=Copy(passwd+passwd,1,10);//统一密码长度
        passwd:=Encrypt(passwd,123);//加密
      end;
      passwrd:=T_user['PASSWD'];
      if (passwrd=passwd) and (T_user['AUTHORITY']='3') then
        begin
          F_main.login:=True;
        end
      else
       Application.MessageBox('请重新输入密码。'+#13+'注意大小写!','密码错误',MB_OK);
    end
    else
      Application.MessageBox('请确认用户名大小写是否正确!','无此用户',MB_OK);
    T_user.Close;
  end;
  if F_main.login then F_login.Close
   else DataModule1.Free;
end;

解决方案 »

  1.   

    动态生成DataModule1,进行密码验证登陆
      

  2.   

    procedure TF_login.Button1Click(Sender: TObject);
    var
      passwd, passwrd:String;
    begin
      application.CreateForm(TDataModule1,DataModule1); //创建TDataModule1的 DataModule1 实例  ;相当于 DataModule1 := TDataModule1.create(Application.Handle) 
      With DataModule1 do
      begin
      Database.Connected:=False; //先关闭掉 DataModule1.Database连接
      Database.AliasName:=i_server_add.Text; //吧DataModule1.Database.AliasName重新赋值
      Database.Connected:=True;//打开 DataModule1.Database连接
      T_user.Filter:='ID='''+i_user.Text+''''; //如i_user.Text := 'Aa' ;则设置T_user.Filter的值为 ID='AA'
      T_user.Filtered:=True;
      T_user.Open;
      if T_user.RecordCount=1 then
      begin
      passwd:=i_passwd.Text;
      if length(passwd)>5 then //密码长度一定要大于 5
      begin
    passwd:=Copy(passwd+passwd,1,10);//统一密码长度
    passwd:=Encrypt(passwd,123);//加密
      end;
      passwrd:=T_user['PASSWD'];
      if (passwrd=passwd) and (T_user['AUTHORITY']='3') then
      begin
    F_main.login:=True;
      end
      else
    Application.MessageBox('请重新输入密码。'+#13+'注意大小写!','密码错误',MB_OK);
      end
      else
    Application.MessageBox('请确认用户名大小写是否正确!','无此用户',MB_OK);

    T_user.Close;
      end;
      
      if F_main.login then 
    F_login.Close
      else 
      DataModule1.Free;
    end;
      

  3.   

    给你个建议,把每一句代码用得函数上Google、百度去搜一下就懂了.我刚开始看别人的代码就是这样学的。
      

  4.   

    建议先了解delphi语法,然后用熟你想读懂代码的所有功能(业务逻辑的深入了解),然后在读代码就会很有收获的。
      

  5.   

    没办法,只有一个建议了:去看delphi教程,从关键字,基本语法看起
      

  6.   

    先好好看看delphi相关文档书籍什么的吧,再去写程序。你要是没有可以看的书,就留下邮箱地址,我发给你,我也是刚刚开始搞delphi开发的
      

  7.   

    先动态生成DataModule1,再进行密码验证登陆 。
      

  8.   

    给我也发一份呗
    [email protected]
      

  9.   


     我想要一份,发给我吧 ,嘿嘿O(∩_∩)O~
    [email protected]
      

  10.   


    求资料,谢谢![email protected]
      

  11.   

    多看几个,然后自己试着用一下delphi,慢慢就会知道得多了!
      

  12.   

    2008年,我自学delphi。之前在大学的时候学过VB、VF。现在在我的书架上有《DELPHI技术方案宝典》、《DELPHI应用开发完全手册》、《DELPHI程序员成长攻略》、《DELPHI管理信息系统项目方案精解》、《DELPHI语言程序设计实例教程》、《DELPHI7数据库高级教程》、《DELPHI7开发实例完全剖析》、《DELPHI开发技术大全》、《DELPHI函数技术大全》、《DELPHI组件技术大全》。还有几本借给别人了。
    开始的时候,我下载了一个视频教程,是一个男老师讲解DELPHI的,跟着视频入门。再接着练习《DELPHI技术方案宝典》上随书光盘的例子学习一些应用。入门用了一个月的时间,后来我开始写一个程序,目的是为了解决公司的业务部门的报价单管理的。
    根据业务部实际的需要,我从登陆窗体一步一步的做起。开始的时候不懂把ADO控件放在一起,后来一步一步改善。最终我开发了属于自己的一个Unit算法库解决日常的数据库处理问题。这个算法库提供通用的算法,比如:加载一个DBGridEh、读取表用来创建树结构
    现在我有多个软件产品,但是依然对DELPHI一知半解。DELPHI是非常优秀的程序,如果您希望通过DELPHI赚得每月数千的报酬,并不困难——我的意思是,自己开发自由软件。
    好好学,我不算成功,但是至少是有一技防身。自从懂得一点DEIPHI开发后,我的生活有了很大的改善。