Habe gerade einen kleinen Fehler gefunden:
Delphi-Quellcode:
// Berechnung des Bad-Character-Shifts
procedure TPatternMatchAnimator.PreProcess_BM_BadCharacter;
var i, m: Integer;
begin
m := Length(fPattern);
FillMemory(fBM_BC, sizeof(fBM_BC), 0); // find ich schneller und einfacher -.-^^
{ // Fehler bei Bereichsüberprüfung //
for i := 0 to m do
fBM_BC[Ord(fPattern[i])] := i; // Strings (fPattern) beginnen mit 1
}
for i := 1 to m do
fBM_BC[Ord(fPattern[i])] := i;
end;
Schalte mal in deinen Compilereinstellungen Range checking, I/O checking und Overflow checking mit ein.