Autor Téma: Test na datovou řadu v Tchart  (Přečteno 547 krát)

Offline Faltynek

  • Plnoletý
  • ***
  • Příspěvků: 177
  • Karma: 2
    • Verze Delphi: D5 Enterprise, D2009
Test na datovou řadu v Tchart
« kdy: 16-12-2018, 16:14:17 »
Excellent
Rated 1 time
Dobrý den,
dá se otestovat, jestli je zavedená i-tá série v grafu TChart?
Napadlo mě jenom zjistit počet řad, snad přes series.count.

Dalibor.
Dalibor (D2009 Enterprise, dřív D5Enterprise)

Offline Faltynek

  • Plnoletý
  • ***
  • Příspěvků: 177
  • Karma: 2
    • Verze Delphi: D5 Enterprise, D2009
Re:Test na datovou řadu v Tchart
« Odpověď #1 kdy: 16-12-2018, 20:09:45 »
Dík, myslel jsem si to.

Ještě mám jednu otázku k převodu řetězce '14.04.1960 8:00:00' zpátky na Tdatetime.
Samotný 8:00:00 to přes fci strtotime udělám raz dva, ale jak tam dám řetězec včetně data tak to nejde. Asi by to chtělo nějakou StrToDateTime, ale to jsem v helpu nenašel.

Dalibor.
Dalibor (D2009 Enterprise, dřív D5Enterprise)

Offline Faltynek

  • Plnoletý
  • ***
  • Příspěvků: 177
  • Karma: 2
    • Verze Delphi: D5 Enterprise, D2009
Re:Test na datovou řadu v Tchart
« Odpověď #2 kdy: 16-12-2018, 20:12:56 »
Ještě doplním kousek kodu, aby byla vidět souvislost s grafem.
Kód: Delphi [Vybrat]
  1.   sbar1.panels[0].text:='Vzorek č.: ' + inttostr(poradi);
  2.   sbar1.panels[1].text:='Čas:  ' + series1.XLabel[poradi];
  3.   c1:=abs(strtotime(series1.XLabel[poradi])-strtotime(Z_int));
  4.   DecodeTime(c1, Hour, Min, Sec, MSec);
  5.   dt1:=(hour*3600+Min*60+sec) div 60 + 1;
  6.   sbar1.panels[3].text:='Minuta:  ' + inttostr(dt1) + ', sekunda: ' + inttostr(sec) ;
  7.  
Dalibor (D2009 Enterprise, dřív D5Enterprise)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4393
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Test na datovou řadu v Tchart
« Odpověď #3 kdy: 16-12-2018, 20:18:39 »
System.SysUtils.StrToDateTime
V najhoršom môžeš rozsekať text na jednotlivé čísla a použiť EncodeDateTime.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Faltynek

  • Plnoletý
  • ***
  • Příspěvků: 177
  • Karma: 2
    • Verze Delphi: D5 Enterprise, D2009
Re:Test na datovou řadu v Tchart
« Odpověď #4 kdy: 16-12-2018, 21:39:27 »
Díky Stano, nevím proč jsem tuto funkci nenašel v helpu.
Asi jsem hledal blbě.

Dalibor.
Dalibor (D2009 Enterprise, dřív D5Enterprise)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4393
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Test na datovou řadu v Tchart
« Odpověď #5 kdy: 16-12-2018, 21:46:34 »
Ten help niekedy blbne. Treba ho spustiť a písať čo chcem do vyhľadávacieho poľa vľavo. Občas nepomôže ani to. V tom prípade treba využiť záložku Search. Ak to tam nenájde, tak už je zle.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Faltynek

  • Plnoletý
  • ***
  • Příspěvků: 177
  • Karma: 2
    • Verze Delphi: D5 Enterprise, D2009
Re:Test na datovou řadu v Tchart
« Odpověď #6 kdy: 16-12-2018, 21:49:00 »
Jinak pomoci Series.Count se zjištuje počet bodů v sérii a SeriesCount vlastnost neexistuje.
Dalibor (D2009 Enterprise, dřív D5Enterprise)

Offline Faltynek

  • Plnoletý
  • ***
  • Příspěvků: 177
  • Karma: 2
    • Verze Delphi: D5 Enterprise, D2009
Re:Test na datovou řadu v Tchart
« Odpověď #7 kdy: 17-12-2018, 15:03:58 »
Citace
Pak tedy SeriesCount. Existuje, bohuzel nedokazu rict kdy vznikla :-[
Máš pravdu, omlouvám se za paniku, v D2009 už je, jenom jsem se k ní nedopídil.

Měl jsem program v D5, s grafem, kde jsem pomocí
Kód: Delphi [Vybrat]
  1. procedure TForm1.chkRight1Click(Sender: TObject);
  2. begin
  3. if chkRight1.checked then
  4. begin
  5.    chart1.Series[0].VertAxis:=aRightAxis;   //prehodit na pravou osu Y
  6.    lbLR1.Caption:='>';
  7. end else
  8. begin
  9.    chart1.Series[0].VertAxis:=aLeftAxis    //prehodit na pravou osu Y
  10.    lbLR1.Caption:='<';
  11. end;
  12. end;
  13.  
a potom
Kód: Delphi [Vybrat]
  1.         if i=1 then
  2.         begin
  3.            clear;
  4.            AddXY( 0 ,hodn  , casstr, );
  5.         end else
  6.         begin
  7.            AddXY( XValues.Last+1 ,hodn , casstr, );
  8.         end;
  9.  
v nějakým cyklu načítal hodnoty do 1. datové řady.
Teď to nefunguje, na pravé ose je furt nula a nevím proč. Poradí někdo? Asi jsem na něco zapomněl. Nebo je něco v Teechartu jinak?

Díky Dalibor.
Dalibor (D2009 Enterprise, dřív D5Enterprise)