0

我正在Delphi-7研究一个基本上创建一个 zip 文件并具有 5 个功能的组件(如下)

1]文件夹

2]图像

3] 文本文件

4]在应用程序目录或应用程序数据目录中创建一个zip文件的文件夹

5]是否创建Zip文件

该组件将被拖放到一个表单上。现在我有另一个应用程序(settingAppl),用户可以从中实际决定启用5组件的任何功能。一切正常,因为我已将用户选择的设置保存在registry. 我没有使用注册表(我不确定将注册表 *.reg 与组件一起发送是否是个好主意),而是使用了一个 DAT 文件About.com_fileof_delphisettingAppl会将 5 个设置写入该文件。我需要将文件与将具有该组件的应用程序一起发送,以便它可以读取 5 个设置。

有没有一种方法可以直接将 5 个设置设置到组件中,因为如果应用程序目录中缺少文件,我会卡住该怎么办?

像 Eureka log 一样,有人能告诉我如何做类似的事情吗?这意味着当我们在 eureka 日志中设置设置时,程序员不必在最终应用程序中包含/发送文件

在此处输入图像描述

4

1 回答 1

2

在经历了@david 和@Ken White 的想法之后(这比我想到的想法要简单得多..也更好(方式))。我published像这样将属性引入到组件中

private
  { Private declarations }
  FFolderzip  ,Fimagezip,Ftextzip      : Boolean;
  FMessagebo : string;
published
   { Published declarations }
   {component Properties}
   {#1.Folder Zip}
   property ZipFolder : Boolean read FFolderzip  write FFolderzip  default False;
   {#2.Send imagezip ?}
   property ZipImage : Boolean read Fimagezip   write Fimagezip   default False;
   {#3.text files}
   property ZipText : Boolean read Ftextzip   write Ftextzip   default False;
   {#4.message}
   property ZipMessage: String read FMessagebo write FMessagebo ; 
    ....
 end;

然后访问属性

   procedure TForm1.Button1Click(Sender: TObject);
    var
       bZipFolder,bZipImage,bZipText: boolean;
       sMessage : string;
   begin
       bZipFolder:=zipperCom1.ZipFolder ;
       bZipImage :=zipperCom1.ZipImage; 
       bZipText  :=zipperCom1.ZipText; 
       sMessage  :=zipperCom1.ZipMessage;
    end;

额外参考来源:-

1] ADDWriteToReadOnlyProps

2]德尔福属性

于 2012-06-22T12:16:43.807 回答