AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TChart aktualisieren bei Änderung des StringGrids.
Thema durchsuchen
Ansicht
Themen-Optionen

TChart aktualisieren bei Änderung des StringGrids.

Ein Thema von Sven M. · begonnen am 6. Okt 2008 · letzter Beitrag vom 7. Okt 2008
Antwort Antwort
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#1

TChart aktualisieren bei Änderung des StringGrids.

  Alt 6. Okt 2008, 16:27
Hallo zusammen,
ich habe zwar schon etwas Erfahrung in Delphi, scheitere aber im Moment an folgender Aufgabenstellung.
Ich möchte, dass sobald sich die Daten in einem StringGrid ändern, dass diese auf ein Chart übertragen werden. Jetzt hätte ich gedacht, dass das mit einer OnChange-Methode geht. Ginge sicherlich auch - so es eine solche Methode für das StringGrid denn gäbe...

Habt ihr 'ne Idee, wie ich das genannte Vorhaben realisieren könnte?
Hintergrund ist, dass ich sich das SG alle 5 Sekunden durch einen weiteren Messwert erweitert und dieser natürlich auch auf das Chart übertragen werden soll. Da ich auch bereits gespeicherte Daten wieder einlesen kann, möchte ich, dass das Diagramm auch dann sofort wieder aktualisiert werden soll.


Besten Dank im Voraus,
Sven
  Mit Zitat antworten Zitat
ConstantGardener

Registriert seit: 24. Jan 2006
Ort: Halberstadt
376 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: TChart aktualisieren bei Änderung des StringGrids.

  Alt 6. Okt 2008, 18:04
Hallo Sven,

warum fügst Du den Wert nicht der Series zu (ADD) wenn Du auch das Stringgrid erweiterst ? Wenn sich mehrere ändern solltest Du die Series löschen und komplett neu füllen. Das könnte bei vielen Daten natürlich etwas langsam werden. Dann solltest Du nur die geänderten Daten direkt ändern. Wenn Du den User Daten im SStringgrid ändern lässt könntest Du auch im KEYUp des StringGrid einen Timer Starten der nach z.B. 5 Sek die SERIES neu einliest (des Timer bei Keyup erst enabled=false und dann enabled=true).

mfg

CG
Andreas Schachtner
  Mit Zitat antworten Zitat
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: TChart aktualisieren bei Änderung des StringGrids.

  Alt 7. Okt 2008, 11:04
Hi CG,
habe mich wohl etwas blöd ausgdrückt...

Wenn ich die Daten generiere, kann ich sie ohne Probleme in das Chart schreiben. Daran hakt's nicht. Das Problem ist, wenn ich meine Daten aus der Datei einlese, kann ich sie zwar in das StringGrid laden, jedoch nicht in das Chart schreiben.
Das Chart bleibt dann schlicht und ergreifend leer.
Code sieht folgendermaßen aus:

Delphi-Quellcode:
FormGrafik.Series1.clear;
FormGrafik.Series2.clear;
//FormGrafik.Series3.clear;

if OpenDialog.execute then
   LoadData (StringGridDaten, OpenDialog.filename, messwert); //Lade-Routine: schreibt Daten aus Textdatei mit Hilfe von StringList in Record 'messwert' und StringGrid
datensaetze:=StringGridDaten.RowCount-1; //wäre eleganter, wenn ich die Anzahl der Datensätze aus den Records lese, da da ja auch die Daten für's Chart herkommen, oder?
For i:=1 to datensaetze do
   begin
       FormGrafik.Series1.Add(messwert[datensaetze-1].o2wert);
       FormGrafik.Series1.Add(messwert[datensaetze-1].Temp);
   end;
Warum funktioniert das nicht? Wo ist mein Denkfehler? Klärt mich bitte auf....!!


Beste Grüße,
Sven
  Mit Zitat antworten Zitat
ConstantGardener

Registriert seit: 24. Jan 2006
Ort: Halberstadt
376 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: TChart aktualisieren bei Änderung des StringGrids.

  Alt 7. Okt 2008, 11:13
Hallo Sven,

du fügst

1. immer den selben Wert ein MESSWERTE[Datensaetze-1] uns
2. immer in Series1 -- Temp Werte sollten bestimmt in Series2 oder

mfg CG
Andreas Schachtner
  Mit Zitat antworten Zitat
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#5

Re: TChart aktualisieren bei Änderung des StringGrids.

  Alt 7. Okt 2008, 11:32
Hi CG,
es lag natürlich daran, dass ich immer den gleichen Wert eingefügt habe. Muss als Index natürlich i verwenden. Und die Werte schreibe ich in unterschiedliche Graphen. Das hatte ich nur falsch abgetippt, da ich auf dem Rechner, auf dem ich progge, noch keinen Internetanschluss habe...



Auf jeden Fall allerbesten Dank für deine Hilfe...
Manchmal sieht man halt den Wald vor lauter Bäumen nicht...
  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 02:35 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