![]() |
Stringgrid fixedcols in einem array speichern
Hallo zusammen,
wir wollten gerne die fixedcols (eine zeile) in einem array speichern um sie so in eine compobox packen zu können leider übernimmt er die werte aus dem Stringgrid nicht... vielleicht könntet ihr uns ja weiter helfen. Hier ist unser bisheriges Programmfragment
Delphi-Quellcode:
vielleicht kennt ihr ja auch eine bessere Lösung für unser Problem
procedure TForm3.ColorButton1Click(Sender: TObject);
var gramm, cash : Extended; names : String; i, x, b : Integer; arrey : String; begin gramm := StrToFloat(edit1.text); cash := StrToFloat(Edit2.text); x := Form4.StringGrid1.ColCount; for b := 1 to x do begin arrey[b] := form4.Stringgrid1.Cells[b,0]; // Hier tritt ein unerklärlicher fehler auf: inkompatible Typen 'Char' und 'String' end; for i := 1 to x do begin form3.Combobox1.items[i-1] :=arrey[i]; end; end; |
Re: Stringgrid fixedcols in einem array speichern
Ich finde den Fehler überhaupt nicht unerklärlich: Arrey ist als String deklariert, also muss Arrey[x] ein Zeichen sein. Deklariere Arrey mal als Array of string.
|
Re: Stringgrid fixedcols in einem array speichern
Hallo,
warum nicht so?
Delphi-Quellcode:
Viel besser ist es aber, wenn die Spaltenüberschriften unabhängig von den visuellen Controls bereit gestellt werden.
procedure TForm3.ColorButton1Click(Sender: TObject);
var gramm, cash : Extended; names : String; i, x, b : Integer; arrey : String; begin gramm := StrToFloat(edit1.text); cash := StrToFloat(Edit2.text); x := Form4.StringGrid1.ColCount; ComboBox1.Items.Assign(Form4.StringGrid1.Rows[0]); { for b := 1 to x do begin arrey[b] := form4.Stringgrid1.Cells[b,0]; // Hier tritt ein unerklärlicher fehler auf: inkompatible Typen 'Char' und 'String' end; for i := 1 to x do begin form3.Combobox1.items[i-1] :=arrey[i]; end; } end; Grüße vom marabu |
Re: Stringgrid fixedcols in einem array speichern
leider funktioniert keine der beiden lösungen oder unser ansatz es zu benutzen ist falsch, wenn ihr die Lösung kennt dann sagt sie uns bitte und warum das so genutzt wird das wäre sehr sehr nett.
Delphi-Quellcode:
procedure TForm3.ColorButton1Click(Sender: TObject);
var gramm, cash : Extended; names : String; i, x, b : Integer; arrey : String; begin gramm := StrToFloat(edit1.text); cash := StrToFloat(Edit2.text); x := Form4.StringGrid1.ColCount; Form4.StringGrid1.Rows[0].Assign(ComboBox1.Items); { gramm, cash : Extended; names : String; i, x, b : Integer; arrey : array of String; begin gramm := StrToFloat(edit1.text); cash := StrToFloat(Edit2.text); x := Form4.StringGrid1.ColCount; } { for b := 1 to x do begin arrey[b] := form4.Stringgrid1.Cells[b,0]; end; for i := 1 to x do begin form3.Combobox1.items[i-1] :=arrey[i]; end; } |
Re: Stringgrid fixedcols in einem array speichern
Tut mir leid, wenn sich das jetzt etwas grob anhört, aber:
Copy&Paste ist wohl das mindeste, was man beherrschen sollte. Den von marabu beschriebenen Code hast Du so jedenfalls nicht übernommen. Das, was Du machst, ist der ersten Zeile des Grids die Werte aus der Combobox zuzuweisen..... Die Methode 'assign' kopiert Werte von einem Ort zu einem anderen - wobei die Methode von dem Ziel angesprochen wird, und als Argument die Quelle übergeben bekommt. Warum das von DeddyH. genannte Beispiel bei Dir nicht funktioniert, kann ich nicht sagen, solange ich nicht sehe, wie Du es anwendest. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:54 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 by Thomas Breitkreuz