Einzelnen Beitrag anzeigen

Benutzerbild von Captnemo
Captnemo

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

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