AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Daten aus Array zeichnen

Ein Thema von Chris211183 · begonnen am 18. Mai 2015 · letzter Beitrag vom 21. Mai 2015
Antwort Antwort
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#1

AW: Daten aus Array zeichnen

  Alt 18. Mai 2015, 12:48
Worauf willst du denn jetzt Zeichnen?


Wenn du direkt auf der Form zeichnen willst, dann solltest du in
Delphi-Quellcode:
procedure TForm1.OnPaint(Sender: TObject);
begin
   HixHistograph1.DrawMeasureValue(ReadInArray);
end;
zeichnen.

Besser finde ich allerdings, wenn man sich dafür ein Panel oder eine Paintbox hinlegt, auf die man zeichnet.
Bissl falsch ausgedrückt..., meine Komponente liegt auf Form1, in die Komponente soll reingezeichnet werden. rufe die Zeichenroutine aber auf !

Delphi-Quellcode:
procedure THixHistograph.Paint;
begin
  inherited;
    DrawComponent; // zeichnet Hintergrund etc.
    DrawMeasureValue(ReadInArray); // soll den Graphen zeichnen
end;
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#2

AW: Daten aus Array zeichnen

  Alt 18. Mai 2015, 12:51
Okay, ist aber egal.

Alles, was du auf dem Canvas machen möchtest, gehört in das OnPaint-Ereignis der Komponente, auf deren Canvas du zeichnen möchtest.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#3

AW: Daten aus Array zeichnen

  Alt 18. Mai 2015, 12:56
Also, wenn ich mir was auf den Canvas zeichnen möchte, was dann aber nicht so da ankommt, wie ich es gerne hätte, dann schreibe ich mir einfach alle Werte, die ich im OnPaint verwende, in eine Textdatei, die ich hinterher auslese. Letztlich kannst du natürlich alles auch Schrittweise durchgehen, aber mir persönlich geht dann gerne die Übersicht verloren. (Vor allem, weil das OnPaint immer wieder aufgerufen wird, wenn ich von Code beim debuggen wieder ins Programm springe).

Und in der Textdatei kann man dann gut sehen, welche Werte du in deinem Array liest, und wieviele Daten du überhaupt bekommst. Alternativ kannst du ja auch mal ein Memo daneben legen, wo du dir alle Wert einfach mal aus dem OnPaint mit reinschreibt.

Darüber hinaus, verwende ich zum testen immer mal mehr Variablen, als ich später vielleicht im Code belasse.

So würde ich zum testen vielleicht so schreiben:
Delphi-Quellcode:
procedure OnPaint(Sender: TObject);
begin
  for i:=0 to length(wertearray) do
  begin
     y:=wertearray[i] + (i * abstand);
     Memo.lines.add('wert='+inttostr(wertearray[i])+' abstand='+inttostr(abstand));
//must du halt noch ein bischen ergänzen
     canvas.lineto(y, x);
  end;
end;
und kürze das später aus:
Delphi-Quellcode:
procedure OnPaint(Sender: TObject);
begin
  for i:=0 to length(wertearray) do
  begin
     canvas.lineto(wertearray[i] + (i * abstand), x);
  end;
end;
Bei einfachen Dinge geht's natürlich auch anderes, aber wenn's aus irgendwelchen Gründe kompliziert ist, dann helfe ich mir so.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo

Geändert von Captnemo (18. Mai 2015 um 13:02 Uhr)
  Mit Zitat antworten Zitat
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#4

AW: Daten aus Array zeichnen

  Alt 18. Mai 2015, 12:58
Super Idee, werd ich mal machen ! Danke Dir
Christian
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#5

AW: Daten aus Array zeichnen

  Alt 18. Mai 2015, 14:32
Guck dir evtl. dieses Beispiel an:

http://www.delphipraxis.net/1201761-post13.html

Da habe ich auch aus einem Array gezeichnet.
  Mit Zitat antworten Zitat
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#6

AW: Daten aus Array zeichnen

  Alt 18. Mai 2015, 17:52
Guck dir evtl. dieses Beispiel an:

http://www.delphipraxis.net/1201761-post13.html

Da habe ich auch aus einem Array gezeichnet.
Danke @Popov, ja so sieht das bei mir auch aus, mein Array ist ein globales Array of Real...

Kurz nochmal zusammengefasst:

Grundgerüst ist bereits als Komponente übersetzt (Hintergrund, Gaps, Colors etc.)
Ich habe eine Datei, in der lauter Werte stehen, diese sind die Y-Werte, diese lese ich in mein Array ein, über eine seperate Unit. ----BIS HIERHER FUNZ ALLES ! Werte werden auch in das Array eingelesen...
Die Unit ist auch in der uses Klausel und es kann darauf zugegriffen werden.

Wenn ich jetzt diese in meiner Zeichenroutine (welche in der procedure paint aufgefufen wird) benutze, zeichnet Canvas leider nichts..., ich steh komplett auf dem Schlauch, weshalb nicht....
Christian
  Mit Zitat antworten Zitat
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#7

AW: Daten aus Array zeichnen

  Alt 18. Mai 2015, 17:55
@Captnemo, hab grad erst Dein Bsp. gesehen, werd ich morgen mal machen nach der Uni ausprobieren ! Danke Dir
Christian

Geändert von Chris211183 (18. Mai 2015 um 17:58 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz