Clarion 11-12

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
kreator
✯ Ветеран ✯
Сообщения: 5006
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 21 раз

Clarion 11-12

Сообщение kreator »

Решил в кои-то веки графикой заняться. Ну надо. Вот такая х...:
Images.png
Первое слева фото - обычное (в режиме Stretched, размер меньше реального), второе - оно же (только в режиме Disable), третье - оно же (только в режиме Disable), четвертое - оно же (видно, что картинка ка-то странно растягивается в зависимости от местоположения на экране), пятое - фото в режиме Disable и Centered.
Интересует работа в режиме Disable и Stretched. Можно как-то полечить буйство мыслей и фантазий программеров из SV?
И туда же. Не удаётся в рантайме к Image применить prop:Disable. Удаётся только через prop:Hide.
We are hard at work… for you. :)
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2351
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 1 раз
Поблагодарили: 19 раз

Clarion 11-12

Сообщение Губин Игорь »

А можно проект в студию, чтобы не плодить?
Это я только кажусь дураком! На самом деле я полный идиот!
kreator
✯ Ветеран ✯
Сообщения: 5006
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 21 раз

Clarion 11-12

Сообщение kreator »

Даже на стандартном превью видно. Ради принципа сделаю.
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4661
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 7 раз
Поблагодарили: 37 раз

Big .dct

Сообщение finsoftrz »

Игорь Столяров писал(а): 03 Ноябрь 2022, 13:15
harry писал(а): 03 Ноябрь 2022, 12:31 Т.е. решение только в сокращении количества объектов ?
Видимо да. Я всегда был против левых шаблонов - они сильно закакивают проекты.
Ну и с нетерпением ждём-с обещанный Clarion 12 с генерацией x64 приложений ... :idied:
64 разряда не будет никогда, если RZ продолжить "руководить" процессом разработки. Он на чистом американском сказал, что дорабатывать компилятор нет перспективы (у него в голове, другие спокойно делают 64). Переход на другие готовые компиляторы (голубая мечта RZ в последние 15 лет со времен попытки сделать Clarion.Net) приведет к очень сильным изменениям, что никому не нужно. Теперь речь только о готовом компиляторе c++. Среда, единственное, что принципиально переделали из наследия топспида на "готовое" (sharp developer), работает с кучей багов, исправлять которые никто не собирается. Я такого вообще не понимаю. Дальнейшее развитие клариона будет за счет комьюнити, в котором остаются достаточно компетентные люди, в отличии от SV.
Это для другой темы пост. :-)
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7418
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 16 раз
Поблагодарили: 49 раз

Big .dct

Сообщение Игорь Столяров »

finsoftrz писал(а): 03 Ноябрь 2022, 13:39 Это для другой темы пост.
Точно ! Видимо пойдём по пути Clipper: OpenSource, форки от идиотов с кучей ошибок и забвение. :(
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4661
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 7 раз
Поблагодарили: 37 раз

Big .dct

Сообщение finsoftrz »

Игорь Столяров писал(а): 03 Ноябрь 2022, 13:43
finsoftrz писал(а): 03 Ноябрь 2022, 13:39 Это для другой темы пост.
Точно ! Видимо пойдём по пути Clipper: OpenSource, форки от идиотов с кучей ошибок и забвение. :(
Опен сорс не надо. Надо постепенно передавать разработку отдельных направлений за пределы sv. Других вариантов не видно. Например, тот же драйвер кит. Все СУБД имеют библиотеки доступа на с++, драйвер кит, как я понимаю, позволяет стандартизировать их вызовы в наборы команд клариона для работы с базами данных. Струменский делал свою реализацию ip драйвера, видимо, где-то удалось получить драйвер кит (его короткое время продавали, насколько знаю). Меня бы в большей степени интересовало исправление багов в среде. Компиляторы 64 бита сейчас уже все популярные среды разработки имеют. Хотя я не думаю, что 32 бита похоронят совсем в ближайшие лет 10.
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 5006
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 21 раз

Clarion 11-12

Сообщение kreator »

Губин Игорь писал(а): 31 Октябрь 2022, 16:12 А можно проект в студию, чтобы не плодить?
Собрал тест. На простом окне четыре одинаковые картинки. Над ними четыре региона. При нажатии мышкой на картинку (регион) картинка дизейблится и наоборот. Если посмотреть эмбедсы, там всё просто - prop:Disable. Только приходится делать через prop:Hide, что тоже косяк (на мой взгляд).
Вложения
TI.ZIP
(19.04 КБ) 37 скачиваний
We are hard at work… for you. :)
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2351
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 1 раз
Поблагодарили: 19 раз

Clarion 11-12

Сообщение Губин Игорь »

finsoftrz писал(а): 03 Ноябрь 2022, 14:24 где-то удалось получить драйвер кит (его короткое время продавали, насколько знаю)
Какая-то старая версия валяется у меня в дистрибутивах...
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4661
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 7 раз
Поблагодарили: 37 раз

Clarion 11-12

Сообщение finsoftrz »

Небольшое, но полезное наблюдение. Когда добавляем новый контрол на закладке в оконном дизайнере, чтобы он не улетал на другие закладки или в окно, надо в дереве tab выделить нужную закладку, а потом добавлять. Ставится в конец списка контролов на закладке, но хоть так, чтобы потом долго не таскать по всему дереву.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2351
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 1 раз
Поблагодарили: 19 раз

Clarion 11-12

Сообщение Губин Игорь »

kreator писал(а): 05 Ноябрь 2022, 19:46 Собрал тест. На простом окне четыре одинаковые картинки.
Поигрался в разных вариантах. Да, это глюк рантайма. Единственное, что могу посоветовать - хранить каждую картинку в двух вариантах. И не использовать на Image совершенно бесполезный с точки зрения интерфейса Disable, а подсовывать картинку. Да, я понимаю, что это маразм.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7418
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 16 раз
Поблагодарили: 49 раз

Clarion 11-12

Сообщение Игорь Столяров »

kreator писал(а): 05 Ноябрь 2022, 19:46 Если посмотреть эмбедсы, там всё просто - prop:Disable
Ну, как говорится: если в гору идти не получается - то ведь можно её обойти. ;)
Манипулируем IMAGE прямой записью образа в памяти. В т.ч. и делаем её Grayscale
или мнонхромом любого уровня и т.д. Юзаем библиотеку FreeImage.

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

