📄 mailacct.pas
字号:
unit MailAcct;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TMailAccount = class(TForm)
Label1: TLabel;
eDisplayName: TEdit;
Label2: TLabel;
eAccount: TEdit;
lPassword: TLabel;
ePassword: TEdit;
Label3: TLabel;
eSMTPHost: TEdit;
Label4: TLabel;
eSMTPPort: TEdit;
Label5: TLabel;
ePopHost: TEdit;
Label6: TLabel;
ePopPort: TEdit;
btnOK: TButton;
btnCancel: TButton;
cbDelete: TCheckBox;
procedure btnOKClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MailAccount: TMailAccount;
function SetAccount(var DisplayName, UserID, Password, SMTPHost, POPHost: string;
var SMTPPort, POPPort, Style: Integer): Boolean;
implementation
uses
MailCenter;
{$R *.DFM}
function SetAccount(var DisplayName, UserID, Password, SMTPHost, POPHost: string;
var SMTPPort, POPPort, Style: Integer): Boolean;
begin
with TMailAccount.Create(nil) do
try
eDisplayName.Text := DisplayName;
eAccount.Text := UserID;
ePassword.Text := Password;
eSMTPHost.Text := SMTPHost;
eSMTPPort.Text := IntToStr(SMTPPort);
ePOPHost.Text := POPHost;
ePOPPort.Text := IntToStr(POPPort);
cbDelete.Checked := Style and maDeleteAfterDownload = maDeleteAfterDownload;
if ShowModal = mrOK then
begin
Style := 0;
if cbDelete.Checked then
Style := maDeleteAfterDownload;
DisplayName := eDisplayName.Text;
UserID := eAccount.Text;
Password := ePassword.Text;
SMTPHost := eSMTPHost.Text;
SMTPPort := StrToIntDef(eSMTPPort.Text, 25);
POPHost := ePOPHost.Text;
POPPort := StrToIntDef(ePOPPort.Text, 110);
Result := True;
end
else
Result := False;
finally
Free;
end;
end;
procedure TMailAccount.btnOKClick(Sender: TObject);
begin
if eDisplayName.Text = '' then
begin
eDisplayName.SetFocus;
eDisplayName.SelectAll;
MessageBox(Handle, '必须输入显示名称', '错误', MB_ICONERROR or MB_OK);
end
else if eAccount.Text = '' then
begin
eAccount.SetFocus;
eAccount.SelectAll;
MessageBox(Handle, '必须输入账号', '错误', MB_ICONERROR or MB_OK);
end
else if eSMTPHost.Text = '' then
begin
eSMTPHost.SetFocus;
eSMTPHost.SelectAll;
MessageBox(Handle, '必须输入发送服务器', '错误', MB_ICONERROR or MB_OK);
end
else if ePOPHost.Text = '' then
begin
ePOPHost.SetFocus;
ePOPHost.SelectAll;
MessageBox(Handle, '必须输入接收服务器', '错误', MB_ICONERROR or MB_OK);
end
else
ModalResult := mrOK;
end;
procedure TMailAccount.FormShow(Sender: TObject);
begin
eDisplayName.SetFocus;
eDisplayName.SelectAll;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -