![]() |
Stringgrid durchsuchen
Hallo,
habe eine Tabelle im Hintergrund als eine Art Datenbank laufen, mit folgenden Strings als Inhalt: 000001,"AMD Athlon 3000+","129,54",4, 000002,"AMD Athlon 3200+","145,72",4, 000002,"Intel Pentium 4","187,37",4, 000004,"Asus K8N-E","30,71",4, 000005,"Asus K8N","20,61",4, Ich habe ein Editfeld wo ich zb. Athlon eingebe, dann soll die Strinngrid durch suchen und alle Ergebnisse mit Athlon in eine neue Stringgrid anzeigen. Doch weis ich jetzt nicht wie ich es machen soll das er dann auch AMD Athlon 3000+ und den AMD Athlon 3200+ anzeigt. MfG Spirit |
Re: Stringgrid durchsuchen
Grüß Dich,
Du kannst dann das ganze StringGrid durchsuchen, so etwa in der Art:
Delphi-Quellcode:
Wobei man nicht unbedingt bei 0 anfangen sollte zu suchen, sonder erst ab FixedRow (Headerüberschrift).
for i:=0 to StringGrid1.rowCount -1 do
if pos(StringGrid1.rows[i],'suchBegriff') <> 0 then //Reihe mit Suchbegriff gefunden Grüße Klaus |
Re: Stringgrid durchsuchen
|
Re: Stringgrid durchsuchen
Hallo,
ich habe das von Klaus01 mal versucht irgendwie mag er nicht das machen :) Das in dem anderen Thread hab ich gar net durch geblickt :gruebel: Formuliere ich es nochmal was ich genau will: Ich hab eine Stringgrid voll mit Strings, einige beinhalten mehrere Wörter, ich suche nur nach ein einziges Wort in dieser Stringgrid und wenn es jetzt das Wort innerhalb der mehreren Wörtern ist, soll er es trozdem finden können und diese ganze Zeile in eine andere Stringgrid kopieren. MfG twoSpirit |
Re: Stringgrid durchsuchen
Hallo twospirit,
Delphi-Quellcode:
Entschuldige den Fehler.
for i:=0 to StringGrid1.rowCount -1 do
if pos(Edit1.Text,StringGrid1.rows[i]) <> 0 then // war mein Fehler habe die beiden Felder vertauscht. showMessage(Edit1.Text+' wurde in Zeile'+intToStr(i)+'gefunden'); Grüße Klaus |
Re: Stringgrid durchsuchen
Delphi-Quellcode:
var i:integer;
anz:integer; begin anz:=-1; stringgrid2.RowCount:=anz+1; for i:=0 to stringgrid1.RowCount-1 do if pos(lowercase(edit1.text),lowercase(stringgrid1.rows[i].text))>0 then begin inc(anz); stringgrid2.RowCount:=anz+1; stringgrid2.Rows[anz].Assign(stringgrid1.rows[i]); end; end; |
Re: Stringgrid durchsuchen
Hallo,
hm bei Klaus's lösung sagt er mir bei: if pos(Edit1.Text,StringGrid1.rows[i]) <> 0 then [Fehler] Unit1.pas(220): Inkompatible Typen Die Lösung von Sirius funktioniert perfekt. Ich danke euch für eure Hilfe. MfG twoSpirit |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:46 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-2025 by Thomas Breitkreuz