Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Suchprogramm mit Fehlern (Delphi7)


Tigu - Mi 08.02.06 16:50
Titel: Suchprogramm mit Fehlern (Delphi7)
Hallo!
Ich soll für Delphi 7, in der Schule, ein Tiersuchprogramm schreiben. Ansatzweise funktioniert dieses auch. Er markiert mir das gesuchte Wort, aber leider auch einzelne Buchstaben das Suchwortes. Ist schwer zu beschreiben, deshalb ein kleines Beispiel:
Wenn ich als Suchwort BOA eingebe, markiert er BOA und alle b´s, a´s die zwei Stellen nach einem B stehen und so weiter.
Mein Quelltext, der für das Suchen verantwortlich ist, sieht wie folgt aus:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure TForm1.BnSuchenClick(Sender: TObject);
var x,y:integer;
    Suchwort:string;
begin
Suchwort:=EditTier.Text;
  for y:=1 to feld.RowCount-1 do
  begin
   for x:=feld.FixedCols to feld.ColCount -1 do
   begin
    if feld.Cells [x,y] =Suchwort [1then
    for i:=1 to length(suchwort) do
     begin
     if feld.Cells [x+i-1,y]= Suchwort[i] then
      begin
      if feld.Cells[x+i-1,y] = suchwort[i] then
      feld.Cells [x+i-1,y] :=lowercase (feld.Cells[x+i-1,y]);
      end;
    end;
  end;
 end;
end;

Kann mir jemand sagen, was ich einfügen oder weglassen muss, damit er mir nur das Suchwort anzeigt?

Danke für die Hilfen :les:
Tigu


Knulli - Do 09.02.06 14:01

Ich nehme an, daß in den einzelnen Zellen des Grid nur einzelne Buchstaben stehen (und das ist ein WICHTIGER Punkt), ansonsten wäre Dein Zugriff auf die einzelnen Buchstaben einer Zelle falsch gelöst. Dann scheinst Du mit FixedCols aber nicht mit FixedRows zu arbeiten oder Du hast darüber noch nicht nachgedacht. Vielleicht solltest Du in der Richtung mal suchen.
Knut


Tigu - Do 09.02.06 17:39

Hallo Knulli!
Danke für den Tipp,
aber wir sollen ihn nur waagerecht, also in den Zeilen suchen lassen.
Hast du noch eine andere Idee zur Lösung meines Problemes?
Irgendwie muss ich ihm sagen, das er das "Wort" nur dann makieren soll, wenn es wirklich vollaständig ist.
Tigu