Delphi 使用MD5 比对文件
使用MD5的方法比对CXimage里图片是否改变:
Delphi7实现方法:
uses IdHashMessageDigest function TForm1.GetImageMD5(cxImage: TcxImage): string;
var
tmpMD5: TIdHashMessageDigest5;
ms: TMemoryStream;
begin
result:='';
if cxImage.Picture.Graphic=nil then exit;
tmpMD5:=TIdHashMessageDigest5.Create;
ms:= TMemoryStream.Create;
try
cxImage.Picture.Graphic.SaveToStream(ms);
result:=tmpMD5.AsHex(tmpMD5.HashValue(ms));
finally
tmpMD5.Free;
ms.Free;
end;
end;
Delphi2010实现方法:
uses IdHashMessageDigest function GetImageMD5(cxImage: TcxImage): string;
var
tmpMD5: TIdHashMessageDigest5;
ms: TMemoryStream;
begin
result:='';
if cxImage.Picture.Graphic=nil then exit;
tmpMD5:=TIdHashMessageDigest5.Create;
ms:= TMemoryStream.Create;
try
cxImage.Picture.Graphic.SaveToStream(ms);
ms.Position:=;
result:=tmpMD5.HashStreamAsHex(ms);
finally
tmpMD5.Free;
ms.Free;
end;
end;
参考:http://www.cnblogs.com/jxsoft/archive/2011/08/08/2131436.html
Delphi 使用MD5 比对文件的更多相关文章
- Delphi如何处理不同类型的文件
参考:http://www.cnblogs.com/railgunman/articles/1800318.html 程序设计当中,我们时常遇到需要处理文件.目录及驱动器的情况,这里将对如何处理不同类 ...
- 通过MD5排除重复文件
今天下载了好多美女图片壁纸,可是看了一下发现好多图片重复了,有强迫症的我必须把重复的都给剔除掉,首先想到的当然是百度了,问问度娘有没有什么图片去重的工具,搜了一下还真有.奈何本人智商捉急用不来这高级的 ...
- delphi项目中的modelsupport文件夹
delphi项目中的modelsupport文件夹 今天写着写着突然发现多了一个这个文件夹..苦思不得其解 看着又难受 删了又重建 终于找到了 存此备查;Tools--option--toget ...
- 如何用DELPHI编程修改外部EXE文件的版本信
右击里面有修改 点开直接修改就可以了吧. DELPHI 里程序的版本信息怎么是灰色的,无法更改 耐心读以下说明,应该能解决你的问题,如果不能解决,请Hi我~ 如何给自己的dll文件添加版本信息呢? 首 ...
- Delphi使用NativeXml访问XML文件
Delphi使用NativeXml访问XML文件 1.创建XML文件var Doc: TNativeXml;//声明上下文对象var filepath:string;//文件路径DOC:=TNativ ...
- Delphi 封装Frame到Dll文件
做项目的时候,发现这个Frame很好用,为了省空间.调用和修改方便,就将Frame封装到dll(动态链接库)里面,确实很好使. 效果图如下: 上图是临时测试用的,忘了将Frame的align设置成al ...
- 检测某一目录下md5相同的文件
import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.io.IOUtils; import jav ...
- Delphi中MD5实现方法(转)
原来写过一个计算MD5的程序,是用了一个叫MD5.pas的单元,使用起来还算简单,但还有更简单的办法,安装了indy就会有IdHashMessageDigest单元(delphi 7默认安装indy) ...
- MD5工具类,提供字符串MD5加密、文件MD5值获取(校验)功能
MD5工具类,提供字符串MD5加密(校验).文件MD5值获取(校验)功能 : package com.yzu.utils; import java.io.File; import java.io.Fi ...
随机推荐
- [转]SuperSocket
public class SocketServer : AppServer<AppSession> { public SocketServer() : base(new DefaultRe ...
- 如何在eclipse 里面调试java.lang包的代码
1. 在Eclipse中,Window->Preferences->Java->Compiler,确保以下选项都勾选上 2. 在Eclipse中,Window->Prefer ...
- Linux下使用curl查看http请求各阶段耗时
1. 准备文件模版(curl.txt) \n time_namelookup: %{time_namelookup}\n time_connect: %{time_connect}\n time_ap ...
- [UE4 ]Is Locally Controlled的局限性
一.在有机器人的游戏中,就不能使用IsLocallyControlled判断.而是要使用这个方法: 二.因为机器人也是属于本地控制的角色.所以不能使用IsLocallyControlled判断是否是本 ...
- Android 获取手机内部信息,内核版本、基带版本、内部版本等
TextView text = (TextView) findViewById(R.id.textView1); String phoneInfo = "Product: " + ...
- 基于HAProxy+Keepalived高可用负载均衡web服务的搭建
一 原理简介 1.HAProxyHAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web ...
- 我推荐阅读的微信公众号-IT类
微信,正深刻影响着我们的生活,每个使用微信的人,从微信这个窗口去了解这个世界. 微信公众号,微信生态圈是核心功能之一,每天都有大量的文章创作.传播.转发出来,海量的信息扑面而来,微信阅读成为微信使用者 ...
- Struts2 --简单留言系统
1.创建数据表,与servlet中相同 2.创建web项目,添加struts2模块,url 选 /*,web.xml中会自动注册struts2,同时src下会自动生成struts2配置文件struts ...
- 升级cordova
node -v npm -vcordova -v npm install npm -g --force npm install -g n --force n stable npm install -g ...
- NIO读写文件并加锁
一.读取文件 package lock; import java.io.File; import java.io.FileNotFoundException; import java.io.IOExc ...