ich hab mal nen bischen überlegt, und folgendes ist dabei rausgekommen:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| var anzzeile, anzspalte, aktspalte, aktzeile, i, a, b: integer; begin a := 0; anzzeile := stringgrid1.RowCount; anzspalte := stringgrid1.ColCount; aktzeile := 0; aktspalte := 0; for a := 0 to anzspalte - 1 do begin aktspalte := a; for i := 0 to anzzeile - 1 do begin if stringgrid1.Cells[aktspalte, aktzeile] = edit1.text then begin stringgrid1.Row := aktzeile; stringgrid1.Col := aktspalte; end else begin aktzeile := aktzeile + 1; if aktzeile = stringgrid1.RowCount - 1 then begin aktspalte := aktspalte + 1; aktzeile := 0; end; end; end; end; |
ACHTUNG:
dieses beispiel hebt den 1. wert, der mit dem suchwort übereinstimmt hervor, alle folgenden werte werden ignoriert.
ich kann den quelltext auch so ändern, das er die koordinaten aller übereinstimmenden zellen in ein memo schreibt (auflistet).
sag, wenn du eine demo haben willst.