⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmaddnewuser.pas

📁 Mailserver Source code - Delphi. Simple Mail server source code. SMTP and POP3 protocols.
💻 PAS
字号:
unit FrmAddNewUser;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DBCtrls, Mask, Buttons, ExtCtrls;

type
  TFrmAddNewUser1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Memo1: TMemo;
    Label10: TLabel;
    Edit9: TEdit;
    CheckBox1: TCheckBox;
    Bevel1: TBevel;
    Panel5: TPanel;
    HintLabel: TLabel;
    Image1: TImage;
    Bevel2: TBevel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    procedure EditChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
  private
    { Private declarations }
    USERID  :String;
    DOMAINID:String;
    Procedure Add_IniExternalForm;
    Function  AddExternalUser:BooLean;
    procedure Modify_IniExternalForm(AUSERID:string);
    Function  ModifyExternalUser:boolean;
  public
    { Public declarations }
    function  Checktrue:boolean;
    Procedure SetUserAndDomain(AUSERID,ADOMAINID:String);
  end;

var
  FrmAddNewUser1: TFrmAddNewUser1;

implementation

uses UnitDataModule, frmAddexternalnewuse;

{$R *.dfm}

Procedure TFrmAddNewUser1.SetUserAndDomain(AUSERID,ADOMAINID:String);
begin
  USERID   :=AUSERID;
  DOMAINID :=ADOMAINID;
end ;
//合法性检查--------------------------------------------------------------------
function TFrmAddNewUser1.Checktrue:boolean;
var
  i:integer;
