曾经写的一份邮件群发需求

以前想做一个邮件群发产品,做了几次,反复都存在问题,进垃圾箱了,数量多了发不出去了,等等各种问题,于是整理了以下需求,记录下,抽空有时间做下。
1.程序根据指定的关键词可以选择在百度,谷歌,搜狗,搜搜,雅虎浏览器搜索;在搜索结果中里面的页面提取邮箱地址,可以利用正则表达式提取,选择提取前10页,20页,或者更多,可以自定义设置。
2.可以自动注册邮箱,比如163邮箱,提取验证码部分,输入一个验证码注册一个邮箱,邮箱帐号BaiduNew_随机数或字母,在列表框中可以添加并删除注册的邮箱,利用注册的邮箱发邮件,可以选择随机?选择邮箱?帐号发,可以选择?按照邮箱顺序?发送。(列表框显示的帐号密码都是明文)
3.发送内容可以编辑,可以发送HTML邮件。保证每封邮件都不完全一样,其中可以在发送头部,中部,尾部插入一段随机数,然后颜色设置为白色,这样看不清数字了就。与背景色一致。每封邮件?后面?添加一个字符串,字符串信息在程序编译前定下,在程序中代码行写明注释。
4.显示发送成功和未发送成功。
 

Delphi记事本编程代码

新建文件:form1.memo1.lines.Clear; //清空MEMO1
打开文件:
form1.OpenDialog1.execute;
form1.Memo1.Lines.LoadFromFile(form1.OpenDialog1.filename);
保存文件:
form1.saveDialog1.execute;
form1.Memo1.Lines.savetoFile(form1.saveDialog1.filename);
退出:close; //关闭
编辑操作:
form1.Memo1.cuttoclipboard; //剪切
form1.Memo1.CopyToClipboard; //复制
form1.Memo1.PasteFromClipboard;// 粘贴
form1.Memo1.clearselection; //删除选中内容
字体相关设置:
memo1.Font.style:=memo1.Font.Style +[fsbold];//加粗
memo1.Font.style:=memo1.Font.Style +[fsitalic]; //加斜
memo1.Font.style:=memo1.Font.Style +[fsunderline]; //加下划线
fontdialog1.Execute;
memo1.Font:=fontdialog1.Font; //字体选择代码
memo1.font.color:=clred; //设置字体颜色为红色

初学Delphi一点笔记

初学Delphi一点笔记
F1?? 调用帮助MSDN
Inc(variadle,加量),Dec(variadle,减量)? 增减函数
Concat(str1,str2) 字符串连接函数
Dispose(指针)? 释放内存
Low(A)和High() 数组最小值和最大值
Result返回值
利用句柄可以防止程序运行多个实例
 
Delhpi基本控件
showmessage(‘显示消息函数’);
MainMeun 贴窗体导航菜单控件 – 绑定事件
PopupMenu 弹出菜单? – 绑定事件
颜色控件 form1.Color := ColorBox1.Selected;
 
Delphi 关键字(加粗显示)
Unit 单元 end. //单元部分代码
interface //单元内的过程,变量,函数等
uses //(系统级别单元)引用单元,Ctrl+单元名称(查看单元底层代码)
type //声明对象类型 TFrom1 = class(TForm) 窗口类 实例化
private //定义只供本单元使用的函数或者过程
public? //定义其他单元可引用的函数或者过程
implementation //已完成头部文件定义
 
Delphi常用快捷键
ctrl+shift+上/下方向键: 在声明与实现之间切换
ctrl+shift+数字键:设置标签
ctrl+数字键:转到标签
ctrl+y:删除该行
ctrl+z:恢复删除
F11:在对象与属性之间切换
F12:在界面与单元之间切换
 
数据类型
integer,Boolean,Double,TDateTime
function函数(有参数)和procedure过程(无参数)
ctrl+shift+c (跳到过程);
 
数组 循环赋值:
for i:= Low(array1) to High(array1) do
array1[i]:=i;
 
WebBrowser控件显示网页
WebBrowser1.Navigate(‘www.163.com’);
 
输入输出对话框函数应用
var str1,str2:string;
str2:=inputbox(‘提示标题’,’请输入参数’,str1);
showmessage(str2);

编译文件被感染,生成软件报毒,delphi朋友

