Delphi实现的MIME邮件格式解析类库
研究了一下Pop3的邮件接收协议,然后随手写了一个Pop3的邮件接收控件!Pop3的邮件协议实际上是很简单的,知道那几个命令就行了,与服务器之间
的交互是一问一答得方式,控制起来也容易,相对而言邮件格式的解析倒是更加麻烦一点!于是也便顺带着将MIME邮件格式给熟悉了一下!总归说来,规律性比
较强,先获取最大的顶层框架,然后根据顶层框架来判断是否有还有子框架,依次根据给定的间隔符号迭代下来!看看类设计!首先一个MIME是要有一个邮件
头!所以这个类是必然的!
实现了邮件头类TDxMIMEHeader
,然后再看邮件格式,就是数据部分了,数据部分就涉及到前面说的框架问题,有Mulpart/mixed等这样的还有子框架的结构,也有单纯的text
/plain这样的纯文本结构,具体的信息都在邮件格式的头部有说明
,于是将数据Part设计成了一个继承模式,TDxMIMEPart作为数据Part的基类,然后Mulpart/mixed,text/plain等这
样的各个模块部分都从该类继承,Mulpart/mixed等是有内部数据模块的,所以这个另外继承一个多数据模块基类TDxMimeMulPart,然
后只要含有多个数据模块的模块都从这个类继承去实现,除此之外,还需要一个附件等流式数据的流模块的解析类TDxMIMEStreamPart,本类主要
是将附件等信息还原出来!大致信息如此,其实应该给模块类还要设置一个模块头的类的,因为只是研究也就直接写在里面了!大致代码块如下:
代码
(*
****************************************************
*)
(*
得闲工作室
*)
(*
邮件格式解析单元
*)
(*
&nbs
相关文档:
第一节 BDE、ADO、InterBase和dbExpress
Delphi中处理数据库主要有两种方法,也就是BDE、ADO,从Delphi 6.0开始还加入了一种dbExpress方法。 另外,Delphi还提供了专门处理Borland 公司自己的数据库产品InterBase 数据库的专门的方法。
BDE(Borland Databas Engine), 是Delph ......
(一) 使用动态创建的方法
首先创建 Excel 对象,使用ComObj:
var ExcelApp: Variant;
ExcelApp := CreateOleObject( 'Excel.Application' );
1) 显示当前窗口:
ExcelApp.Visible := True;
2) 更改 Excel 标题栏:
ExcelApp.Caption := '应用程序调用 Microsoft Excel';
3) 添加新工作簿:
ExcelApp.WorkBooks.Add ......
Anders Hejlsberg(安德斯-海森博格) 坐在自己的办公室,双眼直直的盯着前方。他要做一个决定,决定自己未来的命运和理想。这是1996年一个普通的下午,几个小时前,他刚与比尔-盖茨结束了一次愉快的午餐,同为软件界的精英,他们相谈甚欢,盖茨给他开出三百万以上的年薪和数万股的微软股票。这是一个诱人 ......
转自:http://www.52delphi.com/List.asp?ID=597&Page=1
核心提示:函数需要 uses Direct3D9,D3DX9; 偶然发现一个函数可以直接保存表面到文件1!所以修改了一下,函数为:...
procedure CaptureScreen(Const FileName: string);
var
BitsPerPixel: Byte;
pD3D: IDirect3D9;
pSurface: IDirect3DSurface9;
......
//采用递归方法,D7编译调试通过。
//数据采用ADOQuery读取,并将数据暂存在一个动态数组中,树形列表控件为TreeView。
procedure TForm1.LoadTreeInfo;
type
TInfo = record
ID, //代码
Name, //名称
&nb ......