| | |
| Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Autor | Správa |
---|
Registrovaný: 20.11.09 Prihlásený: 02.11.14 Príspevky: 241 Témy: 58 Bydlisko: Myjava | Napísal vama: 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;
_________________ "Digitálna technika pozostáva len z 0 a 1, ktoré sú v správny čas na správnom mieste." M. Valášek |
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 06.11.2011 17:26 | |
|
a preco nepouzivas onclickseries ??? valueindex je index hodnoty StringGrid1.col-1
|
|
Registrovaný: 20.11.09 Prihlásený: 02.11.14 Príspevky: 241 Témy: 58 Bydlisko: Myjava | Napísal autor témy vama: 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 |
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 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.
|
|
Registrovaný: 20.11.09 Prihlásený: 02.11.14 Príspevky: 241 Témy: 58 Bydlisko: Myjava | Napísal autor témy vama: 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 |
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 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.pngvama 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 ?
|
|
Registrovaný: 20.11.09 Prihlásený: 02.11.14 Príspevky: 241 Témy: 58 Bydlisko: Myjava | Napísal autor témy vama: 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 |
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 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.
|
|
Registrovaný: 20.11.09 Prihlásený: 02.11.14 Príspevky: 241 Témy: 58 Bydlisko: Myjava | Napísal autor témy vama: 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 |
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 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
|
|
Registrovaný: 20.11.09 Prihlásený: 02.11.14 Príspevky: 241 Témy: 58 Bydlisko: Myjava | Napísal autor témy vama: 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 |
|
| Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Ako uložiť graf v delphi. v Delphi, Visual Basic | 6 | 1067 | 17.08.2009 13:08 SVD | | Interaktívny model areálu - flash? v Ponuka práce | 0 | 747 | 03.02.2011 11:22 beretta | | delphi zapis cisla do editu v delphi v Delphi, Visual Basic | 3 | 1107 | 11.05.2008 12:02 p360t | | Vymena graf karty za novu graf kartu v nVidia grafické karty | 5 | 491 | 28.09.2015 21:59 liqua1 | | Najnovsie Delphi v Delphi, Visual Basic | 7 | 672 | 30.06.2010 12:08 Manny | | Delphi 7 v Ostatné programy | 3 | 286 | 08.10.2013 19:11 michalesku | | Delphi - príklad v Delphi, Visual Basic | 2 | 714 | 07.11.2010 23:16 majso | | Delphi TreeView v Delphi, Visual Basic | 3 | 654 | 07.05.2011 21:35 coldak | | Delphi pomoc v Delphi, Visual Basic | 4 | 624 | 12.01.2017 15:55 void | | Delphi class v Delphi, Visual Basic | 1 | 791 | 10.09.2009 16:35 Fico | | Free Delphi v Delphi, Visual Basic | 2 | 875 | 18.06.2010 14:36 Manny | | Delphi-kalkulačka v Delphi, Visual Basic | 17 | 1157 | 02.03.2013 10:18 expoox | | [Delphi] komponent v Delphi, Visual Basic | 21 | 1886 | 16.03.2010 17:05 zy-zy-zyrixi | | Delphi print v Delphi, Visual Basic | 3 | 927 | 28.07.2009 18:26 Fico | | Delphi priehladnost? v Delphi, Visual Basic | 9 | 992 | 03.01.2009 17:58 shiro | | [Delphi] Okno v Delphi, Visual Basic | 6 | 687 | 15.01.2010 21:42 vama |
| 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
|
|