Seite 1 von 1

Byte-Wiederholungen Ermitteln!

Verfasst: 29.08.2005 22:57
von al90

Code: Alles auswählen


; Ermittelt wie oft sich Byte-Folgen nacheinander wiederholen.
; Dabei kann die Anzahl der Bytes die auf wiederholungen überprüft
; werden sollen, frei gewählt werden. Z.B. "2" wenn man die
; anzahl gleichwertiger 16-Bit (2-Bytes) werte zählen möchte.

Procedure.l CountByteRepeats(MemAdr,ByteAnz,EndAdr)

Anz=0:Adr=MemAdr

Repeat
  If Adr=<EndAdr-ByteAnz+1
    Test=CompareMemory(MemAdr,Adr,ByteAnz)
    If Test=#True
      Anz+1
    Else
      Break
    EndIf
  EndIf
  Adr+ByteAnz
Until Adr>EndAdr-ByteAnz+1

ProcedureReturn Anz

EndProcedure


langword=$AABBAABB
Debug CountByteRepeats(@langword,2,@langword+3)

langword=$FFFFFFFF
Debug CountByteRepeats(@langword,1,@langword+3)

string$="12341234123412341234"
Debug CountByteRepeats(@string$,4,@string$+Len(string$)-1)