[Gelöst] Daten von StringGrid in ComboBox

Rund um die LCL und andere Komponenten
Antworten
cbd-amin
Beiträge: 7
Registriert: Fr 18. Aug 2017, 17:35

[Gelöst] Daten von StringGrid in ComboBox

Beitrag von cbd-amin »

Hallo zusammen,
kennen tue ich bisher nur VB, habe heute meinen ersten Tag in Lazarus und stehe auf dem Schlauch.
Ich habe einen kleinen 5*6 StringGrid mit Einträgen erstellt und diese möchte ich nun in eine Combobox übernehmen, um mit dem wiederrum ausgewählten Datensatz eine weitere Berechnung (int) zu machen. Programmcode ist noch nichts wesentliches vorhanden.
Habe über die Suche nichts passendes gefunden, wer kann mir Newbi helfen?

LG
Marco
Zuletzt geändert von cbd-amin am Do 24. Aug 2017, 12:26, insgesamt 1-mal geändert.

braunbär
Beiträge: 369
Registriert: Do 8. Jun 2017, 18:21
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10, FPC 3.2.0
CPU-Target: 64Bit
Wohnort: Wien

Re: Daten von StringGrid in ComboBox

Beitrag von braunbär »

Was möchtest du in eine Combobox übernehmen? Eine Spalte des Grids?

Vielleicht skizzierst du etwas ausführlicher, was du genau machen willst.

cbd-amin
Beiträge: 7
Registriert: Fr 18. Aug 2017, 17:35

Re: Daten von StringGrid in ComboBox

Beitrag von cbd-amin »

Hallo,
ja genau, es soll eine Spalte aus dem Grid in die Combobox geladen werden. Man wählt das Fahrzeug in dem Falle und mit den fahrzeugspezifischen Daten mache ich dann meine Kalkulation.
Bisher habe ich mir mit SaveToCSVfile geholfen, jedoch weis ich nicht ob ich mich damit auf dem Holzweg befinde(?). Habe mal einen Screenshot angehängt.

Screen1.png

Screen2.png

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Daten von StringGrid in ComboBox

Beitrag von Mathias »

Dies wäre eine einfache Variante. Bei dir würde dies die Spalte mit dem Verbrauch kopieren.

Code: Alles auswählen

  ComboBox1.Clear;
  for i := 1 to StringGrid1.RowCount - 1 do begin
    ComboBox1.Items.Add(StringGrid1.Cells[1, i]);
  end;   

oder

Code: Alles auswählen

  ComboBox1.Items:=  StringGrid1.Cols[1];

nur dann wird auch die Zeile mit dem Titel mit kopiert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

braunbär
Beiträge: 369
Registriert: Do 8. Jun 2017, 18:21
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10, FPC 3.2.0
CPU-Target: 64Bit
Wohnort: Wien

Re: Daten von StringGrid in ComboBox

Beitrag von braunbär »

Er wird wohl eher die Spalte 0 mit den Fahrzeugbezeichnungen brauchen :wink:

Also:

Code: Alles auswählen

 
ComboBox1.Items:=  StringGrid1.Cols[0];
ComboBox1.Items.delete(0); // Enfernt die oberste Leerzeile)
 

cbd-amin
Beiträge: 7
Registriert: Fr 18. Aug 2017, 17:35

Re: Daten von StringGrid in ComboBox

Beitrag von cbd-amin »

Hallo,
vielen Dank für die Hilfe. Die ersten Tage waren schwer, aber nun habe ich mich eingeschrieben und der Code steht.
Bis demnächst...

Antworten