delphi dev LayoutControl 实现邮件的附件加载

var
  cxlayoutitemtag: Integer;
  labeltag: Integer;
  listPutFileName: TStringList;

procedure TFormTestPutFiles.cxbtn_putfilesClick(Sender: TObject);
begin
  if OpenDialog1.Execute then
  begin
    createCxLabel(ExtractFileName(OpenDialog1.FileName));
  end
  else
  begin
    exit;
  end;
end;

procedure TFormTestPutFiles.cxlayoutitemDeleteClick(Sender: TObject);
var
  i: Integer;
  dxlayoutitemtemp: TdxLayoutItem;
  cxlabel_PFzhvalue: string;
begin
  ShowMessage(listPutFileName.Text);
  dxlayoutitemtemp := (Sender as TdxLayoutItem);
  cxlabel_PFzhvalue := (dxlayoutitemtemp.Control as TcxLabel).PFzhvalue;
  dxlayoutitemtemp.Visible := False;
  for i := 0 to listPutFileName.Count - 1 do
  begin
    if pos(cxlabel_PFzhvalue, listPutFileName.Strings[i]) > 0 then
    begin
      listPutFileName.Delete(i);
    end;
  end;
end;

procedure TFormTestPutFiles.cxlbl1Click(Sender: TObject);
begin
//
end;

procedure TFormTestPutFiles.dxlytgrpdxlytcntrl1Group1CaptionClick(Sender: TObject);
begin
  ShowMessage(‘删除成功!!!!!‘);
end;

procedure TFormTestPutFiles.dxlytmdxlytcntrl1Item2CaptionClick(Sender: TObject);
begin
  ShowMessage(‘删除!‘);
end;

procedure TFormTestPutFiles.FormCreate(Sender: TObject);
begin
  cxlayoutitemtag := 0;
  labeltag := 0;
  listPutFileName := TStringList.Create;
  listPutFileName.StrictDelimiter := True;
end;

procedure TFormTestPutFiles.FormDestroy(Sender: TObject);
begin
  if Assigned(listPutFileName) then
  begin
    listPutFileName.Free;
  end;
end;

procedure TFormTestPutFiles.labelClick(Sender: TObject);
begin
//
  ShowMessage((Sender as TcxLabel).Caption);
end;

procedure TFormTestPutFiles.createCxLabel(filename: string);
var
  cxlayoutitem: TdxLayoutItem;
  tmplabel: TcxLabel;
  i: Integer;
begin
  if Pos(filename, listPutFileName.Text) > 0 then
  begin
    ShowMessage(‘上传的文件不能重复!‘);
    Exit;
  end;

  cxlayoutitem := TdxLayoutItem.Create(dxlytgrpdxlytcntrl1Group2);
  cxlayoutitem.Parent := dxlytgrpdxlytcntrl1Group2;
  tmplabel := TcxLabel.Create(cxlayoutitem);
  tmplabel.Caption := ExtractFileName(OpenDialog1.FileName);
  tmplabel.PFzhvalue := OpenDialog1.FileName;
  listPutFileName.Add(OpenDialog1.FileName);
  tmplabel.Style.Font.Style := [fsUnderline];
  tmplabel.Style.Font.Color := clBlue;
  tmplabel.Style.Font.Size := 14;
  tmplabel.Tag := labeltag + 1;
  cxlayoutitem.Control := tmplabel;
  cxlayoutitem.CaptionOptions.ImageIndex := 1;
  cxlayoutitem.CaptionOptions.Layout := clRight;
  cxlayoutitem.CaptionOptions.AlignVert := tavCenter;
  cxlayoutitem.AlignHorz := ahLeft;
  cxlayoutitem.Tag := cxlayoutitemtag + 1;
  Inc(cxlayoutitemtag);
  Inc(labeltag);
  //cxlayoutitem.ControlOptions.ShowBorder := True;
  dxlytgrpdxlytcntrl1Group2.ShowBorder := False;
  dxlytgrpdxlytcntrl1Group2.Visible := True;
  tmplabel.OnClick := labelclick;
  cxlayoutitem.OnCaptionClick := cxlayoutitemDeleteClick;
