Delphi Shapemousedown i oś wykresu

0

Witam

mam dwa pytania

  1. Tworze wykres w osi X daje czas jak zrobić, żeby etykiety były dokłądnie pod danymi które zapisuje a nie nadawane a automatu. Czasami wyglada tak że dane zapisane np z data 12.12.2012 maja dobra wartośc ale pod spodem jest data z listopada

  2. Czy jest możłiwość oprogramowania zdarzenia ShapeXmouseDown - na image jest nałożone około 150 Shape'ow chodzi o to czy jest możliwość wpisania zdarzenia ShapeXmousedown w kórym zapisane jest np showmessage(numer_shape'a). Mozna robic dla każdegó pojedynczo ale czy jest możliwość jedną procedurą zrobienia tego ?

0
  1. Nie rozumiem :/
  2. Wszystkim Shape ustawiasz we właściwości Tag kolejny numer (każdemu inny) i przypisujesz tą samą procedur obsługi zdarzenia OnMouseDown w której wklepujesz kod:
ShowMessage(IntToStr(TShape(Sender).Tag));
0
  1. dodajesz dane z obojętnie jakimi wartościami np co kwartał przez dwa lata, natomiast na osi pojawiaja sie inne daty które dopasowuje sobie do szerokości wykresu zamiast 2011-3, 2011-6, 2011-9, 2011-12, 2012-03, 2012-06, 2012-09, 2012-12 na wykresie moga pojawić się miesiące pośrednie np 2012-11 i to powoduje błędy dla osoby czytającej.
    Chodzi mi o to żeby etykieta osi X w czasie była ściśle powiązana z danymi któe wczytuje.

  2. dzięki za pomysł, wykorzystałem - copy(tshape(sender).name,6,9) - w ten sposób wystarczy mi kolejna numeracja shape nie musze ustawiać TAG

0

hmm
co do 1, to przede wszystkim napisz jak ten wykres rysujesz, bo ja np rysowałem wykres na canvasie i wszystko sam sobie ustawiam.
2. Troche nieporozumieniem jest 150 TShapeów. Nie lepiej albo zapakować to do tablicy albo rysować właśnie na canvasie? 100 razy szybciej:)

0
form4.QRdbchart1.BottomAxis.DateTimeFormat :=  'mm-yyyy';
form4.QRDBChart1.Series[0].XValues.datetime := true;

if smdbgrid2.Fields[0].asstring= 'CW' then
  form4.qrdbChart1.Series[0].AddXY(smdbgrid2.Fields[1].asdatetime, smdbgrid2.Fields[2].asfloat);
if smdbgrid2.Fields[0].asstring= 'ZW' then
  form4.qrdbChart1.Series[1].AddXY(smdbgrid2.Fields[1].asdatetime, smdbgrid2.Fields[2].asfloat);
  1. Tshape odkladane sa raz na image'a - kontorlki na pewnych punktach
    Raz je poustawiam i mam z głowy - tylko zmieniam im kolor w zależności od stanu zczytanego z snmp

1 użytkowników online, w tym zalogowanych: 0, gości: 1