Найдено 185 результатов

Constantine
28 Январь 2020, 8:51
Форум: CLARION for Windows
Тема: Картинка из буфера DIB
Ответы: 40
Просмотры: 7807

Картинка из буфера DIB

Ну, Игорь, не все так плохо! :-) Задача обработки DIB средствами Клариона вполне решаема, ничего особо мудрого там нет. Нужно разобраться в двух моментах: 1. Что именно лежит в DIB, формируемой внешней функцией, и 2. Как это подсунуть кларионовскому Image. По первому вопросу возможно три варианта: 1...
Constantine
27 Январь 2020, 15:28
Форум: CLARION for Windows
Тема: Картинка из буфера DIB
Ответы: 40
Просмотры: 7807

Картинка из буфера DIB

Пугать не буду... :-) Но с заголовком разбираться все равно придется... Судя по коду, битмап действительно 24-битный. Тогда его размер нужно считать так, как я написал выше. Последний параметр BMPINFOHEADER - biSizeImage считается как BYTELINE*HEIGHT. Структура BITMAPINFOHEADER: !BITMAPINFOHEADER GR...
Constantine
27 Январь 2020, 15:11
Форум: CLARION for Windows
Тема: Картинка из буфера DIB
Ответы: 40
Просмотры: 7807

Картинка из буфера DIB

Я бы, все-таки, для начала посоветовал бы удостовериться, что DIB все-таки 24-битный. Для этого нужно считать BITMAPINFOHEADER и посмотреть параметр biBitCount. Для 24-битного там должно быть 24 :-) Если битмап все-таки 24-битный, то пример 32-битного вряд ли подойдет: там совсем другая структура. А...
Constantine
27 Январь 2020, 11:49
Форум: CLARION for Windows
Тема: Картинка из буфера DIB
Ответы: 40
Просмотры: 7807

Картинка из буфера DIB

Чтобы все было нормально, этот скриншот нужно конвертировать в 24-бит. Геморрой еще тот! :-) Но работает.
Constantine
27 Январь 2020, 11:16
Форум: CLARION for Windows
Тема: Картинка из буфера DIB
Ответы: 40
Просмотры: 7807

Картинка из буфера DIB

Там может быть два заголовка: собственно, заголовок bitmap - BITMAPINFOHEADER и заголовок файла *.BMP - BITMAPFILEHEADER.
Зависит от того, что именно сформировала внешняя функция.
Constantine
27 Январь 2020, 10:48
Форум: CLARION for Windows
Тема: Картинка из буфера DIB
Ответы: 40
Просмотры: 7807

Картинка из буфера DIB

Можно попробовать размер строки подсчитать следующим образом: !Вычисляем размер (ширину) строки для 24 бит BYTELINE=BAND((LOC:WIDTH*3+3),0FFFFFFFCH) !Другой вариант: BYTELINE=((WIDTH#*24+31)/32)*4 !Создаем буфер для строки 24 бит SREF &= NEW STRING(BYTELINE)
Constantine
20 Январь 2020, 8:37
Форум: Готовые программы, шаблоны, библиотеки...
Тема: ActiveScript
Ответы: 20
Просмотры: 7101

ActiveScript

Дед Пахом писал(а): 18 Январь 2020, 22:56 Если кто не помнит, речь в вопросе шла о vbscript, и кроме как запускать скрипт через RUN(file.vbs), выводить результаты в текстовый файл и затем этот файл парсить, ничего не предложили.
Спасибо, у меня этот вопрос успешно решился через PowerShell.
Constantine
06 Декабрь 2019, 11:13
Форум: CLARION for Windows
Тема: Чертовщина с параметром
Ответы: 18
Просмотры: 4512

Чертовщина с параметром

Ну, мое дело - предложить... :-)
Constantine
06 Декабрь 2019, 10:42
Форум: CLARION for Windows
Тема: Чертовщина с параметром
Ответы: 18
Просмотры: 4512

Чертовщина с параметром

А если так?
Loc:MyGroup Group(TypeGroup),STATIC.
Constantine
05 Декабрь 2019, 14:11
Форум: CLARION for Windows
Тема: windows 10 - размытость приложения
Ответы: 13
Просмотры: 2946

windows 10 - размытость приложения

Я делаю так (перед открытием окна Frame): !Проверяем наличие параметра в реестре EventMessageFile1 = LONGPATH(CLIP(LEFT(PATH()))&'\<ваш exe>.exe') EventMessageFile = GETREG(REG_CURRENT_USER,'Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers',CLIP(EventMessageFile1),REG:TYPE) IF ...
Constantine
21 Октябрь 2019, 9:04
Форум: CLARION for Windows
Тема: всплывающее уведомление
Ответы: 19
Просмотры: 4169

всплывающее уведомление

Вот им и пользуйтесь... :-) Технология этих самых "тостов" (Toast notification) еще не до конца отработана, там куча всяких особенностей. Основная проблема заключается в том, что .Net напрямую не видит событий WinRT. Для этих целей предлагается писать "прокладку" в виде DLL на C#...
Constantine
17 Июль 2019, 12:35
Форум: CLARION for Windows
Тема: Как составить описание функции SetFilePointerEx
Ответы: 14
Просмотры: 3053

Как составить описание функции SetFilePointerEx

Алексей- Софт-Центр писал(а): 17 Июль 2019, 12:06LARGE_INTEGER liDistanceToMove
У меня прокатывал такой вариант:

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

liDistanceToMove REAL
STR STRING(8),OVER(liDistanceToMove)
А в STR пишем побайтно... Паскалевское соглашение о связях такие пассажи пропускает... :-)
Constantine
27 Июнь 2019, 10:31
Форум: CLARION for Windows
Тема: Запрет повторного запуска приложения
Ответы: 10
Просмотры: 3851

Запрет повторного запуска приложения

Да, останется. Пропадет только после перезагрузки.
Constantine
27 Июнь 2019, 9:30
Форум: CLARION for Windows
Тема: Запрет повторного запуска приложения
Ответы: 10
Просмотры: 3851

Запрет повторного запуска приложения

Yufil писал(а): 27 Июнь 2019, 9:02Но главный плюс в том, что работа с DDE изначально встроена в сам Кларион
Ага...
Только Майкрософт его уже лет 10 не поддерживает и не факт, что из следующей версии его вообще не выкинут... :-(
Constantine
27 Июнь 2019, 8:25
Форум: CLARION for Windows
Тема: Запрет повторного запуска приложения
Ответы: 10
Просмотры: 3851

Запрет повторного запуска приложения

Можно еще проще: при запуске проверять наличие атома в Global Atom Table. Если атома нет - программа не запущена. Если есть - вываливаемся. При закрытии - удаляем атом. Преимущество в том, что GAT доступна любой программе, поэтому проверить можно откуда угодно. Прототипы: GlobalAddAtom(*CSTRING),ATO...