![]() |
CompareMem anders !!
Hi, ich will mit folgendem Code überprüfen, ob Teile eines Strings direkte Wiederholungen haben, wie z.B AnAn oder 123123
Delphi-Quellcode:
Nur leider verwende ich PascalScript, was den Befehl CompareMem nicht kennt. Wie könnte ich denn diese Funktion anderes schreiben, damit es funktioniert ?
function CheckDoubles(const s: string): Boolean;
var idx, len: Integer; begin Result := False; for idx := 1 to Length(s) - 1 do for len := 1 to (Length(s) + 1 - idx) div 2 do if CompareMem(@s[idx], @s[idx + len], len) then Exit; Result := True; end; Vielen Dank |
Re: CompareMem anders !!
Hallo Nico,
wenn PascalScript Zeiger-Arithmetik beherrscht, dann kannst du den Aufruf von CompareMem() in Hawkeyes Funktion durch eine eigene Funktion unterstützen:
Delphi-Quellcode:
Grüße vom marabu
function CompareMem(P1, P2: PChar; Length: Integer): Boolean;
begin Result := False; while Length > 0 do if P1^ = P2^ then begin Dec(Length); Inc(P1); Inc(P2); end else Exit; Result := True; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz