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

📄 unit21.~pas

📁 本程序提供了考试学生系统的原代码函数,并实现了很多程序难实现的功能
💻 ~PAS
字号:
unit Unit21;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, ExtCtrls, Psock, NMsmtp, Buttons;

type
  TForm21 = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit6: TEdit;
    BitBtn3: TBitBtn;
    NMSMTP1: TNMSMTP;
    OpenDialog1: TOpenDialog;
    Memo1: TMemo;
    RadioGroup1: TRadioGroup;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    StatusBar1: TStatusBar;
    Button2: TButton;
    SpeedButton1: TSpeedButton;
    ListBox1: TListBox;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure listbox1keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure SpeedButton1Click(Sender: TObject);
    procedure nmsmtp1authentication(var Handled: Boolean);
    procedure incomplete(var handled: Boolean; hiType: Integer);
    procedure connect(Sender: TObject);
    procedure Sendstart(Sender: TObject);
    procedure encode(Filename: String);
    procedure encodeend(Filename: String);
    procedure nmsmtpFailed(Sender: TObject);
    procedure Success(Sender: TObject);
    procedure disconnect(Sender: TObject);
    procedure connectfailed(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form21: TForm21;

implementation

{$R *.dfm}

procedure TForm21.FormCreate(Sender: TObject);
begin
statusbar1.Panels.Add;
radiobutton1.Checked:=true;
end;

procedure TForm21.BitBtn3Click(Sender: TObject);
begin
if edit1.Text<>''then
begin
 if nmsmtp1.Connected then
 nmsmtp1.Disconnect
 else
 begin
  nmsmtp1.Host:=edit1.Text ;
  nmsmtp1.UserID:=edit6.Text;
  try
  nmsmtp1.Connect;
  statusbar1.panels[0].text:='连接成功!';
  except
  statusbar1.panels[0].text:='连接失败!';
end;
end;
end
else
  statusbar1.panels[0].text:='主机不能为空!';
end;
procedure TForm21.Button2Click(Sender: TObject);
begin
if opendialog1.Execute then
 listbox1.items.add (opendialog1.filename);
end;

procedure TForm21.listbox1keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if key=vk_insert then
 if opendialog1.Execute then
 listbox1.items.add(opendialog1.FileName);
 if key=vk_delete then
 listbox1.items.delete(listbox1.itemindex);
end;

procedure TForm21.SpeedButton1Click(Sender: TObject);
begin
if nmsmtp1.Connected then
begin
case radiogroup1.ItemIndex of
 0:nmsmtp1.EncodeType:=uumime ;
 1:nmsmtp1.EncodeType:=uucode ;
end;
 nmsmtp1.PostMessage.FromAddress:=edit2.Text;
 nmsmtp1.PostMessage.toaddress.Text:=edit3.Text;
 nmsmtp1.PostMessage.Body.Text:=memo1.Text;
 nmsmtp1.PostMessage.Attachments.Text:=listbox1.items.Text;
 nmsmtp1.PostMessage.Subject:=edit4.Text;
 nmsmtp1.sendmail;
 end
 else
 statusbar1.Panels[0].Text:='警告:没有连上任何服务器!'
 end;
{procedure TForm21.Failed(Sender: TObject);
  var
  s:string;
begin
  s:=nmsmtp1.UserID;
  if inputquery('authentication failed','',s)
end;  }



procedure TForm21.nmsmtp1authentication(var Handled: Boolean);

  var
  s:string;
begin
  s:=nmsmtp1.UserID;
  if inputquery('authentication failed','invalid user id.new user id:',s)then
  begin
  nmsmtp1.UserID:=s;
  handled:=true;
end;
end;

procedure TForm21.incomplete(var handled: Boolean; hiType: Integer);
 var
 s:string;
begin
 case hitype of
 hifromaddress:
 if inputquery('missing from address','enter from address:',s)then
 begin
   nmsmtp1.PostMessage.FromAddress:=s;
   handled:=true;
   end;
 hitoaddress:
 if inputquery('missing to address','enter to address:',s)then
 begin
   nmsmtp1.PostMessage.toAddress.Text:=s;
   handled:=true;
   end;
end;
end;
procedure TForm21.connect(Sender: TObject);
begin
statusbar1.Panels[0].Text:='正在连接!';
end;

procedure TForm21.Sendstart(Sender: TObject);
begin
 statusbar1.Panels[0].Text:='开始发送!';
end;

procedure TForm21.encode(Filename: String);
begin
 statusbar1.Panels[0].Text:='开始解码!';
end;

procedure TForm21.encodeend(Filename: String);
begin
 statusbar1.Panels[0].Text:='解码完毕!';
end;

procedure TForm21.nmsmtpFailed(Sender: TObject);
begin
 statusbar1.Panels[0].Text:='由于某些原因,邮件发送失败,请检查网络后再重发!';
end;

procedure TForm21.Success(Sender: TObject);
begin
 statusbar1.Panels[0].Text:='邮件已经成功发送!';
end;

procedure TForm21.disconnect(Sender: TObject);
begin
 statusbar1.Panels[0].Text:='连接断开!';
end;


procedure TForm21.connectfailed(Sender: TObject);
begin
  statusbar1.Panels[0].Text:='连接失败!';
end;

end.

⌨️ 快捷键说明

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