Delphi-PRAXiS
Seite 1 von 2  1 2      

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 einfache TChart Sache... (https://www.delphipraxis.net/35671-einfache-tchart-sache.html)

Drunken_SheeP 10. Dez 2004 14:39


einfache TChart Sache...
 
hi,

ich hab folgendes problem:
ich möchte eine einfache wertereihe in einem diagramm darstellen. also auf knopfdruck soll ein wert in ein TChart eingetragen werden. mit diesem series.add.blalba geht das nicht so wie ich das will, weil es ja den wert immer rechts neu einträgt. was ich will ist, dass ein wert als balken in einem koordinatensystem eingetragen wird, bei dem ich die x und y achse selber definiert habe.

frage nun, wie stell ich das an (syntax und def des koordinatensystems), komme im moment irgendwie (TChart anleitung ist mir zu unverständlich) nicht weiter. ich beschäftige mich seit ca einem halben jahr nu mit delphi im informatikuntterricht in der schule, und bin also noch nicht so fortgeschritten. wir sind halt etwas lahm in der schule (an mir liegts nich :-D ). naja und dieses prog wollte ich aus eigener intenstion zur auswertung des Millikan versuchs für den physikunterricht schreiben...

würde mich sehr über hilfe freuen...

Steve 10. Dez 2004 14:58

Re: einfache TChart Sache...
 
Hi,

schau Dir mal TBarSeries (für Balken) und AddXY (Hinzufügen) an...


Gruß
Stephan :dance: :xmas:

Drunken_SheeP 11. Dez 2004 14:11

Re: einfache TChart Sache...
 
dickes thx schonmal, damit bin ich schon ein stückl weiter :-D

Drunken_SheeP 14. Dez 2004 18:49

Re: einfache TChart Sache...
 
*push*

was ich irgendwie nirgendswo finde:
wie bekomm ich den Y Wert an der Stelle X aus einem Histogramm (TChart)?

mikhal 14. Dez 2004 19:56

Re: einfache TChart Sache...
 
Schau dir mal das Ereignis OnClickSeries der Klasse TChart an, dort wird dir mitgeteilt, welche Series angeklickt wurde, welcher Wert der Reihe auf der X-Achse (ValueIndex) angeklickt wurde ...

Um jetzt den Y-Wert zu erhalten, benötigst du nur noch die Eigenschaft YValue der Series, also etwa so:

Code:
var
  dMeinWert: Double;
...

  dMeinWert := Series.YValue[ValueIndex]
...
Grüße
Mikhal

Drunken_SheeP 14. Dez 2004 21:22

Re: einfache TChart Sache...
 
nur das ich das klar versteh,

dMeinWert := Series.YValue[ValueIndex]

Dieses [YalueIndex] ist dann der Wert der X-Achse oder? der muss aber integer sein...wie bekomm ich nu hin, das der double ist? oder hab ich was verpeilt, bin gard müde, schau mir morgen das nochmal an. Danke trotzdem!

mikhal 15. Dez 2004 05:33

Re: einfache TChart Sache...
 
ValueIndex stellt nicht den Wert auf der X-Achse dar sondern ist der n-te Wert auf deiner x-Achse. Um den Wert auf der x-Achse zu bestimmen.

Schau dir mal folgendes Beispiel an. Es verlangt einfach nur eine TChart auf einem Form:

Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Series1.Add(0.5, '1,5', clRed);
  Series1.Add(1.2, '2,5', clRed);
  Series1.Add(2.1, '3,2', clRed);
end;

procedure TForm1.Chart1ClickSeries(Sender: TCustomChart;
  Series: TChartSeries; ValueIndex: Integer; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  dYWert: Double;
  iNterWert: Integer;
  dXwert: Double;
begin
  iNterWert := ValueIndex;
  dYWert := Series.YValue[ValueIndex];
  dXWert := StrToFloat(Series.XLabel[ValueIndex]);
  ShowMessage(Format('Y-Wert ist %g an n-ter (%d) Position auf der x-Achse,%sder x-Wert beträgt %g',
                   [dYWert, iNterWert, #13#10, dXWert]));
end;
Grüße
Mikhal

Drunken_SheeP 16. Dez 2004 13:18

Re: einfache TChart Sache...
 
Hi,

also zuerstma, wenn ich deinen Quelltext einfüg, nen chart auf die form zieh unds dann ablaufn lass kommt

Code:
[Error] Unit1.pas(26): Undeclared identifier: 'FormCreate'
[Error] Unit1.pas(28): Undeclared identifier: 'Series1'
[Error] Unit1.pas(29): Missing operator or semicolon
[Error] Unit1.pas(30): Missing operator or semicolon
[Error] Unit1.pas(33): Undeclared identifier: 'Chart1ClickSeries'
[Error] Unit1.pas(33): ';' expected but '(' found
[Error] Unit1.pas(41): Undeclared identifier: 'ValueIndex'
[Error] Unit1.pas(42): Undeclared identifier: 'YValue'
[Error] Unit1.pas(43): Undeclared identifier: 'XLabel'
[Fatal Error] Project2.dpr(6): Could not compile used unit 'Unit1.pas'
kann es sein das das mit der delphi version zusammenhängt? was für ein delphi hast du? ich hab Delphi 6...

ich bekomm das mitm y wert an der stelle x also noch immer nicht raus, ich erklär euch ma kurz für was ich das bräuchte, geht sicher auch anders. also ich will quasi einen X wert eingeben, und das chart soll dann den zugehörigen Y wert jeweils um 1 erhöhen...und ich komm irgendwie mitm diesem chart nicht zurecht...hlp plz :cry:

mikhal 16. Dez 2004 17:29

Re: einfache TChart Sache...
 
Die Rumpf der Methode FormCreate wird automatische erzeugt, wenn du einen Doppelklick auf deine Form machst. Dorthinein kopierst du dann den Inhalt meines Quelltextes in FormCreate. Die Methode Chart1ClickSeries wird mit einem Doppelklick auf das Ereignis OnClickSeries im ObjectInspector erzeugt, wenn du die Chart-Komponente markierst. Auch hier kopierst du die entsprechenden Quelltextzeilen hinein. Dann sollte es laufen...

Grüße
Mikhal

Drunken_SheeP 17. Dez 2004 07:59

Re: einfache TChart Sache...
 
omg okay nu hab ichs glaub verstanden...dickes dankeschön!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:18 Uhr.
Seite 1 von 2  1 2      

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