AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CompareMem anders !!

Ein Thema von Scorpion · begonnen am 6. Mär 2007 · letzter Beitrag vom 6. Mär 2007
Antwort Antwort
Scorpion

Registriert seit: 3. Nov 2002
Ort: Flörsheim
154 Beiträge
 
Delphi 5 Professional
 
#1

CompareMem anders !!

  Alt 6. Mär 2007, 17:31
Hi, ich will mit folgendem Code überprüfen, ob Teile eines Strings direkte Wiederholungen haben, wie z.B AnAn oder 123123

Delphi-Quellcode:
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;
Nur leider verwende ich PascalScript, was den Befehl CompareMem nicht kennt. Wie könnte ich denn diese Funktion anderes schreiben, damit es funktioniert ?

Vielen Dank
Gruß Nico
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: CompareMem anders !!

  Alt 6. Mär 2007, 19:06
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:
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;
Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz