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 ... 
随机推荐
- 在CentOS-6.9里安装openvswitch-2.5.4
			第一步:安装依赖 yum install rpm-build openssl-devel gcc wgetyum install python-devel kernel-devel kernel-de ... 
- 利用NPOI导出数据到Execl
			相信很多童鞋都开发过Execl的导入导出功能,最近产品中无论是后台数据分析的需要,还是前端满足用户管理的方便,都有Execl导入导出的维护需求产生. 以前做这个功能,如果是web,利用HttpCont ... 
- Docker的常用命令
			docker命令有很多,总的分为以下几大类: 容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause] 容器操作运维 — doc ... 
- [CTSC2012]熟悉的文章  (后缀自动机 单调队列)
			/* 首先答案显然是具有单调性的, 所以可以二分进行判断 然后当我们二分过后考虑dp来求最长匹配个数, 发现每个点能够转移的地点 肯定是一段区间, 然后这样就能够得到一个log^2算法 至于每个点的匹 ... 
- APIO 2018选圆圈
			#include<cstdio> #include<algorithm> #include<cstring> #include<iostream> #i ... 
- datagrid行内编辑时为datetimebox
			$.extend($.fn.datagrid.defaults.editors, { datetimebox: {// datetimebox就是你要自定义editor的名称 init: functi ... 
- String,StringBuilder,StringBuffer三者的区别(Java)
			这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面. 1. 首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer &g ... 
- linux 下的常用操作命令
			一,Linux的介绍 略. 二,文件类的常用命令 三,权限类的常用命令 
- [Unity工具]批量修改字体
			效果图: using System.IO; using System.Text; using UnityEditor; using UnityEngine; using UnityEngine.UI; ... 
- Eureka 注册中心 简单搭建
			直接上代码:配置文件截图 server.port= spring.application.name=eureka-server eureka.instance.hostname=127.0.0.1 # ... 
