AGB  ·  Datenschutz  ·  Impressum  







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

Suche in ListBox beschleunigen

Ein Thema von rawsoul · begonnen am 6. Jan 2007 · letzter Beitrag vom 7. Jan 2007
 
Benutzerbild von rawsoul
rawsoul

Registriert seit: 29. Okt 2006
Ort: Düsseldorf
249 Beiträge
 
Delphi 2005 Personal
 
#1

Suche in ListBox beschleunigen

  Alt 6. Jan 2007, 05:42
einen guten morgen meine lieben delphianer

mein ziel:
aus vorgegebener wordlist (liste mit ganz vielen wörtern halt ) werden einige herausgezogen, und deren buchstaben verdreht. <- das ganze ist vorgegeben... die verdrehten worte sollen nun wieder "zurückverdreht" werden, bis sie einem der wörter in der wordlist gleichen.

soweit die aufgabe. ich habe nun eine funktion geschrieben, die die wörter per zufallsprinzip verdreht und möchte diese nun mit der wordlist, die in einer tlistbox eingeladen sind vergleichen bzw. suchen. falls dieses wort nicht gefunden wurde, soll das vorgegebene wort nochmals verdreht werden, so lange, bis dieses wort dem original gleicht.

1. verdrehe das vorgegebene wort
2. vergleiche es mit allen einträgen der listbox (for .. to .. do)
3. falls es einem der originalwörter gleicht, gebe es in einem memo aus
4. falls es diesem nicht gleicht, beginne bei 1

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  wort,verdreht:string;
  equal:byte;
  listindex,listlaenge:integer;
begin
  equal:=0;
  listlaenge:=listbox1.count;
  wort:=memo1.lines[0];
  repeat
    listindex:=0;
    begin
      verdreht:=wortverdrehen(wort);
      repeat
        begin
          repeat
            begin
              if ListBox1.Items[listindex]=verdreht then equal:=1;
              listindex:=listindex+1
            end;
          until (equal=1) or (listindex=listlaenge-1);
        end until (equal=1) or (listindex=listlaenge-1);
    end until (equal=1) or (listindex=listlaenge-1);
    beep;
  memo2.Lines.Add(memo1.lines[0]);
end;
ich hoffe, man kann mich soweit halbwegs nachvollziehen

jetzt kommen folgende probleme hinzu: in der wordlist sind zirka 1300 wörter und ich habe zum "knacken" von 8 worten gerade mal 30 sekunden zeit. leider brauche ich _mit glück_ schon 30 sekunden für ein wort.

wie kann ich das ganze beschleunigen? oder gibt es eine bessere oder schnellere möglichkeit? (was schöneres möchte ich nicht, man sieht den quelltext später eh nicht)

viele liebe grüße und nachträglich ein frohes neues jahr

[edit=RawSoul]Quelltext upgedatet... Nochmal komplett von vorn angefangen [/edit]
[edit=RawSoul]Oh Gott, entschuldigt meine Sauklaue *wegduck*... Sowohl Quelltext als auch komplette Sätze [/edit]
[edit=RawSoul]Noch ein Quelltextupdate...[/edit]
Frank Dumont
  Mit Zitat antworten Zitat
 


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 06:27 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 by Thomas Breitkreuz