AGB  ·  Datenschutz  ·  Impressum  







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

In StringGrid suchen

Ein Thema von CalganX · begonnen am 23. Jul 2002 · letzter Beitrag vom 10. Feb 2004
Antwort Antwort
Seite 1 von 2  1 2      
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

In StringGrid suchen

  Alt 23. Jul 2002, 14:35
Hi!
Gibt es eine Möglichkeit in einem StringGrid mit 2 Spalten beide Spalten zu durchsuchen nach einem beliebigen String?
Soll heißen: Die erste Zeile ist makiert, der User gibt in ein Edit einen Suchbegriff ein und dann wird im StringGrid gesucht (hat nix mit DBs zutun). Wenn was gefunden wurde wird dahin gescrollt. Wenn man auf weitersuchen klickt, wird zum nächsten Suchergebnis gescrollt etc.
Wie geht das???

Chris1308
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#2
  Alt 23. Jul 2002, 17:35
Du kannst doch einfach mit ner Schleife die StringGrid durchgehen. Als Startwert nimmst du den ZeilenIndex der markierten Zelle und als Ende den RowCount bzw. den Vergleich ob Cell[x,y]='dein suchstring' ergibt.

Gruß
  Mit Zitat antworten Zitat
dopeline

Registriert seit: 7. Mär 2003
Ort: Berlin
304 Beiträge
 
Delphi 7 Enterprise
 
#3
  Alt 12. Mai 2003, 18:36
ich habe den ganzen nachmittag gesessen und versucht solch eine schleife aufzubauen, aber trotzdem klappt es nicht

wie muss ich das anstellen?

Grüße, dopeline
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#4
  Alt 12. Mai 2003, 19:27
Hier mal was auf die Schnelle:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var suchtext:string;
    r,c:integer;
begin
suchtext:=Edit1.Text;
For r:=0 to StringGrid1.RowCount-1 do
 For c:=0 to StringGrid1.ColCount-1 do
  If StringGrid1.Cells[c,r]=suchtext
   then
    begin
     ShowMessage('Eintrag in Zeile '+InttoStr(r+1)+', Spalte '+InttoStr(c+1)+' gefunden!');
     Break;
    end;
end;
Gruß
  Mit Zitat antworten Zitat
dopeline

Registriert seit: 7. Mär 2003
Ort: Berlin
304 Beiträge
 
Delphi 7 Enterprise
 
#5
  Alt 13. Mai 2003, 07:20
danke! das funktioniert soweit. jetzt soll er aber die gesamte zeile markieren, in der er den suchtext gefunden hat. geht das?

Gruß, dopeline
  Mit Zitat antworten Zitat
dopeline

Registriert seit: 7. Mär 2003
Ort: Berlin
304 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: In StringGrid suchen

  Alt 10. Feb 2004, 19:10
ich habe mal noch eine frage. ich habe den suchalgorithmis noch etwas verdeinert. dunktioniert ja auch super. allerdings, muss der suchstring immer dem kompletten zelleninhalt entsprechen! was muss ich ändern, damit auch ein "teilstring" als suchergebnis anerkannt wird? also wenn ich nach "Schule" suche, soll er auch in der zelle "stehen bleiben", in der "Schule ist toll" steht! wie mach ich das?

Delphi-Quellcode:
var suchtext:string;
    r,c:integer;
    gefunden:boolean;
begin
   gefunden:=False;
   suchtext:=ESuche.Text;
    if (suchtext='')or(suchtext=' ') then else
     begin
      For r:=zeile to FormHaupt.SGS.RowCount-1 do
       For c:=0 to FormHaupt.SGS.ColCount-1 do
        If (FormHaupt.SGS.Cells[c,r]=suchtext) then
         begin
          gefunden:=True;
          zeile:=r+1;
          WaehleZeileSGS(r); // ist eine Funktion, die die gesamte zeile markiert, in der sich der suchstring befindet
          BitBtn1.Caption:='Weitersuchen';
          exit;
         end;
     end;
    if (gefunden=False) then MessageDlg('" '+suchtext+'" wurde nicht gefunden', mtInformation, [mbOK],0);
  end;
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#7

Re: In StringGrid suchen

  Alt 10. Feb 2004, 19:16
wie wärs mit Pos ?

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
dopeline

Registriert seit: 7. Mär 2003
Ort: Berlin
304 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: In StringGrid suchen

  Alt 10. Feb 2004, 19:30
ich weiß jetzt nicht genau, was du meinst....

dopeline
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#9

Re: In StringGrid suchen

  Alt 10. Feb 2004, 19:40
Du kannst mit Pos prüfen ob "Schule" (oder ein anderer) in dem String den du durchsuchst, vorhanden ist.

In der Delphi-Hilfe gibts auch ein Beispiel zu Pos.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: In StringGrid suchen

  Alt 10. Feb 2004, 19:41
Hi,
die Funktion pos gibt dir die genaue Stelle eines Substrings in einem String an. Wenn dieser Substring nicht vorhanden ist, so wird 0 zurückgegeben, ansonsten die exakte Position des Substrings.

Chris

PS: Siehe dazu auch OH!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:51 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