Ваши комментарии
Ну наконец-то прикрутил Ваш пример к своей базе. Немного не то, но, главное, данные появились. Спасибо! Буду теперь пробовать изменить до нужного вида.
Ну я же сразу прислал рисунок *bmp. и спросил, можно ли такое сделать в отчете (как добавление к таблице периодического отчета, просто нагляднее). Именно в отчете (SimpLight -> Система отчетов -> Генератор отчетов), а не в виде графика на мнемосхемах. Там (в генераторе отчетов) много вариантов диаграмм/гистограмм и т.д. Но вывести данные не получается. Реальных примеров нет (во всяком случае я их не нашел), а "методом тыка" что-то не выходит. Периодический отчет в табличном виде строится "на ура", Но без гистограммы, как хотелось бы.
P.S. На оси Х - дни, а на Y - данные в м3. Мне нужен месячный отчет по каждому дню.
За код заполнения выпадающего списка спасибо. А с гистограммой, встроенной в отчет (а не на мнемосхеме), я так понимаю, не судьба мне познакомиться. Видимо что-то недоделано в генераторе отчетов, раз даже простейший пример привести не можете. Жаль. Буду обходиться таблицей.
Ваша ссылка ведет на тему про тренд мнемосхемы, а я спрашивал про столбчатую гистограмму в Fast Report. Нижние же картинки не открываются ни в одном браузере. Вроде бы не такая сложная задача вывести месячную гистограмму с данными по одному каналу, но "не выходит что-то каменный цветок". Пример бы неплохо посмотреть.
И заодно подскажите, можно ли динамически заполнять выпадающий список на мнемосхеме? С месяцами все понятно - их можно заполнить заранее, а вот с годами сложнее - нужен текущий и хотя бы пара предыдущих. А то календарь у вас немного неудобен, да и дизайн у него не самый удачный..
Добрый день. Речь шла не связях каналов со свойствами компонентов, а о работе с ними (свойствами, да и событиями, к тому же) в скрипте. Как в Вашем примере программно отключить видимость или задать текст?
Rectangle.Visibility := false; Rectangle[0].Text := 'Теперь меня не видно'; Много вариантов перебирать можно.
Да не выходит что-то каменный цветок...
В тот же строковый задатчик запретить ошибочный ввод (к примеру) цифр каким образом можно?
Куда записать "if Key in ['0'..'9'] then key := #0"?
Мелочи, конечно, но с учетом таких мелочей наименование Вашей программы можно расширить до SimpLight&Future...
P.S. Надеюсь, это не слишком пафосно?
P.P.S. Описание моего скомного видения компонента "Строковый задатчик" поместил в "Идеи". Тешу себя надеждой, что, мои доводы покажутся кому-нибудь убедительными.
Прошло 2 года, а работы все ведутся...А ведь насколько можно было бы расширить функционал компонентов, всего лишь предоставив разработчику обращаться к ним напрямую.
P.S. Тот же строковый задатчик уже шедеврален тем, что ждет ввода данных только 5 секунд, после чего возвращается к прежнему значению канала, к которому привязан, без возможности увеличить (или отменить вообще, как ненужный для задатчика - есть же текстовый индикатор) этот таймер хотя бы до минуты.
P.P.S. Могу себе представить работу с подобным калькулятором: задумался о вводе очередного символа более чем на 5 сек. - получи старый результат с сообщением "Долго думаешь"...
Да, теперь вижу (но только на Вашем скрине). В нашей версии такой функции нет. Сами подумайте, не можем же мы постоянно обновлять СимпЛайт для доступа к новым возможностям (в программе скриптами реализован подсчет накопленного объема - соответственно данные после отключения программы просто не будут соответствовать действительности). Рады бы воспользоваться новыми возможностями, но обновление до новейших версий нам разрешат только на время капитального ремонта. Надеюсь, к тому времени с календарем Вы что-нибудь решите.
Очень жаль. Теперь на сервере данные за любые сутки (нужна только дата, временной промежуток определен как 00,00,00 - 23,59,59) извлекают из базы с помощью такого "вечного" календаря:
А на клиентских машинах с помощью стандартного "Ввода времени и даты" и с постоянным вопросом "А какое время выбрать?". Может реализуете создание нового компонента "Календарь" без ввода времени и с более приемлемым дизайном?
P.S. Могу я скинуть сюда скрипт календаря? Возможно кому-нибудь пригодится и для работы на сервере. Код мой личный (естественно, скорректированный различными вариантами из сети). так что каждый сможет модернизировать календарь под свои запросы не обращая внимание на "авторские права".
В Delphi (паскаль) поддерживается синтаксис: #10 - конец строки и #13 - код возврата каретки (переноса строки). В Симплайте такое возможно для вывода сообщения, к примеру, в две строки?
Код WriteValue('Таймер', 'Работа'+#10+#13+d+' дн. '+h+' ч.'+m+' м.'+s+' с.') ошибок при компиляции не выдал, но текст отразил в одну строку.
Сервис поддержки клиентов работает на платформе UserEcho
Добрый день. Отчет с гистограммой по Вашему примеру сделал. По таблице все отлично, осталась пара неясных моментов по гистограмме.
К примеру, месячный отчет за февраль этого года:
Мой источник истории каналов:
Начало диапазона: Канал(тип DateTime) приходит в виде 01.02.2020 00:00:00
Конец диапазона: Канал(тип DateTime) приходит в виде 01.03.2020 00:00:00
Интервал: Значение 86400 сек.
Ось Y : мои данные (максимум за сутки).
Ось Х (optional): Поддиапазон.Начало. Ось Х как Дата
Гистограмма замечательно строится, еще бы отшлифовать два момента:
1. На оси Х вместо полной даты оставить только дни (вместо 15.02.2020 сделать 15), а то тридцать дат подряд выглядят странно. да и не нужны там месяц и год;
2. В заголовке в Memo вывести название месяца (MonthOf(ИсточникИсторииКаналов1."Поддиапазон.Начало") дает цифру "2", но как ее преобразовать в "февраль"?
Уже все варианты перепробовал.
P.S. второй вопрос решил. Сам перемудрил с преобразованиями Если кому надо: в Мемо в "Формат" выбрать "Дата/время" и в строке форматирования задать: mmmm