Страница 22 из 25

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Добавлено: 11 Март 2024, 12:08
finsoftrz
Смешно. Это ты не график строишь, а 2 области цветом выделяешь...

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Добавлено: 11 Март 2024, 12:32
Губин Игорь
finsoftrz писал(а): 11 Март 2024, 12:08 Смешно. Это ты не график строишь, а 2 области цветом выделяешь...
А мы не программы пишем, а, лишь, строчки кода набираем? :facepalm:

Требовался набор столбчатых парных диаграмм - выведен набор столбчатых парных диаграмм. Ты думаешь, что в больших пакетах будет нечто иное?! :nono:

По секрету: именно итоговую генерацию одного из пакетов я и раздраконил, подправил под себя и минимизировал, убрав лишние украшательства, параметры дополнительных настроек на цвета, количество столбцов, отступы, тексты... Сведя всё к простенькому коду.

Если аккуратно покопаешься, то и для линейных и прочих графиков найдёшь...

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Добавлено: 11 Март 2024, 12:40
finsoftrz
Вот для образца код построения кругового графика, результат был на последнем скриншоте.

Код: Выделить всё

FsGraphDoAs_r  routine   !построение графика (anyscreen)
   data
lor:name  string(40)
   code
   
    fsFileMakerL.init()
   
    fsFileMakerL.AddOutLine('<DOCTYPE html>')
    fsFileMakerL.AddOutLine('  <html>')
    fsFileMakerL.AddOutLine('     <head>')
    fsFileMakerL.AddOutLine('        <script src="https://www.google.com/jsapi"></script>')
    fsFileMakerL.AddOutLine('        <script>')
    fsFileMakerL.AddOutLine('           google.load("visualization", "1", {packages:["corechart"]});')
    fsFileMakerL.AddOutLine('           google.setOnLoadCallback(drawChart);')
    fsFileMakerL.AddOutLine('           function drawChart() {{')
    fsFileMakerL.AddOutLine('             var data = google.visualization.arrayToDataTable([')

    fsFileMakerL.AddOutLine('               [''Товары'', ''Сумма''],')

    loop i#=1 to records(loc:queue)
        get(loc:queue,i#)
        if error()
           break
        .
        if i#>15
           break
        .
        if loc:reg1=0
             FsPrimary:TovarGr(Loc:IDObj)
             lor:name=choose(TovGr:Mnem='',tovGr:name,TovGr:Mnem)
        else
             FsPrimary:Directs(Loc:IDObj)
             lor:name=choose(Dirs:Mnem='',Dirs:Name,Dirs:Mnem)
        .
        fsFileMakerL.AddOutLine('          [''' & clip(lor:name) & ''',' & loc:sum & ']' & choose(i#=records(loc:queue) or i#=15,'',',')  
    .
    fsFileMakerL.AddOutLine('            ]);')
    fsFileMakerL.AddOutLine('            var options = {{')
    fsFileMakerL.AddOutLine('                title: ''' & clip(Loc:Zag1) & ''',')
    fsFileMakerL.AddOutLine('                is3D: true,')
    fsFileMakerL.AddOutLine('                pieResidueSliceLabel: ''Остальные''')
    fsFileMakerL.AddOutLine('             };')
    fsFileMakerL.AddOutLine('             var chart = new google.visualization.PieChart(document.getElementById(''container''));')
    fsFileMakerL.AddOutLine('             chart.draw(data, options);')
    fsFileMakerL.AddOutLine('         }')
    fsFileMakerL.AddOutLine('     </script>')  
    fsFileMakerL.AddOutLine('  </head>')   
    fsFileMakerL.AddOutLine('  <body>')
    fsFileMakerL.AddOutLine('      <div id="container" style="width: 100%; height: 100%;"></div>')
    fsFileMakerL.AddOutLine('  </body>')
    fsFileMakerL.AddOutLine('</html>')
   
    if fsFileMakerL.MakeString()=0
       fsFileMakerL.kill
       exit
    .
    AnyScreen:SetProperty(?IMAGE1, PROP:HTML, fsFileMakerL.StringBuf)

    fsFileMakerL.kill   

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Добавлено: 11 Март 2024, 12:51
finsoftrz
Губин Игорь писал(а): 11 Март 2024, 12:32
finsoftrz писал(а): 11 Март 2024, 12:08 Смешно. Это ты не график строишь, а 2 области цветом выделяешь...
А мы не программы пишем, а, лишь, строчки кода набираем? :facepalm:

Требовался набор столбчатых парных диаграмм - выведен набор столбчатых парных диаграмм. Ты думаешь, что в больших пакетах будет нечто иное?! :nono:

По секрету: именно итоговую генерацию одного из пакетов я и раздраконил, подправил под себя и минимизировал, убрав лишние украшательства, параметры дополнительных настроек на цвета, количество столбцов, отступы, тексты... Сведя всё к простенькому коду.

Если аккуратно покопаешься, то и для линейных и прочих графиков найдёшь...
Я думаю, что несколько иное. Синусы, косинусы, радиусы, число пи и т.п. :-) То, что ты привел в качестве примера, это простой скрипт для закрашивания 2 прямоугольных областей через стили. Даже я, при небольшом опыте программирования под веб, легко его читаю. Если взять реальные графики, то там много программировать надо. Это примерно как svgraph написать на javascript. А смысл, если есть бесплатные библиотеки с примерами использования?

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Добавлено: 11 Март 2024, 14:07
Губин Игорь
finsoftrz писал(а): 11 Март 2024, 12:51 А смысл, если есть бесплатные библиотеки с примерами использования?
Для тех, кто в Абрамсе :lol: , повторяю ещё раз: мне не нужен был весь бесконечный функционал пакета вроде осей измерений, сопровождающего текста, форматов надписей... Я взял готовый пакет, пролопатил его и вытащил лишь то, что мне было надо, избавившись от всего, что могло впустую грузить канал и тормозить программу. Ну и кучу вычислений из него перенёс в программу. Ты спрашивал возможно работать без внешних ссылок, я показал, что да. Если тебе нужны все функции пакета, но опасаешься грузить со сторонних серверов, то в браузере есть ссылки на текстовый файл с кодами пакета. И ничто не мешает скопировать его на свой сервер. Я, первоначально, так и сделал, но, по результатам итераций и "программисты мы или как", получил то, что показал. Если смотрел на картинку, то там выводится ещё масса всякого, но выводится через AnyScreen.

