Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Stringgrid fixedcols in einem array speichern (https://www.delphipraxis.net/109615-stringgrid-fixedcols-einem-array-speichern.html)

Borschti 4. Mär 2008 17:14


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:
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;
vielleicht kennt ihr ja auch eine bessere Lösung für unser Problem

DeddyH 4. Mär 2008 17:38

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.

marabu 4. Mär 2008 18:45

Re: Stringgrid fixedcols in einem array speichern
 
Hallo,

warum nicht so?
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;

  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;
Viel besser ist es aber, wenn die Spaltenüberschriften unabhängig von den visuellen Controls bereit gestellt werden.

Grüße vom marabu

Borschti 5. Mär 2008 14:32

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;
   }

s-off 5. Mär 2008 14:54

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