end;
时间: 2024-10-12 15:16:04

delphi dev LayoutControl 实现邮件的附件加载的相关文章

Delphi安装DevExpress控件后,加载图片自动调用dxGDIPlusClasses的问题

Delphi安装DevExpress控件后, image控件用 Picture.LoadFromFile()  加载图片,会自动调用dxGDIPlusClasses,可以正常显示图片. FastReport中的image控件 Picture.LoadFromFile()  加载图片,也会自动调用dxGDIPlusClasses,这可能导致image控件中的图片无法显示. 解决办法是: 修改控件源码: dxGDIPlusClasses 单元中,注释掉一行代码: {$DEFINE DXREGISTE

引导加载程序之争: LILO 和 GRUB

在不考虑他们的工作或专业情况下,所有 Linux 用户都会使用的是哪个工具?引导加载程序.通过本文了解引导加载程序的工作原理,认识两个流行的引导加载程序 LILO(LInux LOader)和 GNU GRUB(GRand Unified Boot loader), 并研究两者各自的优点和缺点. 什么是引导加载程序? 最简单地讲,引导加载程序(boot loader) 会引导操作系统.当机器引导它的操作系统时,BIOS 会读取引导介质上最前面的 512 字节(即人们所知的 主引导记录(maste

Spring Boot加载配置文件

问题1:Spring如何加载配置,配置文件位置? 1.默认位置: Spring Boot默认的配置文件名称为application.properties,SpringApplication将从以下位置加载application.properties文件,并把它们添加到Spring Environment中: 当前目录下的/config子目录, 当前目录. 一个classpath下的/config包 classpath根路径(root) 这个列表是按优先级排序的(列表中位置高的将覆盖位置低的).并

1.3windows命令行下使用blat发邮件带附件

windows命令行bat批处理脚本的应用之blat程序自动发邮件1.3windows命令行下使用blat发邮件带附件__游旗丶引莫(孙忠) 发邮件脚本模板 rem ----邮件内容-----set body="test mail" rem ----邮件主题----set s="测试test"rem ----收件邮箱-----set [email protected]rem ----发件邮箱-----set [email protected]rem ----邮箱秘钥

DELPHI出现无法加载dclite50.bpl的解决办法(转)

现象: Borland Integrated Translation Environment 加载出错 解决办法: 我的电脑--->(鼠标右键)属性--->高级--->(性能)设置--->数据执行保护 将 CB 或 delphi   的执行程序加进去 重新打开DELPHI, component->Install Paceages->add dclite50.bpl

邮件发送+附件

package cn.itcast.javamail; import java.io.File; import java.io.IOException; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message.RecipientType; import javax.mail.MessagingException; import javax.mail.PasswordAuthen

从内存中加载DLL DELPHI版

//从内存中加载DLL DELPHI版 unit MemLibrary; interface uses Windows; function memLoadLibrary(pLib: Pointer): DWord; function memGetProcAddress(dwLibHandle: DWord; pFunctionName: PChar): Pointer; stdcall; function memFreeLibrary(dwHandle: DWord): Boolean; imp

从内存中加载DLL Delphi版(转)

源:从内存中加载DLL DELPHI版 原文 : http://www.2ccc.com/article.asp?articleid=5784 MemLibrary.pas //从内存中加载DLL DELPHI版 unit MemLibrary; interface uses Windows; function memLoadLibrary(pLib: Pointer): DWord; function memGetProcAddress(dwLibHandle: DWord; pFunctio

Java Mail---SMTP协议-Java发邮件(带附件)演示过程

转载请注明出处: http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] JavaMail-API简介: 邮件客户端的主要任务是向邮件服务器发送邮件,以及接收来自邮件服务器的邮件. Sun公司制定了一套API,它封装了邮件通信的各种协议.为Java开发者提供了收发电子邮件的公共接口. 需要的jar包 mail.jar和activation-1.1.0.jar链接: https://github.com/chenhaoxiang/Java/tree/ma