Идею с промежуточной картинкой я прорабатывал, но это оказалось неэффективно ни по скорости работы, ни по объёму потребного служебного кода.

Ещё раз в попытке ломом по люку :?
Покопайся и увидишь, что 80% кодов пакета это интерфейс пользователя к настройкам и вводу данных, а остальные 20% - закладки на фантазии пользователя. А, поскольку у тебя есть Clarion и AnyScreen, то всё это можно выбросить или перенести в свою программу, ускорив выполнение на порядки, оставив на долю CCS и иже с ними только отображение.

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Добавлено: 11 Март 2024, 14:37
finsoftrz
Во всяком случае, гугловские графики просто скачать не получилось, я пробовал, оно тянет за собой еще что, а искать какие-то дистрибутивы нет желания.
Я понял, что у нас просто разные цели и задачи. Мне покрасивее визуализацию хотелось бы. То, что библиотек для построения графиков достаточно много, дает некоторую надежду, что гугл не начнет монетизировать ее использование. С таким же успехом фейсбук может захотеть монетизировать реакт...

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Добавлено: 13 Март 2024, 9:16
finsoftrz
Размещу здесь ссылку на видео, в котором рассказывается про изменения в последней версии anyscreen, включая пример использования библиотек на javascript.

https://www.youtube.com/watch?v=q9HJIYF9-MU&t=1514s

Prop:html довольно крутая штука, позволяющая подключать различные библиотеки на javascript, даже проще, чем в обычных приложениях мы подключаем win api или библиотеки на си. Графики, видео, работа с картами, текстовые редакторы, организация периодического опроса сервера (по таймеру) и т.п.

