Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 11 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
[Delphi] Interaktivny graf

Registrovaný: 20.11.09
Prihlásený: 02.11.14
Príspevky: 241
Témy: 58
Bydlisko: Myjava
Príspevok NapísalOffline : 06.11.2011 15:14

Robim jeden SW v Borland Delphi a potreboval by som vyriesit jeden problem.
Jedna sa mi o to, ze v objekte StringGrid1 mam ulozene ciselne hodnoty ktore vypisujem do grafu Chart1. Aby bola lepsia orientacia v tabulke, tak by som chcel urobit prepojenie medzi tymito dvoma komponentmi. A to takym sposobom, ze pri kliknuti na danu hodnotu v grafe by sa mi oznacila tato hodnota v tabulke (StringGrid1.Col).
Tento problem riesim tak, ze graf mi vyvola udalost Chart1MouseDown a znej vycitam suradnice kde sa nachadza mys a prepocitam z dlzky grafu a dany vysledok je suradnica v tabulke a tym sa na nu prepnem. Problem je ale v tom, ze graf ma okraje a dalej by som ho chcel posuvat a opat by sa to cele len skomplikovalo.

Ak mate nejaku jednoduchsiu metodu, prosim dajte mi vediet.

Program:
Kód:
procedure TForm1.Chart1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  x_os: integer;
begin
  x_os := Round ( X/Chart1.Width  * max );
  StringGrid1.Col := x_os;
end;

[Delphi] Interaktivny graf







_________________
"Digitálna technika pozostáva len z 0 a 1, ktoré sú v správny čas na správnom mieste." M. Valášek
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 06.11.2011 17:26

a preco nepouzivas onclickseries ??? valueindex je index hodnoty StringGrid1.col-1


Offline

Užívateľ
Užívateľ
[Delphi] Interaktivny graf

Registrovaný: 20.11.09
Prihlásený: 02.11.14
Príspevky: 241
Témy: 58
Bydlisko: Myjava
Príspevok Napísal autor témyOffline : 06.11.2011 17:38

dakujem za radu, len ma to na moje vyuzitie 2 nevyhody.
1. ja potrebujem, aby tie indexy boli viazane na samotne body zlomu a nie na krivky (pretoze ta hodnota zodpoveda tomu bodu)
2. udalost onclickseries, ako uz aj z nazvu napoveda, je vyvolana pri kliknuti priamo na krivku grafu, lenze ked ja mam hrubku grafu 1-2 pixel, tak je to problem trafit sa don

Tak neviem, ak mas pre mna nejake riesenie, prosim napis mi :)

EDIT:
Teraz som si vsimol, v 1. prispevku na obrazku som omylom prehodil Data a Poradie.







_________________
"Digitálna technika pozostáva len z 0 a 1, ktoré sú v správny čas na správnom mieste." M. Valášek
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 07.11.2011 8:14

no bud si nadefinujes pre body zlomu zobrazenie points takze vacsia plocha bude k dispozici pre event onclickseries. druha moznost je pouzit tebou spominany event no a v ramci neho v loope prejst vsetky indexy a cez CalcXPos() si vypocitat jeho poziciu v grafe a otestovat ju ci sa zhoduje s hodnotou X vratenou eventom. samozrejme tam mozes aplikovat povolenu nepresnost aby ti to zahralo aj +-3 pixle. jasne mozes optimalizovat aj loop aby neprechadzal vsetky indexy ale iba dovtedy kym nenajde prvy vyhovujuci.


Offline

Užívateľ
Užívateľ
[Delphi] Interaktivny graf

Registrovaný: 20.11.09
Prihlásený: 02.11.14
Príspevky: 241
Témy: 58
Bydlisko: Myjava
Príspevok Napísal autor témyOffline : 07.11.2011 20:47

No presne nerozumiem ako myslis nadefinovat pre body zlumu points, mozes mi to rozpisat podrobnejsie?

Druha vec, tie loop metody neviem ci budu az tak rychle, pretoze v grafe (a v tabulke) bude mozno aj 30 az 60 tisic hodnot.







_________________
"Digitálna technika pozostáva len z 0 a 1, ktoré sú v správny čas na správnom mieste." M. Valášek
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 07.11.2011 21:02

vama píše:
No presne nerozumiem ako myslis nadefinovat pre body zlumu points, mozes mi to rozpisat podrobnejsie?

no to su tie stvorceky v bodoch zlomov ako napr na tomto obrazku
http://upload.wikimedia.org/wikipedia/c ... 1-2005.png

vama píše:
Druha vec, tie loop metody neviem ci budu az tak rychle, pretoze v grafe (a v tabulke) bude mozno aj 30 az 60 tisic hodnot.

no loopy si optimalizuj. skus pouzit binarne vyhladavanie. a to bude co za graf ked vnom bude 60tisic hodnot ? ides robit editor audia ?


