Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2009, 08:10   #1
KuevProger
Пользователь
 
Регистрация: 16.03.2009
Сообщений: 38
По умолчанию Проблема с свойствами BottomAxis

Приветствую многоувашаемые прогеры!)
У меня такая проблема при выставлении свойства BottomAxis.Increment шкала оси пропадает(промежуток времени) т.е. вообще никаких данных не остается ХЕЛПАНИТЕ кто чем может
Листинг:
Код:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart, StdCtrls, Grids,inifiles,
  Menus, Mask, Spin, OleCtrls, Chartfx3;

  type

  TtrendThread = class(TThread)
     private
     protected
     procedure Execute; override;
     end;

  type
  TForm3 = class(TForm)
    Chart1: TChart;
    Timer1: TTimer;
    Panel1: TPanel;
    Series1: TFastLineSeries;
    SG_graph: TStringGrid;
    Label1: TLabel;
    Label4: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    me_MinFz: TEdit;
    me_MaxFz: TEdit;
    bt_Da: TButton;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    Ed_promVrem: TEdit;
    Label5: TLabel;
    Label2: TLabel;
    Ed_razmY: TEdit;
    Label3: TLabel;
    Ed_razmX: TEdit;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
TrendThread:TtrendThread;
 Form3: TForm3;
procedure StartTrend;
implementation
    uses U_Main;

  {$R *.dfm}

procedure StartTrend;
begin
TrendThread:=TtrendThread.Create(True);
 with TrendThread do begin
  Priority:=tpNormal;
  FreeOnTerminate:=True;
  Resume;
 end;
end;

Procedure TtrendThread.Execute;
var
d,t:TDateTime;
prom:byte;
Hour, Min, Sec, MSec: Word;
begin
d:=time;
if d>Form3.Chart1.BottomAxis.Maximum then
  begin
  prom:=StrToInt(Form3.Ed_promVrem.Text);
    d:=Form3.Chart1.BottomAxis.Maximum;
    DecodeTime(d,Hour, Min, Sec, MSec);
    Min:=Min+prom; //надо сделать проверку на минуты
    T:= EncodeTime(Hour, Min, Sec, MSec);
    Form3.Chart1.BottomAxis.SetMinMax(d,t);
  end;
Form3.Chart1.series[0].AddXY(d,value[9]);
Form3.SG_graph.Cells[1,0]:=FloatToStr(value[9]);
end;


procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;

procedure TForm3.Timer1Timer(Sender: TObject);
begin
StartTrend;
sleep(100);
end;

procedure TForm3.FormCreate(Sender: TObject);
var d,t:TDateTime;
fmin,fmax:single;
prom:byte;
Hx,Hy:real;
    Hour, Min, Sec, MSec: Word;
begin
with chart1 do
  begin
  Hx:=StrToTime(Ed_razmX.Text);
  Hy:=StrToFloat(Ed_razmY.Text);
  fmin:=StrToFloat(me_MinFz.Text);
  fmax:=StrToFloat(me_MaxFz.Text);
  prom:=StrToInt(Ed_promVrem.Text);

   LeftAxis.Automatic:=false;
   BottomAxis.Automatic:=False;
   BottomAxis.Increment:=Hx; <===========================тут
   LeftAxis.Increment:=Hy;
   LeftAxis.maximum:=fmax;
   LeftAxis.minimum:=fmin;


LongTimeFormat:='HH:MM:SS.ZZ';
d:=Time;
DecodeTime( D, Hour, Min, Sec, MSec);
Min:=prom;
T:= EncodeTime(Hour, Min, Sec, MSec);
Chart1.BottomAxis.SetMinMax(d,t);
end;
end;
procedure TForm3.CheckBox1Click(Sender: TObject);
begin
with Chart1 do begin BottomAxis.Grid.Visible:=False;
BottomAxis.Grid.Visible:=CheckBox1.Checked;
end;
end;
procedure TForm3.CheckBox2Click(Sender: TObject);
begin
with Chart1 do begin LeftAxis.Grid.Visible:=False;
LeftAxis.Grid.Visible:=CheckBox2.Checked;
end;
end;
end.
KuevProger вне форума Ответить с цитированием
Старый 13.05.2009, 08:13   #2
KuevProger
Пользователь
 
Регистрация: 16.03.2009
Сообщений: 38
По умолчанию

Пиплы хелпаните!!!
BottomAxis.Increment:=Hx; <===========================тут
KuevProger вне форума Ответить с цитированием
Старый 14.05.2009, 08:02   #3
KuevProger
Пользователь
 
Регистрация: 16.03.2009
Сообщений: 38
По умолчанию

или так кому удобней)
//BottomAxis.Increment:=StrToTime(Ed_ razmX.Text);
KuevProger вне форума Ответить с цитированием
Старый 19.05.2009, 08:28   #4
KuevProger
Пользователь
 
Регистрация: 16.03.2009
Сообщений: 38
По умолчанию

mdyaa helherov more...
KuevProger вне форума Ответить с цитированием
Старый 23.01.2012, 23:50   #5
grebljmax
Пользователь
 
Регистрация: 21.11.2010
Сообщений: 20
По умолчанию

BottomAxis.Increment по умолчанию равен 0. Я пробывал поставить BottomAxis.Increment := 0.00001; - значений и линий сетки больше (за счет уменьшения интервала выводимых значений).

Если BottomAxis.Increment больше 1, то количество линий сетки уменьшается за счет увеличения интервала выводимых значений.

________________

У меня похожая проблема, мне нужно чтобы этот Increment у двух осей BottomAxis и TopAxis был одинаковым. Тоже борюсь с этим и пока безрезультатно.
grebljmax вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37