В теме по с12 уже была ссылка на видео, посвященное презентации расширения ui для anyscreen. Продублирую ее сюда, чтобы проще было искать.

https://www.youtube.com/watch?v=NwcN-gIX9vA

Если я правильно понял, ресайзер, про который много говорили и который никак не включат в поставку клариона, это часть отдельного продукта. Возможно, вопрос не технический, никак не определятся, предлагать его в составе подписки на anyscreen или продавать отдельно. На сайте Ris висит отдельная цена по подписке 500 долларов в год.

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Добавлено: 13 Март 2024, 12:25
Губин Игорь
finsoftrz писал(а): 13 Март 2024, 9:16 На сайте Ris висит отдельная цена по подписке 500 долларов в год.
А брось ссылочку. Поторгуемся.

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Добавлено: 13 Март 2024, 13:02
finsoftrz
Не уверен, что без SV они дадут напрямую. Но мне кажется, у одного активного в ньюсах товарища я видел эту приладу на скриншотах его приложения.

https://thinetsolution.com/gui-manager-and-resizer/

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Добавлено: 13 Март 2024, 22:16
Губин Игорь
finsoftrz писал(а): 13 Март 2024, 13:02 https://thinetsolution.com/gui-manager-and-resizer/
Это, как я понимаю, лишь кусок от AnyScreen. Там только Java и WinAPI. Т.е. то, чем не пользуемся.

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Добавлено: 13 Март 2024, 22:34
finsoftrz
Я вроде видел в каком-то вебинаре и в html5, там примерно такое же. Сейчас уже не найду. Даже удивился и полез искать постоянно раскрытое меню.

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Добавлено: 14 Март 2024, 8:41
Игорь Столяров
What is window resizer?
Window resizer is a special algorithm which automatically adjusts the window size to screen resolution, as a designer would do.
Я заранее извиняюсь, что лезу в тему где ничего не понимаю ...
Но правильно ли я прочитал, что группа хорватских программеров хочет $500 / год
за то, что бы определить размер экрана и выставить по ним размер окон приложения ? ;)

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Добавлено: 14 Март 2024, 9:21
finsoftrz
Нет, там не только ресайзер, см в ролике.
На самом деле, и про это уже писалось, ресайз и сейчас работает, нельзя его делать мышкой, как в обычных приложениях, таская за границу окна. Это касается и сплиттера. Если программно установить размер окна или максимизировать его, то ресайз срабатывает.
500 долларов, конечно, для нас дорого. Тут сравнивать надо с зарплатами. Если у них программист зарабатывает, условно, 5 тыр долларов на руки в месяц, то 500 на год и не так дорого выглядит. Они на это и ориентируется. Несколько программистов в России или в Аргентине погоды не делают, могут купить вскладчину, а полноценную лицензию, когда и если будет окупаться.

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Добавлено: 14 Март 2024, 9:40
Игорь Столяров
Спасибо ! А можно ссылочку на ролик ? Хочется ведь быть в теме европейский новаций.
Потому что я вижу на этой странице только картинки и анимацию, где верний TOOLBAR
трансформируется в левый DOCKBOX для тех у кого монитор 4K и орлинное зрение. :)

AnyScreen (форсировали Неман Бонапартовы войска) - хроника войны

Добавлено: 14 Март 2024, 9:54
finsoftrz
Игорь Столяров писал(а): 14 Март 2024, 9:40 Спасибо ! А можно ссылочку на ролик ? Хочется ведь быть в теме европейский новаций.
Потому что я вижу на этой странице только картинки и анимацию, где верний TOOLBAR
трансформируется в левый DOCKBOX для тех у кого монитор 4K и орлинное зрение. :)
Другого нет. :-) Ролик лучше с переводом смотреть. Конечно, то, что там показано, в обычных приложениях давно работает. Например, пропорциональный/относительный ресайз контролов давно есть в ресайзере Струменского и, на мое восприятие, реализован проще.