如何比较两个流的值,越快越好(突然死亡法)(100分)

  • 主题发起人 主题发起人 郭玉梁
  • 开始时间 开始时间

郭玉梁

Unregistered / Unconfirmed
GUEST, unregistred user!
var A, B: TPicture;
begin
A := TPicture.Create;
B := TPicture.Create;

A.LoadFromFile('A.Bmp');
B.LoadFromFile('B.Bmp');
...
end
如何知道A与B的内容不同
 
扫描线逐行扫描,遇到不同的就来个提示好了。。。
 
用内存流,然后用指针指过去比较。
var
A,B : TMemoryStream;
C,D : ^Byte;
I :integer;
begin
A:=TMemoryStream.Create;
B:=TMemoryStream.Create;
A.LoadFromFile('A.BMP');
B.LoadFromFile('B.BMP');
if A.Size <> B.Size then
...
for i:= 0 to A.Size - 1 do
begin
C := Point(integer(A.Memory) + i);
D := Pointer(integer(A.Memory) + i);
if C^ = D^ then Continue;
....
Break;
end;
end;
 
谢谢各位
 
var A, B: TPicture;
出于一些效率原因,只能比较A, B内容,如何做
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
680
import
I
后退
顶部