Cornelius Concepts,LLC提供的一些有用的Delphi单元和组件。
该库包含我开发的单元和组件,这些单元和组件在许多情况下派上用场。但是它们不仅仅是有用的 - 他们也教书。有评论和样本,并且组件显示了如何编写Delphi组件的几个方面,例如运行时和设计时间之间的软件包分离,如何集成组件通过右键单击组件来激活组件,甚至集成到Delphi的Splash屏幕和附近。
只需将此组件放在表单上,然后在打开时将其大小和位置自动保存即可。另外,使用方便的方法保存其他值。有两个变体:
这两个组件都有默认设置可以在适当的地方保存文件或注册表设置,并根据表单的名称创建密钥或部分。因此,您可以快速,轻松地将这些组件之一放在每种形式上。
借助保存/还原整数,字符串和布尔值的其他方法,它使记住简单的用户数据非常容易:
- procedure SaveStrValue(const Name:string;const Value:string);
- procedure SaveIntValue(const Name:string;const Value: Integer);
- procedure SaveBoolValue(const Name:string;const Value: Boolean);
- function RestoreStrValue(const Name:string; const Default: string = ''):string;
- function RestoreIntValue(const Name:string; const Default: Integer = 0): Integer;
- function RestoreBoolValue(const Name:string; const Default: Boolean = False): Boolean;
该组件包括几年前迪尔·尼尔(Neil)在dbisam新闻集中的某人撰写的例程。变成一个组件,将其连接到某些键盘和鼠标窗口挂钩上,以查看计算机上的不活动,并弹出带有倒数计时器的消息以关闭应用程序。一个用例是一个2层数据库应用程序,它将文件和记录打开。
该组件从Delphi 10.3 Rio版本中删除,以使用Delphi的Tstopwatch类。
这是一个非常简单的组件,它隐藏了正时操作的细节。只需致电启动,做您的工作,然后致电停止,您将拥有以下可用属性:
此组件不会检查时区(如果在移动设备上使用)或帐户节省时间的时间。它是为相当短的操作(不到一个小时)而设计的。
以下组件仅通过Delphi XE支持,并从较新的软件包中删除。
很久以前,我使用了Infopower套件的组件套件,这些组件具有非常不错的增量搜索组件,该组件将在您输入时列出匹配记录。我将该组件构成了这个想法,但还添加了用户定义的按钮和许多其他功能。我还使用了Raize控件来获得一些额外的显示功能,并将其非常紧密地绑定到DBISAM数据库组件。从那时起,它是针对一个特定项目的,但是我使用了它,并且在其他项目中使用了它(例如将DBISAM升级为升高组件切换为升高组件)。
这可能是一个有趣的组件,因为这是如何构建复合组件的一个很好的例子。
这是为了支持一个旧项目的书而写的,这允许简单地合并名称=价值对与定义者。弃用使用TSTSTRINGLIST。
提供快速简便的记录到文本文件。弃用是因为首选较新的库和记录方法。
弹出模式窗口中的简单文本文件查看器。
最后,关于独立单位的一句话。
该文件夹包含两个单元,udmcustomwebgenerator和udmdbisamwebgenerator。它们是数据模块,第一个是一个基类,上面有几个Weberker组件,TPAGEPRODER和TDATASETTABLEPROPRODUCER。这些是在内容管理系统(CMS)流行之前写的,我试图将Delphi用于我所有的网络开发。事实证明,对于大型项目而言,它的工作要比值得更多,现在有大量出色的Web工具,因此不再使用了很多。但是,仍然有偶尔的任务发现这些例程有用,因此我将其围绕。
这些类通过在HTML标签和数据库之间的链接中构建来扩展网络经纪实用性。我以这种方式使用的唯一数据库是DBISAM。我已经有好几年了,我还没有使用DBISAM,所以我不知道它是否仍然编译,但它确实表明了如何满足您的特定需求。
请阅读代码中的评论以获取更多信息。
“ MISC”文件夹包含三个单元(稍后可以添加更多): USEARCHRECLIST , UXMLDATES和UTESTUTILS 。
第一个, usearchReclist ,包含几个过程类型声明和一个过程:getSearchRecs。
TPathStatusProc = reference to procedure (const Path: string; var Stop: Boolean);
TFileFoundProc = reference to procedure (FileInfo: TSearchRec);
procedure GetSearchRecs(const Path, Pattern: string; const Recursive: Boolean; PathStatusProc: TPathStatusProc; FileFoundProc: TFileFoundProc);
getSearchRecs遍历一个目录树,寻找与模式匹配的文件,并为每个找到与模式匹配的文件呼叫pathstatusproc。
这是一个示例调用,它将删除旧日志文件:
GetSearchRecs(LogFolder, '*.log', False, nil,
procedure (FileInfo: TSearchRec)
begin
if FileInfo.TimeStamp < Now - 90 then
FileDelete(TPath.Combine(LogFolder, FileInfo.Name), True);
end);
第二个单元uxmldates使得可以轻松地使用XML文件中的日期。常见格式是:yyyy-mm-dd“ t” hh:mm:ss,但是方法转化为todeDelphidateFromxml,可以在没有时间部分的情况下取一个字符串。
第三个单元utestutils提供了一些在一些项目中使用的一些功能,在这些项目中,我需要生成测试数据,例如日期,时间,数字,付款类型等。它们很方便。