Entwickler-Ecke

Sonstiges (Delphi) - Komponente mit der man eine Wert / Zeit Kurve erzeugen kann?


Delete - Mi 29.02.12 15:42
Titel: Komponente mit der man eine Wert / Zeit Kurve erzeugen kann?
Hallo ich bin auf der Suche nach eine Komponente mit der man z.b. einen Temperaturverlauf / Spannungsverlauf etc. erzeugen kann.

Also z.b. von 0 bis 20 °C in 1 Grad Schritten auf der Y Achse und 0 - 24 Uhr in 30 min Schritten auf der X Achse. Darauf möchte ich dann eine Kurve frei beweglich (zumindest an den Schnittpunkten) verschieben und die Werte an den Schnittpunkten dann auslesen können.

Kenn jemand eine solche Komponente. Darf auch ruhig was kosten.

Gruß Frank


bummi - Mi 29.02.12 15:46

Wie wäre es mit TDBChart .... ich hätte hier einen Fetzen Code

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
procedure TDisplay.ChartMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
   lIndex : longint;
begin

  try
    lIndex := -1;
    if Assigned(Series1) and (Series1.Count > 0then
    begin
      lIndex := Series1.GetCursorValueIndex;
    end;
  except
    lIndex := -1;
  end;
  if (lIndex > -1then
  begin
    FSeriesPos := lIndex;
    SetCursor;
  end;


end;


procedure TDisplay.SetCursor;
var
   dWertX, dWertY : Double;
begin
   try

    if (FSeriesPos > -1and (Series1.Count > FSeriesPos) then
      begin
        dWertY := Series1.YValue[FSeriesPos];
        dWertX := Series1.XValue[FSeriesPos];
        LblKraftCursor.Caption := Format(C_CURSORKRAFT, [Round(dWertY)]);
        LblPosCursor.Caption := Format(C_CURSORPOS , [dWertX]);
        Series5.Clear;
        Series5.AddXY(dWertX, 0' ', clred);
        Series5.AddXY(dWertX, dWertY, ' ', clred);
        Series6.Clear;
        Series6.AddXY(0, dWertY,'', clred);
        Series6.AddXY(    dWertX, dWertY, '', clred);
      end;
   except
   end;
end;


Delete - Mi 29.02.12 15:59

Hallo,

so in etwa mache ich es jetzt.

Ich (bzw. der Kunde) möchte das es "besser" aussieht. z.b. sollen auf den Schnittpunkten kleine Kästchen oder Kreise (ähnlich wie im VCL Designer) auftauchen, wenn möglich erst wenn die Maus drüber ist. Die Kurve unter dem Mauszeiger soll automatisch nach vorne kommen usw.
Ich habe so eine Komponente schon einmal gesehen, ich kann mich nur nicht erinnern wo :-(