Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi fincomponent bei stringgrid (https://www.delphipraxis.net/68659-fincomponent-bei-stringgrid.html)

bonanza 3. Mai 2006 13:59


fincomponent bei stringgrid
 
Hi,

ich möchte gerne die FindComponent-komponente bei einem Stringgrid anwenden. Dabei möchte ich einen Wert aus einem Array in ein Stringgrid feld schreiben...

Das ist mein ansatz aber irgendwie mag er das nicht ^^:

Delphi-Quellcode:
for j := 0 to 9 do begin
if (getauschte[j] = true) then
TStringGrid(Form2.FindComponent('Stringgrid1.Cells[' + IntToStr(durchlauf) + ', ' + inttostr(j+1))) := IntToStr(liste[j]);
end;
"Durchlauf" gibt wie der name schon sagt den durchlauf an, da immer die veränderung dagestellt werden soll.
Im hauptprogramm wird die folglich immer um eins größer.


vielen danke schonmal im voraus
mfg
bonanza

jim_raynor 3. Mai 2006 14:01

Re: fincomponent bei stringgrid
 
Ähh. Warum nicht einfach:

Delphi-Quellcode:
Stringgrid1.Cells[durchlauf,j+1] := IntToStr(liste[j]);
:?:

himitsu 3. Mai 2006 14:20

Re: fincomponent bei stringgrid
 
FindComponent sucht nur nach Komponenten (daher der Name) und du willst 'ne Methode (Stringgrid1.Cells) einer Komponente suchen, was natürlich nicht geht :zwinker:

und selbst wenn es ginge, hätte bei deinem Code noch das abschließende ] gefehlt ._.
Code:
TStringGrid(Form2.FindComponent('Stringgrid1.Cells[' + IntToStr(durchlauf) + ', ' + inttostr(j+1))[color=#ff0000][b] + ']'[/b][/color]) := IntToStr(liste[j]);
also
Delphi-Quellcode:
for j := 0 to 9 do
  if getauschte[j] then
    TStringGrid(Form2.FindComponent('Stringgrid1')).Cells[durchlauf, j+1] := IntToStr(liste[j]);
oder wie es mein Vorredner schon meinte ^^


PS: dieses getauschte[j] = true warum machen viele sowas ... wer um himmels Willen bringt euch das so bei?
ließ mal da ein bissl rum > http://www.delphipraxis.net/internal...=541211#541211

jim_raynor 3. Mai 2006 14:24

Re: fincomponent bei stringgrid
 
Zitat:

Zitat von himitsu
Delphi-Quellcode:
for j := 0 to 9 do
  if (getauschte[j] = true) then
    TStringGrid(Form2.FindComponent('Stringgrid1').Cells[durchlauf, j+1] := IntToStr(liste[j]);
oder wie es mein Vorredner schon meinte ^^

harharhar. Jetzt hast du aber die zweite Klammer nach 'Stringgrid1') vergessen ;)

himitsu 3. Mai 2006 14:28

Re: fincomponent bei stringgrid
 
na und ... es ist halt nicht leicht soeinen unformatierten Code zu überarbeiten ... man sieht ja kaum was -.-''

Ich frag mich langsam, was den Programmieren beigebracht wird ... Codeormatierung ... =TRUE ... und was nicht sonst noch so alles auftaucht :wall:

Khabarakh 3. Mai 2006 14:31

Re: fincomponent bei stringgrid
 
Ein Klammernpaar um ifs finde ich bei einem Pascal-Dialekt auch eher unschön :P .


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 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