AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Stringgrid, in bestimmter Spalte nach String suchen...
Thema durchsuchen
Ansicht
Themen-Optionen

Stringgrid, in bestimmter Spalte nach String suchen...

Ein Thema von Budda · begonnen am 20. Jan 2005 · letzter Beitrag vom 27. Jan 2005
Antwort Antwort
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#1

Re: Stringgrid, in bestimmter Spalte nach String suchen...

  Alt 21. Jan 2005, 17:50
Zitat von yankee:
Zitat von shmia:
p := spalte.IndexOf('rot'); // suche nach "rot"
end;
Du bist aber schon ein bißchen JavaScript geschädigt, oder
Nö, das ist doch korrekter Delphi Code.
Also spalte ist eine Stringliste, und mit der Methode [TStrings.]IndexOf erspare ich mir
eine Schleife über alle Strings in der Liste.
In der Variablen p wird die Position des Strings in der Liste gespeichert.
Wenn man nur einen Teilstring suchen möchte, dann kann man IndexOf natürlich nicht gebrauchen.
Zitat von yankee:
EDIT2: ich habe mir das nochmal genauer durchgelesen. Das macht echt so den Anschein, asl hättest du ein bißchen zuvile Javascript geproggt.
Zitat von shmia:
spalte := StringGrid1.cols[2]; // die 3. Spalte
Hier kopierst du gerade die komplette Spalte nochmal. Das ist doch totale RAM-Verschwendung. Und CPU-Verschwendung eignlch auch.
Hier wird nicht kopiert, sondern spalte ist ein Objektzeiger.
Über dieses TStrings-Objekt greife ich direkt auf die Zellen einer Spalte des StringGrids zu.
Wenn du's nicht glaubst, dann versuche mal das:
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
   spalte : TStrings;
   i : Integer;
begin
   spalte := StringGrid1.cols[1]; // die 2. SPALTE

   // wird jetzt mit Inhalten befüllt
   for i := 0 to spalte.Count-1 do
   begin
      spalte[i] := IntToStr(i)+ ' Hallo';
   end;
   // beachte, dass das Objekt spalte weder mit Create erzeugt,
   // noch mit Free zerstört wird

   // auch ein Refresh des Grid ist nicht nötig !
end;
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:47 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