AGB  ·  Datenschutz  ·  Impressum  







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

Verschiebung eines Graphen

Ein Thema von Nils_13 · begonnen am 16. Mär 2008 · letzter Beitrag vom 17. Mär 2008
 
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#1

Verschiebung eines Graphen

  Alt 16. Mär 2008, 18:59
Hi,

wenn der Graph den Fensterrand erreicht, soll er verschoben werden, damit man die aktuellen Werte noch sehen kann.
Delphi-Quellcode:
GrpDX := 0;

...

with Grp.Canvas do // Grp = Graph = TBitmap
begin
  MoveTo(GrpX , GrpY);
  LineTo(GrpX+20, ...));
  GrpX := GrpX+20;
  GrpY := ...;

  if GrpX > frmMain.Width then
    GrpDX := GrpDX-20;
end;
Canvas.Draw(GrpDX, 16, Grp);
In dem Code wird erstmal mit MoveTo Punkt1 festgelegt und mit LineTo die nötige Verbindungslinie zu Punkt2 gezeichnet. GrpX ist der aktuelle X-Wert, GrpY der aktuelle Y-Wert. Also wird GrpX immer um 20 erhöht und auf der Basis des neuen GrpX wieder der nächste Schritt berechnet. Um es zu vereinfachen habe ich die Berechnung von GrpY in dem Codeausschnitt weggelassen.
Nun wird mit der If geschaut, ob der nächste X-Wert schon zu weit draußen liegt. Wenn ja, wird GrpDX um 20 verkleinert. GrpDX ist der X-Wert welcher von Canvas.Draw genutzt wird um das Bitmap Grp zu zeichnen. Ich will also einfach Grp weiter links zeichnen um rechts mehr Platz zu erhalten. Dies funktioniert nicht. Es wiederholt sich sobald der Graph den Fensterrand erreicht hat der Graph immer wieder. Der rote Kasten auf dem Screenshot markiert den sich ständig wiederholenden Bereich.

Mein Fehler muss ein ganz simpler sein. Seht ihr ihn ?
Angehängte Grafiken
Dateityp: png graph_136.png (497 Bytes, 25x aufgerufen)
  Mit Zitat antworten Zitat
 


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 19:57 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