bsp; edit6.text:=opendialog1.FileName; NMSMTP1.PostMessage.Body.LoadFromFile(edit6.text); end; end;
procedure TForm1.Button4Click(Sender: TObject); begin if opendialog1.Execute then begin ListBox1.Items.Add(opendialog1.filename); end; end;
procedure TForm1.Button2Click(Sender: TObject); begin if opendialog1.Execute then begin button1.Caption:=''''开始发信''''; button1.Enabled:=true; startsen:=false; sendsuc:=0; sendfal:=0; cursennum:=0; ComboBox1.Items.LoadFromFile(opendialog1.FileName); ComboBox1.text:=ComboBox1.items.strings[0]; totaco:=combobox1.Items.Count; statusbar1.Panels[3].text:=''''总共(''''+inttostr(totaco)+'''')封''''; end else begin showmessage(''''由于您未选择字典文件,因此请您在收信栏中手工填加。''''); combobox1.SetFocus; end; end;
procedure TForm1.NMSMTP1Success(Sender: TObject); begin if startsen then SendNextmail(sendsuc); end;
procedure TForm1.NMSMTP1Failure(Sender: TObject); begin if startsen then SendNextmail(sendfal); end;
procedure TForm1.Button1Click(Sender: TObject); begin if edit4.text='''''''' then begin showmessage(''''请在收信服务器栏中填入收信群体的服务器''''+#13+ '''' 例如:要寄到 xxx@yyy.nnn 则填入 yyy.nnn''''); edit4.SetFocus; end else if combobox1.text='''''''' then begin showmessage(''''请读入地址字典文件。''''); button2.SetFocus; button2.Click; end else begin if startsen then begin startsen:=false; button1.Caption:=''''继续发信''''; edit1.Enabled:=true; edit2.Enabled:=true; edit3.Enabled:=true; edit4.Enabled:=true; combobox1.Enabled:=true; button2.Enabled:=true; end else begin edit1.Enabled:=false; edit2.Enabled:=false; edit3.Enabled:=false; edit4.Enabled:=false; combobox1.Enabled:=false; button2.Enabled:=false; startsen:=true; NMSMTP1.Host := Edit1.Text; NMSMTP1.Port := StrToInt(Edit3.Text); NMSMTP1.UserID := Edit2.Text; button1.Caption:=''''暂停发信''''; {if not connal then begin NMSMTP1.Connect; connal:=true; showmessage(''''yes''''); end;} NMSMTP1.PostMessage.FromAddress := Edit9.Text; NMSMTP1.PostMessage.FromName := Edit8.Text; NMSMTP1.PostMessage.Subject := Edit5.Text; SendNextmail(sendsuc); end; end; end; procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin NMSMTP1.Abort; end;
procedure TForm1.NMSMTP1ConnectionFailed(Sender: TObject); begin ShowMessage(''''连接失败''''); connal:=false;; end;
procedure TForm1.NMSMTP1ConnectionRequired(var Handled: Boolean); begin If MessageDlg(''''您还未连线是否进行连接'''', mtConfirmation, mbOkCancel, 0) = mrOk then Begin Handled := TRUE; NMSMTP1.Connect; End;
end;
procedure TForm1.NMSMTP1InvalidHost(var Handled: Boolean); var tmpstr:string; begin If InputQuery(''''输入邮件服务器地址!'''', ''''请输入邮件服务器地址:'''',tmpstr) then Begin NMSMTP1.Host := tmpstr; edit1.text:=tmpstr; Handled := TRUE; End;
end;
procedure TForm1.FormCreate(Sender: TObject); begin connal:=false; startsen:=false; end;
procedure TForm1.Edit1Change(Sender: TObject); var tmpstr:string; begin tmpstr:=edit1.text; NMSMTP1.Host := tmpstr; end; procedure TForm1.Edit2Change(Sender: TObject); begin NMSMTP1.UserID := Edit2.Text; end;
procedure TForm1.Button5Click(Sender: TObject); begin ListBox1.Clear; end;
procedure TForm1.Edit8KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=vk_return then edit9.SetFocus; end;
procedure TForm1.Edit9KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=vk_return then edit5.SetFocus; end;
procedure TForm1.Edit6KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=vk_return then edit1.SetFocus; end;
procedure TForm1.Edit5KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=vk_return then button3.SetFocus; end;
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=vk_return then edit2.SetFocus;
end;
procedure TForm1.Edit2KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=vk_return then edit4.SetFocus; end;
procedure TForm1.Edit4KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (key=vk_return)then if (combobox1.Items.Count=0) then button2.SetFocus else button1.setfocus; end;
procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (key=vk_return) and (comboBox1.Text<>'''''''') then begin ComboBox1.Items.Add(ComboBox1.text); ComboBox1.text:=''''''''; totaco:=combobox1.Items.Count; statusbar1.Panels[3].text:=''''总共(''''+inttostr(totaco)+'''')封''''; end; end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=vk_f1 then form1.helpshow; end;
end.
好了,完成以上几步后,接下来我们只要为各个组件联系到各自所对应的事件,那吗我们用 Delphi 所做的发信机也就几呼完成了。当然您也可以对它进行修改,以让它更符合您的口味。虽然步骤多了点,不过至少我们做出了自己的一个发信机。
最后偷偷的告诉您一下,您想偷懒吗,如果是,那吗,嘿嘿 …,那就..
快找小梦要完整的程序代码,可要快哦,不然小梦过几天就跑掉了哦。小梦的伊妹儿是 :su_ye@163.net,主页 www.suye.8u8.com
上一页 [1] [2] [电脑技术]使用?和*两个通配符迅速批量(搜索)查找文件 [聊天工具]快速又高效 用Email免费发送网络传真__天极Yesky [系统软件]InstallShield Express for delphi制作安装程序定… [常用软件]InstallShield Express制作Delphi数据库安装程序 [常用软件]网管工具 用OH协助服务器进行安全监控 [常用软件]留住精彩 用“数码故事”制作DVD光碟 [常用软件]小块头有大智慧 用Nero轻松设计个性化光盘 [常用软件]技高一筹 用Winamp播放影碟 [VB.NET程序]用 VB 实现表单的自动提交 [VB.NET程序]用 VB 打开任意盘(硬盘/U盘/光盘)的文件.
|