Offline

Užívateľ
Užívateľ
[Delphi] Interaktivny graf

Registrovaný: 20.11.09
Prihlásený: 02.11.14
Príspevky: 241
Témy: 58
Bydlisko: Myjava
Príspevok Napísal autor témyOffline : 07.11.2011 22:24

aha rozumiem co su tie Points .. Len pri takom mnozstve to tam nema moc velky zmysel davat.
OK, ved snad nejako to uz doriesim ;)

Nie, nebude to editor audia, jedna sa o datalogger. Externe zariadenie ktore snima el. veliciny (napatie, prud a pod.) v definovanych casovych usekoch. Po zazname sa tieto hodnoty prenesu do PC a prave ten graf bude vykreslovat dany priebeh merania. EEPROM pamat v dataloggery je 512 kb, tak to priblizne vychadza na (64 tisic - 8-bit merani a 32 tisic pre 16(10)-bitove merania).







_________________
"Digitálna technika pozostáva len z 0 a 1, ktoré sú v správny čas na správnom mieste." M. Valášek
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 07.11.2011 22:38

no to bude napor na samotny graf. nehovoriac o string gride. na tvojom mieste by som to rozdelil na viac mensich grafov ktore by sa strankovali.


Offline

Užívateľ
Užívateľ
[Delphi] Interaktivny graf

Registrovaný: 20.11.09
Prihlásený: 02.11.14
Príspevky: 241
Témy: 58
Bydlisko: Myjava
Príspevok Napísal autor témyOffline : 07.11.2011 22:43

tiez si myslim, ze to bude uz moc .., ale skusim, ak to bude moc pomale alebo chybove, tak to budem musiet prerobit.

To strankovanie akym stylom robit? To myslis nejako spriemerovavat napr 10 hodnot, alebo nejako uplne inak?







_________________
"Digitálna technika pozostáva len z 0 a 1, ktoré sú v správny čas na správnom mieste." M. Valášek
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2
Príspevok NapísalOffline : 08.11.2011 8:07

spriemerovanim vytvoris zoom, strankovanie som myslel tak ze viditelna cast grafu bude vytvorena iba v case ked bude viditelna a zvysok hodnot grafu udrzovat iba v nejakom poli. a az ked sa presunies na dalsiu stranku , tak vykreslis znovu graf z potrebnej casti pola. to iste by asi bolo lepsie aplikovat aj na ten stringgrid


Offline

Užívateľ
Užívateľ
[Delphi] Interaktivny graf

Registrovaný: 20.11.09
Prihlásený: 02.11.14
Príspevky: 241
Témy: 58
Bydlisko: Myjava
Príspevok Napísal autor témyOffline : 08.11.2011 16:19

dobre, tak nejako to uz urobim ..

Este by ma zaujimalo, ci by sa aspon odhadom dalo urcit maximalny pocet dat (bodov) pre graf a stringgrid aby pracovali korektne?







_________________
"Digitálna technika pozostáva len z 0 a 1, ktoré sú v správny čas na správnom mieste." M. Valášek
Odpovedať na tému [ Príspevkov: 11 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Ako uložiť graf v delphi.

v Delphi, Visual Basic

6

1067

17.08.2009 13:08

SVD Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Interaktívny model areálu - flash?

v Ponuka práce

0

747

03.02.2011 11:22

beretta Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. delphi zapis cisla do editu v delphi

v Delphi, Visual Basic

3

1107

11.05.2008 12:02

p360t Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vymena graf karty za novu graf kartu

v nVidia grafické karty

5

491

28.09.2015 21:59

liqua1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Najnovsie Delphi

v Delphi, Visual Basic

7

672

30.06.2010 12:08

Manny Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delphi 7

v Ostatné programy

3

286

08.10.2013 19:11

michalesku Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delphi - príklad

v Delphi, Visual Basic

2

714

07.11.2010 23:16

majso Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delphi TreeView

v Delphi, Visual Basic

3

654

07.05.2011 21:35

coldak Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delphi pomoc

v Delphi, Visual Basic

4

624

12.01.2017 15:55

void Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delphi class

v Delphi, Visual Basic

1

791

10.09.2009 16:35

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Free Delphi

v Delphi, Visual Basic

2

875

18.06.2010 14:36

Manny Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delphi-kalkulačka

v Delphi, Visual Basic

17

1157

02.03.2013 10:18

expoox Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [Delphi] komponent

v Delphi, Visual Basic

21

1886

16.03.2010 17:05

zy-zy-zyrixi Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delphi print

v Delphi, Visual Basic

3

927

28.07.2009 18:26

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Delphi priehladnost?

v Delphi, Visual Basic

9

992

03.01.2009 17:58

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [Delphi] Okno

v Delphi, Visual Basic

6

687

15.01.2010 21:42

vama Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra