Mega Code Archive

 
Categories / Delphi / Graphic
 

How to determine if two icons are equal

Title: How to determine if two icons are equal function IconsAreEqual(const Icon1, Icon2: TIcon): Boolean; var ms1: TMemoryStream; ms2: TMemoryStream; begin Result := False; ms1 := TMemoryStream.Create; try Icon1.SaveToStream(ms1); ms2 := TMemoryStream.Create; try Icon2.SaveToStream(ms2); if ms1.Size = ms2.Size then // Compare the streams, Streams vergleichen: Result := CompareMem(ms1.Memory, ms2.Memory, ms1.Size) finally ms2.Free end finally ms1.Free end end; procedure TForm1.Button1Click(Sender: TObject); var icon1: TIcon; icon2: TIcon; begin icon1 := TIcon.Create; icon2 := TIcon.Create; try icon1.LoadFromFile('c:\Icon1.ico'); icon2.LoadFromFile('c:\Icon2.ico'); if IconsAreEqual(icon1, icon2) then ShowMessage('Icon 1 and Icon 2 match') else ShowMessage('Icon 1 and Icon 2 don''t match'); finally icon1.Free; icon2.Free; end; end;