序言
可能是由于Delphi版本问题,导致有些库没法再Delphi XE6使用,我只能查找资料和实验,还好完成了任务
文件MD5
新建VCL Forms Application,添加三个控件,分别是TOpenDialog, TButton和TLabel。没怎么设计UI,一顿拖放猛如虎,如下:
完整代码如下:
unit Umain;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,IdHashMessageDigest,IdGlobal,IdHash;
type
TMD5 = class(TIdHashMessageDigest5);
TForm1 = class(TForm)
Button1: TButton;
OpenDialog1: TOpenDialog;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
function StreamToMD5(s:TFileStream):string;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
filesen:TFileStream;
str:string;
begin
if Opendialog1.Execute then
begin
Label1.Caption := '';
filesen:=TFileStream.Create(opendialog1.FileName,fmopenread or fmshareExclusive);
str:=StreamToMD5(filesen);
Label1.Caption := 'MD5: ' + str;
filesen.Free;
end;
end;
function TForm1.StreamToMD5(s:TFileStream):string;
var
MD5Encode:TMD5;
begin
MD5Encode:=TMD5.Create;
try
result:=md5encode.HashStreamAsHex(s);
finally
MD5Encode.Free;
end;
end;
end.
上面的代码应该有性能问题,如果文件特别大,处理起来应该会很慢,先这样吧,后面再想办法优化一下。
在Delphi XE6 中不能使用system.hash,如果能使用,我应该很早就完成这个任务了。
结语
接下来要获取文件的创建日期,修改日期,文件大小,文件类型(这个应该不着急)。暂时想到这些,后面想到什么在补充。
如有错误,敬请指出,感谢指正! — 2020-06-06 18:18:23
最新评论
这个软件有bug的,客户端windows有些键不能用如逗号、句号
没有收到邮件通知
我的评论通知貌似坏掉了,定位一下问题
测试一下重新部署后的邮件功能
居然看到自己公司的MIB库,诚惶诚恐
那可能是RobotFramework-ride的版本问题。我装的1.7.4.2,有这个限制。我有空再尝试下旧版本吧,感谢回复。
你好!我在python2.7中安装RobotFramework-ride的时候提示wxPython的版本最高是2.18.12,用pip下载的wxPython版本是4.10,而且我在那个路径下没有找到2
真的太好了,太感谢了,在bilibili和CSDN上都找遍了,终于在你这里找到了