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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2019, 08:51   #1
PTyTb32
Форумчанин
 
Регистрация: 06.10.2013
Сообщений: 216
По умолчанию DbChart

Привет, я понимаю что компонент огромен и в инструкции сказано "довести напильником до нужного состояния" тем не менее возникли некоторые трудности... Есть таблица со столбцами sn(int, серийник), tim(int,время дата и время в unixtime), rh(float, расход), v(float, объем), n(int, наработка в часах) ну и id(int, A_I).
Заполняю chart из этой таблицы, где ось x это tim, а у- rh.
Пока линия одна (по критерию sn) все хорошо, но когда их 2 начинаются траблы, они отображаются, ось у рисуется правильно и цифры не наезжают друг на друга, а вот с датой проблемы, из за того что у одной линии стоит дата 18.01.2019 15:23:24, а у другой 18.01.2019 15:23:28, две эти даты рисуются поверх друг друга и то шрифт толще становится, то вообще не читаемый. Подскажите, как решить эту проблему? Я пробовал в запросе сделать примерно так: FORMAT_DATE(FROM_UNIXTIME(tim), "%d.%m.%y %h:%i"), что бы получить дату без секунд, но этот столбец нельзя взять как источник значений
PTyTb32 вне форума Ответить с цитированием
Старый 22.01.2019, 09:17   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А обратно в дату-время или вычисляемое на клиенте?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.01.2019, 09:26   #3
PTyTb32
Форумчанин
 
Регистрация: 06.10.2013
Сообщений: 216
По умолчанию

Обратно я перевожу в SQL запросе

Код:
select 
*, 
DATE_FORMAT(FROM_UNIXTIME(tim-10800),"%d.%m.%Y %H:%i"), // 18.01.2019 14:13 (но это я не могу добавить как источник данных, только в качестве labels)
FROM_UNIXTIME(tim-10800)  // 18.01.2019 14:13:23
from `isvse`
where sn = 7359
таких запросов я делаю 3 и он рисует 3 графика, но дата наезжает друг на друга

Последний раз редактировалось PTyTb32; 22.01.2019 в 09:29.
PTyTb32 вне форума Ответить с цитированием
Старый 22.01.2019, 09:44   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Нет у тебя ни какого обратного. Нужно из строки без секунд обратно преобразовать в нужный тип времени
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.01.2019, 10:05   #5
PTyTb32
Форумчанин
 
Регистрация: 06.10.2013
Сообщений: 216
По умолчанию

Код:
CONVERT(datetime, DATE_FORMAT(FROM_UNIXTIME(tim-10800),"%d.%m.%Y %H:%i:00"), 104)
так sql ругается, не нравится ему 'CONVERT(datetime, '
PTyTb32 вне форума Ответить с цитированием
Старый 22.01.2019, 10:17   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

DATE_FORMAT и FROM_UNIXTIME это же мускул походу. Откуда в нем такой формат функции Convert?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.01.2019, 10:52   #7
PTyTb32
Форумчанин
 
Регистрация: 06.10.2013
Сообщений: 216
По умолчанию

да, это мускул, Convert нашел на каком то форуме пока искал как преобразовать string в дату
PTyTb32 вне форума Ответить с цитированием
Старый 22.01.2019, 11:16   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

В строку и обратно не эффективно, попробуй так
Код:
UNIX_TIMESTAMP(FROM_UNIXTIME(tim-10800) - INTERVAL EXTRACT(SECOND FROM FROM_UNIXTIME(tim-10800)) SECOND)+10800
ЗЫ CONVERT в мускуле имеет другой формат, то что у тебя это от сиквела )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 22.01.2019 в 11:20.
Аватар вне форума Ответить с цитированием
Старый 22.01.2019, 11:31   #9
PTyTb32
Форумчанин
 
Регистрация: 06.10.2013
Сообщений: 216
По умолчанию

план провалился, он все равно смещает дату

я понял почему и в этот раз не вышло, там 3 расходомера и раз в 5 минут программа их опрашивает, и не всегда все 3 отвечают бывает 2 или один ответит, отсюда и рассинхрон по минутам
Изображения
Тип файла: jpg 121221.jpg (107.3 Кб, 137 просмотров)

Последний раз редактировалось PTyTb32; 22.01.2019 в 12:27.
PTyTb32 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DBChart Bek-Z БД в Delphi 8 11.05.2011 19:00
DBChart D@rk M@k Общие вопросы Delphi 3 11.05.2011 17:42
DBChart HOVER БД в Delphi 1 03.06.2008 00:17
DBChart Маленькая БД в Delphi 2 09.02.2007 14:53