大家检查下安装目录
lib下的SysConst.dcu文件,大小,如果为17KB,被感染了。我的是18K,目前5个杀毒,瑞星,卡巴,AVG等检测到了病毒
SysConst.dcu正式大小应该为12KB不到点点。lib/debug目录下有SysConst.dcu,SysConst.bak(改名回来)文件,替换回来就可以恢复正常!
我也不知道我是怎么感染的。
卡饭朋友的疑问
http://www.kpfans.com/bbs/thread-539760-1-1.html
http://www.unpack.cn/viewthread.php?tid=39339
基本都是8.16号后的问题。并非误报!
替换回正规SysConst.dcu问题解决了!大家查看下巴。免得自己写的东西被人说病毒
可能是某个控件带来的问题!
此文转载于:http://club.itqun.net/showtopic.aspx?forumid=48&forumpage=1&topicid=104490&go=next
卡饭论坛,杀毒太强大了,不是杀毒软件一个程序,月月也是一个病毒专家,太佩服了,病毒专家,真好,加油…

Delphi过程与函数异同

? ?过程和函数不同,函数必须有返回值,过程则没有。
可以采用变量参数的方式使过程也能返回处理过的值。
类TForm1的函数,必须采用ObjectName.functionName的方式调用(TForm1自身的函数或方法除外)。
单元Unit1的函数,可看作公共函数,只要其他单元引用了Unit1,就可以使用该函数 。

过程:

procedure Hello;
begin
ShowMessage ('Hello world!');
end;

调用:Hello;
函数:

function Double (Value: Integer) : Integer;
begin
Double := Value * 2;? //函数名做返回值
end;
function Double2 (Value: Integer) : Integer;
begin
Result := Value * 2; //Result作返回值
end;

ShellExecute函数学习

记得曾经用VB调用外部连接一句代码实现了,用到了SHELL函数,在Delphi中需要加入函数所在的单元,Delphi中ShellExecute函数所在的单元是shellapi也就是加入下面代码:
uses shellapi
下面介绍这个函数的用途:
//调用可执行文件:
ShellExecute(Handle, ‘open’, PChar(‘c:\test.exe’), nil, nil, SW_SHOW);
//记事本并打开一个文本文件 (系统知道记事本程序的位置,所以我们不必给出完整路径):
ShellExecute(Handle, ‘open’, PChar(‘notepad’), PChar(‘c:\readme.txt’), nil, SW_SHOW);
//打印一个文档:
ShellExecute(Handle, ‘print’, PChar(‘c:\test.doc’), nil, nil, SW_SHOW);
//打开一个HTML网页,本地的或远程的:
ShellExecute(Handle, ‘open’, PChar(‘http://www.0535code.com/’), nil, nil, SW_SHOW);
//打开HTML帮助文件:
ShellExecute(Handle, ‘open’, PChar(‘c:\windows\help.chm’), nil, nil, SW_SHOW);
//浏览文件夹:
ShellExecute(Handle, ‘explore’, PChar(‘c:\windows)’, nil, nil, SW_SHOW);
//运行DOS命令并立即返回:
ShellExecute(Handle, ‘open’, PChar(‘command.com’), PChar(‘/c copy file1.txt file2.txt’), nil,SW_SHOW);
//运行DOS命令,保持DOS窗口是开着的:
ShellExecute(Handle, ‘open’, PChar(‘command.com’), PChar(‘/k dir’), nil, SW_SHOW);

Delphi自动启动代码

Delphi自启动代码:

unit Unit1;
//download by wangchi http://www.0535code.com

interface

uses
Windows,Registry, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
procedure SetAutorun(aProgTitle,aCmdLine: string; aRunOnce: boolean );
var
hKey: string;
hReg: TRegIniFile;
begin
if aRunOnce then
//程序只自动运行一次
hKey := 'Once'
else
hKey := '';
hReg := TRegIniFile.Create('');
//TregIniFile类的对象需要创建
hReg.RootKey := HKEY_LOCAL_MACHINE;
//设置根键
hReg.WriteString('Software\Microsoft\Windows\CurrentVersion\Run'
+ hKey + #0,
aProgTitle,
//程序名称,可以为自定义值
aCmdLine );
//命令行数据,必须为该程序的绝对路径+程序完整名称
hReg.destroy;
//释放创建的hReg
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
SetAutorun(Application.Title,application.ExeName,false);
end;

end.