begin
  result:=true;
  //用户名是否为空
  if trim(edit1.Text)='' then
  begin
    application.MessageBox('请输入由字母和数字组成的用户名。','提示信息',MB_ok or MB_ICONINFORMATION);
    result:=false;
    Label1.Font.Color:=clred;
    exit;
  end;
  Label1.Font.Color:=clWindowText;
  //检查用户名是否包含非法字符
  for i:=1 to length(edit1.Text) do
  begin
    if (edit1.Text[i]<#48) or (edit1.Text[i]>#122) or ((edit1.Text[i]>#57) and (edit1.Text[i]<#65))
       or ((edit1.Text[i]>#90) and (edit1.Text[i]<#97)) then
    begin
      application.MessageBox('请输入由字母和数字组成的用户名。','提示信息',MB_ok or MB_ICONINFORMATION);
      result:=false;
      Label1.Font.Color:=clred;
      exit;
    end;
  end;
  Label1.Font.Color:=clWindowText;
  //密码是否为空
  if trim(edit2.Text)='' then
  begin
    application.MessageBox('请输入由字母和数字组成的密码。','提示信息',MB_ok or MB_ICONQUESTION);
    result:=false;
    Label2.Font.Color:=clred;
    exit;
  end;
  label2.Font.Color:=clWindowText;
  //检查密码名是否包含非法字符
  for i:=1 to length(edit2.Text) do
  begin
    if (edit2.Text[i]<#48) or (edit2.Text[i]>#122) or ((edit2.Text[i]>#57) and (edit2.Text[i]<#65))
       or ((edit2.Text[i]>#90) and (edit2.Text[i]<#97)) then
    begin
      application.MessageBox('请输入由字母和数字组成的密码。','提示信息',MB_ok or MB_ICONQUESTION);
      result:=false;
      Label2.Font.Color:=clred;
      exit;
    end;
  end;
  label2.Font.Color:=clWindowText;
  if edit2.Text<>Edit9.Text then
  begin
    application.MessageBox('请确认两次密码输入是否正确。','提示信息',MB_ok or MB_ICONQUESTION);
    result:=false;
    Label2.Font.Color:=clred;
    Label10.Font.Color:=clred;
    exit;
  end;
  label2.Font.Color:=clWindowText;
  Label10.Font.Color:=clWindowText;
end;
//------------------------------------------------------------------------------

procedure TFrmAddNewUser1.EditChange(Sender: TObject);
begin
  BitBtn1.Enabled:=true;
end;

procedure TFrmAddNewUser1.FormCreate(Sender: TObject);
begin
 DOMAINID :='';
 USERID   :='';
end;

//清空新建窗口的内容
procedure  TFrmAddNewUser1.Add_IniExternalForm;
begin
 with  AddexternalnewuseForm do
  begin
    Caption:='增加外部用户';
    HintLabel.Caption:='增加外部用户';
    edit1.Color:=clWindow;
    edit1.ReadOnly:=false;
    edit1.Text:='';
    edit2.Text:='';
    edit3.Text:='';
    edit4.Text:='';
    edit5.Text:='';
    CheckBox1.Checked:=false;
    BitBtn1.Enabled:=false;
 end ;
end;
//增加用户
Function TFrmAddNewUser1.AddExternalUser:BooLean;
var
  DefaultTag:string;
  Fm:TAddexternalnewuseForm;
begin
  result:=false;
  //是否已存在该用户
  if UnitDataModule1.CheckIsExistsExternalUserID(USERID)=false then
  begin
    {----------}
    Fm:= AddexternalnewuseForm ;

     if  Fm.CheckBox1.Checked=true then
        DefaultTag:='1'
      else
        DefaultTag:='0';

      if UnitDataModule1.AddExternalNewUserID(USERID,DOMAINID,
             Fm.Edit1.Text,Fm.Edit2.Text,Fm.Edit3.Text,Fm.Edit4.Text,
             Fm.Edit5.Text,DefaultTag)=true then
      begin
        result:=true;
      end
      else begin
        application.MessageBox('新建外部邮箱失败。','提示信息',MB_ok or MB_ICONQUESTION);
      end;
  end
    {-----------}
  else begin
    application.MessageBox('外部邮箱已存在。','提示信息',MB_ok or MB_ICONQUESTION);
  end;
end;


//修改外部数据的数据
procedure TFrmAddNewUser1.Modify_IniExternalForm(AUSERID:string);
var
  MyList:TStringList;
  Fm:TAddexternalnewuseForm;
begin
  MyList:=TStringList.Create;
  try
    MyList.Clear ;
    MyList.text:=UnitDataModule1.GetOneExternalUserInfo(AUSERID);
    if  MyList.Count>5 then
    begin
      Fm :=AddexternalnewuseForm;
      Fm.Caption:='修改外部邮箱资料';
      Fm.HintLabel.Caption:='修改外部邮箱资料';
      Fm.edit1.text:=MyList.Strings[0];
      Fm.edit2.text:=MyList.Strings[1];
      Fm.edit3.text:=MyList.Strings[2];
      Fm.edit4.text:=MyList.Strings[3];
      Fm.edit5.text:=MyList.Strings[4];

      if MyList.Strings[5]='0' then
        Fm.CheckBox1.Checked:=false
      else
        Fm.CheckBox1.Checked:=true;

      Fm.BitBtn1.Enabled:=false;
    end;
  finally
    MyList.free;
  end;
end;
//------------------------------------------------------------------------------

//修改
function TFrmAddNewUser1.ModifyExternalUser:boolean;
var
  DefaultTag:string;
  Fm:TAddexternalnewuseForm;
begin
  result:=false;
  Fm:=AddexternalnewuseForm;  
  if Fm.checkbox1.Checked=true then
    DefaultTag:='1'
  else
    DefaultTag:='0';

  if UnitDataModule1.ModifyExternalUserInfo(USERID,
                  Fm.Edit1.Text,Fm.Edit2.Text,Fm.Edit3.Text,
                  Fm.Edit4.Text,Fm.Edit5.Text,DefaultTag)=true then
   begin
     result:=true;
   end
   else begin
     application.MessageBox('修改用户外部邮箱资料失败。','提示信息',MB_ok or MB_ICONQUESTION);
   end;
end;

procedure TFrmAddNewUser1.BitBtn3Click(Sender: TObject);
begin
 if UnitDataModule1.CheckIsExistsExternalUserID(USERID)=False then
  begin
   Add_IniExternalForm; //先清空
   if AddexternalnewuseForm.ShowModal=mrOk then
      if AddExternalUser=true then ;
  end
 else
  begin
    Modify_IniExternalForm(USERID); //////////////
    
    if AddexternalnewuseForm.ShowModal=mrOk then
      if ModifyExternalUser=true then ;
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -