AGB  ·  Datenschutz  ·  Impressum  







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

Suchalgorithmus

Ein Thema von Piro · begonnen am 5. Aug 2003 · letzter Beitrag vom 6. Aug 2003
Antwort Antwort
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#1

Suchalgorithmus

  Alt 5. Aug 2003, 20:44
Hallo ich habe ein Problem mit meinem Suchalgorithmus, der lautet:

Delphi-Quellcode:
procedure TForm1.FindDialog1Find(Sender: TObject);
var
 x,i: Integer;
begin
 for i:=adressbuch.Row to adressbuch.RowCount -1 do
 begin
     for x:=0 to 16 do
     begin
         if adressbuch.cells[x,i] = FindDialog1.FindText then
         begin
             adressbuch.Row := i;
             Inc(x); hier kommt der Fehler//[Error] form.pas(920): Assignment to FOR-Loop variable 'x'
             exit;
         end;
     end;
 end;
End;
Kann mir mal einer erzählen warum das nicht geht? Denn ich muss eine Spalte weiter gehen sonst sucht er nicht weiter.

Danke
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Suchalgorithmus

  Alt 5. Aug 2003, 21:17
Eigentlich recht einfach. Du darfst Schleifenzählervariablen innerhalb der Schleife nicht manipulieren. Das ist eine der Einschränkungen des Sprache.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Suchalgorithmus

  Alt 6. Aug 2003, 03:14
Du zählst x doch schon mit der for-Anweisung hoch. Warum willst du das noch mal innerhalb der Schleife machen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Suchalgorithmus

  Alt 6. Aug 2003, 06:38
Tja da kann man nichts machen. Warum ich das machen möchte, ist ganz einfach.

Ich durchsuche ein StrinGrid und ich möchte beim erstem Suchtreffer danach auch weiterzsuchen können.

Wenn er nicht eins weiter zählt, bleibt er auf der Zelle stehen und man kann nicht weitersuchen. Das ist alles.

Vielleicht kann mir ja einer mal sagen wie ich das realisieren könnte.
Code:
Basis: 1. einen Suchtext suchen
       2. wenn ein Treffer da ist wird die Zeile selektiert
       3. bei erneutem Klicken auf den Weitersuchen Button soll er weitersuchen bis zum Ende
Ziel: ich muss irgendwie eine Zelle weiter rücken in der inner for-Schleife dann würde es gehen, aber ich weiß halt nicht wie, wenn das Inkremtieren nicht geht.

Jetzt seit ihr wieder dran. Danke
  Mit Zitat antworten Zitat
Mario

Registriert seit: 7. Apr 2003
567 Beiträge
 
Delphi 2006 Enterprise
 
#5

Re: Suchalgorithmus

  Alt 6. Aug 2003, 07:19
Niemand zwingt Dich, for zu nutzen. Nimm statt dessen doch eine While-Schleife, wo Du x manuell hoch zählst. Da darfst Du x beeinflußen.
Schöne Grüße,
Mario Noack
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#6

Re: Suchalgorithmus

  Alt 6. Aug 2003, 08:12
Hier mal die Umsetzung als while Schleife (nicht getestet).
Delphi-Quellcode:
x := 0;
while x <= 16 do begin
  if adressbuch.cells[x,i] = FindDialog1.FindText then begin
    adressbuch.Row := i;
    inc(x);
  end;
  inc(x);
end;
Gruß
  Mit Zitat antworten Zitat
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Suchalgorithmus

  Alt 6. Aug 2003, 08:25
Danke

auf die einfachsten Sachen kommt man nicht. Tunnelblick.

Schönen Tag noch.
  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 14:48 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