Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: bitmap32 and xor

  Alt 17. Sep 2011, 13:37
Oh warte mal. (Alles wieder löschen...)

Deine MemoryAsString() ist auch fehlerhaft. Per CopyMemory kopierst du nicht einzelne Bits, sondern ganze Bytes. Deshalb ist diese Codesequenz auch falsch:
Delphi-Quellcode:
  CopyMemory(@buffer, p, 1);
  if buffer then
    result := result + '1'
Dh. der Output ist womöglich auch inkorrekt!

Den Assembler Code möchte ich momentan nicht entziffern, aber ich schätze mal, da sind auch welche Fehler. Und warum das Ganze in Assembler? Geht ja auch ganz normal?!

probier
Delphi-Quellcode:
procedure XorMemBlock(Source1, Source2, Destination: PByte; Count: Integer);
begin
  while Count > 0 do
  begin
    Destination^ := Source1^ xor Source2^;
    inc(Source1);
    inc(Source2);
    inc(Destination);
  end;
end;
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG

Geändert von Aphton (17. Sep 2011 um 13:39 Uhr)
  Mit Zitat antworten Zitat