?? mailaccts.pas
字號(hào):
unit MailAccts;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls;
type
TMailAccounts = class(TForm)
lvAccounts: TListView;
Label1: TLabel;
btnCancel: TButton;
btnAdd: TButton;
btnProperty: TButton;
btnDelete: TButton;
procedure FormShow(Sender: TObject);
procedure btnAddClick(Sender: TObject);
procedure btnPropertyClick(Sender: TObject);
procedure lvAccountsDblClick(Sender: TObject);
procedure btnDeleteClick(Sender: TObject);
private
public
procedure Init;
end;
var
MailAccounts: TMailAccounts;
procedure SetMailAccounts;
implementation
uses
MailCenter, MailAcct;
{$R *.DFM}
procedure SetMailAccounts;
begin
with TMailAccounts.Create(nil) do
try
ShowModal;
finally
Free;
end;
end;
procedure TMailAccounts.Init;
var
mi: TListItem;
begin
lvAccounts.Items.BeginUpdate;
try
lvAccounts.Items.Clear;
with MailCenterForm.tbMailAccount do
begin
First;
while not Eof do
begin
mi := lvAccounts.Items.Add;
mi.Caption := FieldByName('DISPLAY').AsString;
mi.SubItems.Add(FieldByName('USERID').AsString);
mi.SubItems.Add(FieldByName('SMTPHOST').AsString);
mi.SubItems.Add(FieldByName('SMTPPORT').AsString);
mi.SubItems.Add(FieldByName('POPHOST').AsString);
mi.SubItems.Add(FieldByName('POPPORT').AsString);
if FieldByName('STYLE').AsInteger and maDeleteAfterDownload = maDeleteAfterDownload then
mi.SubItems.Add('下載后刪除')
else
mi.SubItems.Add('');
mi.Data := Pointer(FieldByName('ACCOUNTID').AsInteger);
Next;
end;
end;
finally
lvAccounts.Items.EndUpdate;
end;
end;
procedure TMailAccounts.FormShow(Sender: TObject);
begin
Init;
lvAccounts.SetFocus;
end;
procedure TMailAccounts.btnAddClick(Sender: TObject);
var
DisplayName, UserID, Password, SMTPHost, POPHost: string;
SMTPPort, POPPort, Style: Integer;
begin
DisplayName := '';
UserID := '';
Password := '';
SMTPHost := '';
SMTPPort := 25;
POPHost := '';
POPPort := 110;
Style := maDeleteAfterDownload;
if SetAccount(DisplayName, UserID, Password, SMTPHost, POPHost, SMTPPort, POPPort, Style) then
begin
with MailCenterForm.tbMailAccount do
begin
Append;
try
FieldByName('DISPLAY').AsString := DisplayName;
FieldByName('USERID').AsString := UserID;
FieldByName('PASSWORD').AsString := Password;
FieldByName('SMTPHOST').AsString := SMTPHost;
FieldByName('SMTPPORT').AsInteger := SMTPPort;
FieldByName('POPHOST').AsString := POPHost;
FieldByName('POPPORT').AsInteger := POPPort;
FieldByName('STYLE').AsInteger := Style;
Post;
except
Cancel;
raise;
end;
end;
Init;
end;
end;
procedure TMailAccounts.btnPropertyClick(Sender: TObject);
var
DisplayName, UserID, Password, SMTPHost, POPHost: string;
SMTPPort, POPPort, Style: Integer;
begin
if lvAccounts.Selected = nil then
begin
MessageBox(Handle, '請(qǐng)先選擇一個(gè)賬號(hào)', '錯(cuò)誤', MB_ICONERROR or MB_OK);
Exit;
end;
with MailCenterForm.tbMailAccount do
begin
if not Locate('ACCOUNTID', Integer(lvAccounts.Selected.Data), []) then Exit;
DisplayName := FieldByName('DISPLAY').AsString;
UserID := FieldByName('USERID').AsString;
Password := FieldByName('PASSWORD').AsString;
SMTPHost := FieldByName('SMTPHOST').AsString;
SMTPPort := FieldByName('SMTPPORT').AsInteger;
POPHost := FieldByName('POPHOST').AsString;
POPPort := FieldByName('POPPORT').AsInteger;
Style := FieldByName('STYLE').AsInteger;
end;
if SetAccount(DisplayName, UserID, Password, SMTPHost, POPHost, SMTPPort, POPPort, Style) then
begin
with MailCenterForm.tbMailAccount do
begin
Edit;
try
FieldByName('DISPLAY').AsString := DisplayName;
FieldByName('USERID').AsString := UserID;
FieldByName('PASSWORD').AsString := Password;
FieldByName('SMTPHOST').AsString := SMTPHost;
FieldByName('SMTPPORT').AsInteger := SMTPPort;
FieldByName('POPHOST').AsString := POPHost;
FieldByName('POPPORT').AsInteger := POPPort;
FieldByName('STYLE').AsInteger := Style;
Post;
except
Cancel;
raise;
end;
end;
Init;
end;
end;
procedure TMailAccounts.lvAccountsDblClick(Sender: TObject);
begin
if lvAccounts.Selected <> nil then btnProperty.Click;
end;
procedure TMailAccounts.btnDeleteClick(Sender: TObject);
begin
if lvAccounts.Selected = nil then
begin
MessageBox(Handle, '請(qǐng)先選擇一個(gè)賬號(hào)', '錯(cuò)誤', MB_ICONERROR or MB_OK);
Exit;
end;
with MailCenterForm.tbMailAccount do
if Locate('ACCOUNTID', Integer(lvAccounts.Selected.Data), []) then Delete;
Init;
end;
end.
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -