Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - in einem stringgrid suchen
omega123 - Do 02.01.03 21:56
Titel: in einem stringgrid suchen
Servus
wie kann ich einen text, den ich ein einem edit feld eingebe, in einem stringgdrid suchen und wenn er fündg wird, die zeeile makiert wird?
torstenheinze - Do 02.01.03 22:13
ich programmiere gerade an der lösung.
ich werd sie dir dann mitteilen.
torstenheinze - Do 02.01.03 23:24
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.
torstenheinze - Do 02.01.03 23:25
| Zitat: |
| ..., den ich ein einem edit feld eingebe, in einem stringgdrid suchen und wenn er fündg wird, die zeeile makiert |
statt zeile hab ich zelle gelesen, aber es sollte kein problem sein, den code so umzuändern, das die ganze zeile markiert wird.
oder heißt das doch zelle?
omega123 - Fr 03.01.03 02:38
also so ist das schon super,
jetzt nur noch eine frage, ist es auch möglich, das
1. wieter sucht?
und
2. auch ungefähre übereinstimmungen anzeigt?
torstenheinze - Fr 03.01.03 02:57
mit dem weitersuchen, das geht, mann muss ein bischen an den if dingern rumwurschteln.
auf ähnlichkeinten überprüfen das geht so:
du ließt der aktuellen wert der in der aktuellen zelle steht und überprüfst mit einer anderen funktion. diese prüft, ob edit1.text und cells[x,y] ungefähr über einstimmen, ich kenne aber keine funktion dafür.
bischen googl'n oder forum suchen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!