Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Auslesen von daten eines Stringgrids (https://www.delphipraxis.net/109706-auslesen-von-daten-eines-stringgrids.html)

5etH 6. Mär 2008 09:21


Auslesen von daten eines Stringgrids
 
Hallo zusammen,

hab da ein kleines Problem, undzwar würde ich gerne mit einer Combobox bestimmte Daten aus einem Stringgrid auslesen, es geht um einen Umrechnungskurs, dieser Kurs soll dann in einer Variable gespeichert werden, sowohl als String für eine Ausgabe, als auch als Extended zum rechnen. Leider gibt er mir die Werte nicht aus, ich hab das mit einer Showmessage Anweisung getestet nur steht dann in dem Fenster nichts also liest er diese Werte auch anscheinend nicht aus.

hier einmal der Delphicode

Delphi-Quellcode:
procedure TForm3.ComboBox1Select(Sender: TObject);
var test : String;
    kurs : Extended;
begin

test := form4.Stringgrid1.Cells[form4.Stringgrid1.rowcount,form3.ComboBox1.itemindex];
//kurs := StrToFloat(test);
//panel1.Caption := test;
showmessage(test);
end;
Die testdaten werden manuell in das Stringrid eingetragen.

s-off 6. Mär 2008 09:35

Re: Auslesen von daten eines Stringgrids
 
Hallo,

bedenke, dass sowohl bei TStringGrid.Rows als auch bei ComboBox.Items bei 0 angefangen wird, zu zählen.

form4.Stringgrid1.rowcount dürfte also ins Leere zeigen.

Angenommen, Dein Grid hat 20 Zeilen. Mit RowCount (20) willst Du die letzte Zeile ansprechen. Diese müsste aber mit 19 angesprochen werden. Also musst Du rowcount -1 verwenden.

Desweiteren ist die Reihenfolge Cells[Col, Row]

DeddyH 6. Mär 2008 09:36

Re: Auslesen von daten eines Stringgrids
 
Du liest über den Index hinaus.
Delphi-Quellcode:
procedure TForm3.ComboBox1Select(Sender: TObject);
var test : String;
    kurs : Extended;
begin

  test := form4.Stringgrid1.Cells[ComboBox1.itemindex, form4.Stringgrid1.rowcount - 1];
  //kurs := StrToFloat(test);
  //panel1.Caption := test;
  showmessage(test);
end;
Die erste Zeile hat den Index 0, die letzte den Index RowCount - 1.

[edit] Zeile und Spalte verwechselt :oops: [/edit]

5etH 6. Mär 2008 09:53

Re: Auslesen von daten eines Stringgrids
 
vielen dank jetzt funktioniert es. Wir hatten row und col vertausch :oops:


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