Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TSerieslist malt "falsch" (https://www.delphipraxis.net/44096-tserieslist-malt-falsch.html)

LoL 13. Apr 2005 14:25


TSerieslist malt "falsch"
 
Liste der Anhänge anzeigen (Anzahl: 2)
hi

Ok was jetzt kommt is mit code n bisschen lang deswegen kürz ich das ein bisschen :zwinker:
Folgendes ich male einen Graphen auf TChart mit ner TSerieslist(Teperatur(Y-Achse) über die Zeit(X-Achse)). Nun hab ich das so geamcht das man wenn man will einen Teil des Graphen "weglassen" kann, zb die ersten 50 minuten. zu diesem Zweck setz ich einfach die Teile des Graphen die weggelassen werden sollen auf clnone. Funktioniert auch soweit. Nun aber mein Problem:
Wenn ich den ersten Teil des Graphen statt mit clnone mit clblue zeiche wird aufeinmal eher angefangen, wie man im Anhang deutlich sehen kann. Woran kann das liegen?

PS: Wenn ihr mir so nichts dazu sagen könnt poste ich auch gerne mal den Code aber damit will ich euch vorerst nicht belasten :P

freak4fun 13. Apr 2005 15:03

Re: TSerieslist malt "falsch"
 
Auf den Bildern kann ich nur erkennen, das es funktioniert. Einmal alles und einmal später angefangen. Poste mal den Code, damit kann ich mehr anfangen, als mit 2 Bildern, auch wenn Bilder manchmal mehr als Worte sagen. ;)

MfG
Christian

LoL 13. Apr 2005 18:34

Re: TSerieslist malt "falsch"
 
Data is in diesem fall eine Stringliste
Delphi-Quellcode:
for i := 0 to Data.Count - 1 do
begin
  i_temp := //temp auslesen
  i_time := //Zeit auslesen
  i_gesamt := i_gesamt + i_time;

  if i_gesamt < FDrawBegin then//Wenn Gesamtzeit unter der angegebenen Startzeit
    cl_selection := clblue;//bzw clnone

  case {Schrittart} of
  0 : if Data[i-1][1] = {Teilprozessanfang} then
        AddXY(i_gesamt,i_temp,'',clnone);
  5 : AddXY(i_gesamt-i_time,0,'',cl_selection);//Ablassen(TeilprozessEnde)
  end;
  if {Nicht TeilprozessEnde} then
    AddXY(i_gesamt,i_temp,'',cl_selection);

  if i_gesamt > FDrawEnd then//Nach EndZeit abbrechen
    break;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:16 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