AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

array of TStringgrid

Ein Thema von matashen · begonnen am 28. Jan 2016 · letzter Beitrag vom 28. Jan 2016
Antwort Antwort
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
471 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

array of TStringgrid

  Alt 28. Jan 2016, 11:13
Hallo zusammen,

ich such grad nach einer Lösung um auf verschieden Stringgrids zuzugreifen ohne ewig IF Abfragen zu bauen.

Ich habe mehrere Stringgrids die ich gerne über einen Index ansprechen würde

Momentan mach ich das zum Beispiel so

Delphi-Quellcode:
Add_Werte2Chart(werte_orte,Chart1.Series[0]);
Add_Werte2Chart(werte_fehlercodes,Chart1.Series[1]);
Add_Werte2Chart(werte_Materialnummer,Chart1.Series[2]);
...
...
Add_Werte2Chart(Quelle: TStringGrid; ZielSerie: TChartSeries);
ich würde das gern aber so lösen
Delphi-Quellcode:
const gridliste: Array[0..2] of TStringgrid=(werte_orte,werte_fehlercodes,werte_Materialnummer); //Geht aber nicht
...
...
Add_Werte2Chart(gridliste[i],Chart1.Series[h]);
Die const Definition akzeptiert mir aber der Compiler nicht, was ich bräuchte wär also wie ich in das Array die Pointer zu den Grids bekomme, ging das über das Handle


Wäre über eine Lösung dankbar

Gruß Matthias
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
HeZa

Registriert seit: 4. Nov 2004
Ort: Dortmund
182 Beiträge
 
Delphi 10 Seattle Professional
 
#2

AW: array of TStringgrid

  Alt 28. Jan 2016, 11:49
Delphi-Quellcode:
var
  gridliste: array [0..2] of TStringGrid;

// zu einem von dir wählbaren Initzialisierungszeitpunkt
gridListe[0] := werte_orte;
gridliste[1] := werte_fehlercodes;
gridliste[2] := werte_Materialnummer;
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: array of TStringgrid

  Alt 28. Jan 2016, 11:53
Mach es doch nicht über ein konstantes Array, sondern über ein dynamisches oder eine Objektliste.
Allerdings würde ich dann überlegen, ob du bei Add_Werte2Chart(gridliste[i],Chart1.Series[h]) nicht einfach nur noch i und h übergibst, irgendwie sieht das so nämlich unschön aus.

Eventuell wäre noch eine Überlegung die Daten nicht aus dem StringGrid zu nehmen, sondern aus deiner ursprünglichen Datenquelle, mit der zuvor schon das StringGrid gefüllt wurde, sprich es macht evtl. Sinn die Datenhaltung von der GUI zu trennen.
Ralph
  Mit Zitat antworten Zitat
Photoner

Registriert seit: 6. Dez 2012
Ort: Nürnberg
103 Beiträge
 
Delphi 10.1 Berlin Starter
 
#4

AW: array of TStringgrid

  Alt 28. Jan 2016, 11:58
Da war einer schneller

Mein Vorschlag bläst in dasselbe Horn.

Mach einfach eine Variable daraus:
Delphi-Quellcode:
var
  Form2: TForm2;
  gridliste : Array[0..2] of TStringGrid;
und dann im FormCreate mit Leben füllen:

Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
var
  i : Integer;
begin
  for I := 0 to 2 do
    gridliste[i] := TStringGrid.Create(Self);
  //oder deine [U]vorher erzeugten[/U] Listen werte_orte,werte_fehlercodes,werte_Materialnummer zuweisen
  //gridliste[0] := werte_orte;
  //...
end;
Chris
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
471 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: array of TStringgrid

  Alt 28. Jan 2016, 12:28
OK, danke dafür

Direkt aus der Datenquelle geht nicht, bzw. nur sehr umständlich.

Das mit der Zuweisung zum Array reicht mir als Lösung.
Mehr Hirn wird ich da nicht mehr investieren.

Gruß Matthias
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 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