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

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

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

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

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

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

У меня такая проблема по оси Х идет промежуток времени он у меня выстовляется с edit-ов, но выставляется некорректно т.е. Пр.на часах время от 12.00-12.40 то промежуток выстовляется нормально т.е. ставлю 50 мин,он и показывает промежуток 50 мин., а если 12.40-12.59 то несет охинею т.е ставлю напр. 50 мин. в 12.45 а он показывает промежуток от 12.45 до 12.50 т.е всего 5 мин или вообще может выкинуть ошибку(( в чем проблема подскажите...

Код:
procedure TForm3.FormCreate(Sender: TObject);
var d,t:TTime;
    Hour, Min, Sec, MSec: Word;

begin
with chart1 do
  begin
   LeftAxis.Automatic:=false;
   BottomAxis.Automatic:=False;
   LeftAxis.Increment:=StrToFloat(Ed_razmY.Text);
   LeftAxis.maximum:=StrToInt(me_MaxFz.Text);
   LeftAxis.minimum:=StrToInt(me_MinFz.Text);
   LeftAxis.MinorTickCount:=SE2.Value;
   BottomAxis.MinorTickCount:=SE1.Value;


LongTimeFormat:='HH:MM:SS';
d:=Time;
DecodeTime( D, Hour, Min, Sec, MSec);
T:=EncodeTime(Hour, Min, Sec, MSec);
Chart1.BottomAxis.SetMinMax(d,t);

end;
end;

Procedure TtrendThread.Execute;
var
d,t:TTime;
Hour, Min, Sec, MSec: Word;
begin
d:=time;
if d>Form3.Chart1.BottomAxis.Maximum then
  begin
    d:=Form3.Chart1.BottomAxis.Maximum;
    DecodeTime(d,Hour, Min, Sec, MSec);
    Min:=Min+StrToInt(form3.Ed_promVrem.Text); //надо сделать проверку на минуты
    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;

Последний раз редактировалось KuevProger; 22.05.2009 в 13:44.
KuevProger вне форума Ответить с цитированием
Старый 22.05.2009, 14:32   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот тут случай из универа вспомниля: Превратить строку во время, а время взять как Double
Код:
:=Double(StrToTime(me_MaxFz.Text));
Но не гарантирую...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.05.2009, 08:15   #3
KuevProger
Пользователь
 
Регистрация: 16.03.2009
Сообщений: 38
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Вот тут случай из универа вспомниля: Превратить строку во время, а время взять как Double
Код:
:=Double(StrToTime(me_MaxFz.Text));
Но не гарантирую...
у меня не сдесь касяк
Код:
:=Double(StrToTime(me_MaxFz.Text));
здесь у мну выставляется шкала Y она работает норм, а косяк гдето тут
Код:
LongTimeFormat:='HH:MM:SS';
d:=Time;
DecodeTime( D, Hour, Min, Sec, MSec);
T:=EncodeTime(Hour, Min, Sec, MSec);
Chart1.BottomAxis.SetMinMax(d,t);
end;
end;

Procedure TtrendThread.Execute;
var
d,t:TTime;
Hour, Min, Sec, MSec: Word;
begin
d:=time;
if d>Form3.Chart1.BottomAxis.Maximum then
  begin
    d:=Form3.Chart1.BottomAxis.Maximum;
    DecodeTime(d,Hour, Min, Sec, MSec);
    Min:=Min+StrToInt(form3.Ed_promVrem.Text); //надо сделать проверку на минуты
    T:=EncodeTime(Hour, Min, Sec, MSec);
    Form3.Chart1.BottomAxis.SetMinMax(d,t);
KuevProger вне форума Ответить с цитированием
Старый 25.05.2009, 08:17   #4
KuevProger
Пользователь
 
Регистрация: 16.03.2009
Сообщений: 38
По умолчанию

Т.е проблема я думаю в том что прога непонимает что начинается новый час и вместо того чтоб перекидывать на новый час ставит некорректно промежуток или вообще выкидывает ошибку

шожебудет....

Последний раз редактировалось Stilet; 03.06.2009 в 15:35.
KuevProger вне форума Ответить с цитированием
Старый 05.06.2009, 14:25   #5
KuevProger
Пользователь
 
Регистрация: 16.03.2009
Сообщений: 38
По умолчанию

ну хелпаните ктонить плз! или мож какнить по другому можно сделать?
KuevProger вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение действия через промежуток времени chingiz Общие вопросы Delphi 37 03.10.2012 11:33
Проблема с свойствами BottomAxis KuevProger Общие вопросы Delphi 4 23.01.2012 23:50
указатель мыши автоматически должен совершать клик по заданному месту на экране, через промежуток времени Deefrost Qt и кроссплатформенное программирование С/С++ 5 16.05.2008 20:25