theImage             FreeImageClass
Loc:TmpString        &STRING
fihMemory       FIMEMORY
mem_buffer      Long
size_in_bytes   UNSIGNED
   Code
   
  If theImage.iImage.Load(MyTheFile) = True
     ! Здесь сохранили в буфер образ "цветной картинки" см. далее
          
     theImage.iImage.ConvertToGrayscale()  ! Конвертация картинки в монохромную
     
     FihMemory = FreeImage_OpenMemory()  ! Запись картинки в буфер
     If FihMemory <> 0
        If FreeImage_SaveToMemory(FIF_BMP, theImage.pImage, fihMemory, 0) = True
           If FreeImage_AcquireMemory(FihMemory, mem_buffer, size_in_bytes) = True
              If size_in_bytes > 0
                 Loc:TmpString &= New(String(size_in_bytes))
                 If ~(Loc:TmpString &= Null) then WinApi_memcpy(Address(Loc:TmpString),mem_buffer,size_in_bytes).
              end
           end
        end

        FreeImage_CloseMemory(FihMemory)
     else
        theImage.iImage.TakeError(OUT_OF_MEMORY)
     end

     ! Запись буфера с картинкой в IMAGE
     If ~(Loc:TmpString &= Null) then ?Image{Prop:ImageBits} = Loc:TmpString.
     ....
  end   
И всё. Дальше просто меняем цветной образ на монохром и т.д. Ну и в завершении очистить память.
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 5006
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 21 раз

Clarion 11-12

Сообщение kreator »

Это фото сотрудников, к которым у разработчиков нет доступа. Объяснять пользователю, который загружает фото в систему, что надо бы загрузить два фото, и одно из них надо графическим редактором подработать, мягко говоря нехорошо.
Использовать FreeImage вариант. Но небось подводных камней насобираешь. Чёрно-белая картинка при такой конвертации становится "серой"?
Игорь Губин, может зашлём проблему в SV? Чего сидят, ничего не делают?
We are hard at work… for you. :)
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2351
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 1 раз
Поблагодарили: 19 раз

Clarion 11-12

Сообщение Губин Игорь »

kreator писал(а): 06 Ноябрь 2022, 15:55 Чего сидят, ничего не делают?
Можно попробовать. Постараюсь не затягивать. Но, имхо, безнадёга это. Явно слишком глубоко в рантайме сидит глюк, да и не критичный.
kreator писал(а): 06 Ноябрь 2022, 15:55 Объяснять пользователю, который загружает фото в систему
Честно сказать, я бы, при такой ситуации, обошёл бы ошибку онанизмом преобразования загружаемой картинки во второй экземпляр для disable через перехват экрана через WinAPI. Ну или наложением маски (сеточка или ещё что) вместо перевода в disable. Будет быстрее.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2351
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Благодарил (а): 1 раз
Поблагодарили: 19 раз

Clarion 11-12

Сообщение Губин Игорь »

Губин Игорь писал(а): 06 Ноябрь 2022, 16:05 Чего сидят, ничего не делают?
Хочешь поржать? Под AnyScreen всё идеально работает.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7418
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 16 раз
Поблагодарили: 49 раз

Clarion 11-12

Сообщение Игорь Столяров »

kreator писал(а): 06 Ноябрь 2022, 15:55 Чёрно-белая картинка при такой конвертации становится "серой"?
Загрузив картинку в FreeImage Вы сможете переключать в ней если не всё, то многое.
Контрастность, яркость, гамма-коррекцию ... Можно сделать оригинально и стильно. ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить