转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
TCP/IP(九)         ★★★★

TCP/IP(九)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1458 更新时间:2009/4/23 18:43:57
end;
  end;
(*@\\\0000000B12*)
var
  i,j: integer;
  s,field,data: string;
  attach: t_attachment;
begin
  boundary:='''''''';
  RemoveAllAttachments;
(*@///   parse header lines and search for mime boundary *)
i:=0;
while (i<mail.count-1) and (mail.strings[i]<>'''''''') do begin
  strip_header(mail.strings[i],field,data);
(*@///   if field=''''content-type'''' then *)
if field=''''content-type'''' then begin
  s:=copy(data,pos(''''boundary'''',data),length(data));
  s:=copy(s,pos(''''"'''',s)+1,length(s));
  boundary:=copy(s,1,pos(''''"'''',s)-1);
  end;
(*@\\\0000000201*)
  inc(i);
  end;
(*@\\\0000000401*)
  attach:=t_attachment.create;
  while true do begin
    inc(i);    (* ignore the empty line *)
    if i>=mail.count-1 then BREAK;
    while (i<mail.count-1) and (mail.strings[i]<>''''--''''+boundary) and
        (mail.strings[i]<>''''--''''+boundary+''''--'''') do begin
      attach.text.add(mail.strings[i]);
      inc(i);
      end;
    case attach.encoding of
(*@///       ec_base64: *)
ec_base64: begin
  attach.data:=decode_base64(attach.text);
  attach.text:=NIL;
  end;
(*@\\\0000000301*)
(*@///       ec_quotedprintable: *)
ec_quotedprintable: begin
  for j:=0 to attach.text.count-1 do
    attach.text.strings[j]:=seven2eight_quoteprint(attach.text.strings[j]);
  end;
(*@\\\0000000301*)
      ec_none:             ;
      end;
    if mail.strings[i]=''''--''''+boundary+''''--'''' then  BREAK;  (* end of mime *)
    if i>=mail.count-1 then BREAK;
    if (attach.text.count>0) or (attach.data.size>0) then
      f_attachment.add(attach);
    attach:=t_attachment.create;
    inc(i);  (* ignore the empty line *)
    if i>=mail.count-1 then BREAK;
(*@///     parse mime block header *)
while (i<mail.count-1) and (mail.strings[i]<>'''''''') do begin
  if s[1]<>'''' '''' then
    strip_header(mail.strings[i],field,data)
  else
    data:=data+s;
  if false then
  else if field=''''content-type'''' then  attach.kind:=data
  else if field=''''content-disposition'''' then  attach.disposition:=data
(*@///   else if field=''''content-transfer-encoding'''' then begin *)
else if field=''''content-transfer-encoding'''' then begin
  data:=lowercase(data);
  if false then
  else if data=''''base64'''' then
    attach.encoding:=ec_base64
  else if data=''''quoted-printable'''' then
    attach.encoding:=ec_quotedprintable
  else
    attach.encoding:=ec_none;
  end;
(*@\\\0000000716*)
  inc(i);
  end;
(*@\\\0000000901*)
    end;
  f_attachment.add(attach);
  end;
(*@\\\0000001B33*)
(*@/// function t_mime.GetAttachment(index: integer):t_attachment; *)
function t_mime.GetAttachment(index: integer):t_attachment;
begin
  if index>f_attachment.count-1 then
    result:=NIL
  else
    result:=t_attachment(f_attachment[index]);
  end;
(*@\\\0000000306*)
(*@\\\0000000501*)

(*@/// procedure Register; *)
procedure Register;
begin
  RegisterComponents(''''TCP/IP'''', [t_finger]);
  RegisterComponents(''''TCP/IP'''', [t_fingerD]);
  RegisterComponents(''''TCP/IP'''', [t_http]);
  RegisterComponents(''''TCP/IP'''', [t_ftp]);
  RegisterComponents(''''TCP/IP'''', [t_lpr]);
  RegisterComponents(''''TCP/IP'''', [t_smtp]);
  RegisterComponents(''''TCP/IP'''', [t_mail]);
  RegisterComponents(''''TCP/IP'''', [t_nntp]);
  RegisterComponents(''''TCP/IP'''', [t_news]);
  RegisterComponents(''''TCP/IP'''', [t_time]);
  RegisterComponents(''''TCP/IP'''', [t_rexec]);
  RegisterComponents(''''TCP/IP'''', [t_rsh]);
  RegisterComponents(''''TCP/IP'''', [t_pop3]);
  RegisterComponents(''''TCP/IP'''', [t_mime]);
  end;
(*@\\\*)
(*@\\\0000003114*)
(*@/// initialization *)
begin
  lpr_count:=0;
  end.
(*@\\\*)
(*@\\\0001000011*)

上一页  [1] [2] 


[ORACLE]ORACLE SQL性能优化系列 (九)  
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台