Forum
Grundkurs
»Introduktion
»Snabbguide
»Komponenter
»Händelser
»Strängar
»Räkna med Delphi »Egna
typer
»Selektion
»Iteration
»Menyer
»Funktioner
»Arraystrukturer
Tips & Tricks
»Nya tips
»Blandat
»Databaser
»Filer
»Forms
»Grafik
»Internet
»Komponenter
»Matematik
»Multimedia
»Objekt/ActiveX
»Skrivare
»Strängar
»System
»Mest lästa tips
Artiklar
»Delphi och ADO
»Bygga en DLL
»Skapa en enkel rapport
»Hantera registret
»Enheter, units
»Klassen TCanvas
»Använd LookUp Controls
Nya
tips
Lägg
till tips
Delphilänkar
Gästbok
|
|
Kontrollera om två ikoner är identiska
|
Kategori: Grafik
Inlagt: 2005-12-28
Läst: 1379
Inlagt av: Staffan Berg
|
Beskrivning |
Detta exempel jämför två ikoner och undersöker om dessa är identiska.
|
Kod |
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 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;
|
|
|