Box_Lib не выполняет дополнительных действий - он только рисует контролы, не более. Я не хочу в этой теме обсуждать Box_Lib, это тема про буфер обмена.eAndrew wrote:Ну в той же винде, например, системный контрол Edit использует буфер обмена. Имхо, это как раз таки задача контрола.
Общесистемный буфер обмена
-
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Промежуточные результаты для заинтересованных людей:
З.Ы. Пока не реализована зашита по записи, чтобы более одного приложения не пыталось записывать. Также товарищ hidnplayr обозначил в чате проблему с устареванием данных между вызовами функции. Нужно еще подумать.
Одна программа добавляет слоты с текстом, другая отображает доступные слоты.З.Ы. Пока не реализована зашита по записи, чтобы более одного приложения не пыталось записывать. Также товарищ hidnplayr обозначил в чате проблему с устареванием данных между вызовами функции. Нужно еще подумать.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
API для работы меняться будет?
to infinity and beyond
И круто в общем. Наконец то, сами знаете кто, появится в KolibriOS
to infinity and beyond
Такая вероятность есть.punk_joker wrote:API для работы меняться будет?
З.Ы. Возникли запарки на работе, в это связи разработка пока приостановилась.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
SVN r.4199 код Clipboard (ф.54) залит в исходники ядра. Описание в файлах sysfuncs.txt и sysfuncr.txt
Внимание! API изменился и предыдущие примеры выложенные в этой теме корректно работать не будут.
Внимание! API изменился и предыдущие примеры выложенные в этой теме корректно работать не будут.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
SVN r.4200 примеры работы с буфером обмена.
Для совсем ленивых - качаете ночную сборку r.4199 или новее, а для примеров вот архив:
Для совсем ленивых - качаете ночную сборку r.4199 или новее, а для примеров вот архив:
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Чего-то не сходится документация с примером, в clipboard_container.txt сказано:
Видимо в примере вместо 866 нужно поставить 1.
А в примере clip_put.asm видим следущее:2.1 Текст
Данные в третьем dword содержат тип:
0 = UTF
1 = 0866
Code: Select all
buffer_data:
dd buffer_data.end - buffer_data
dd 0 ; type 'text'
dd 866 ; text encoding
db 'Test message to the clipboard'
.end:
IgorA
Да, ты прав - меня кажется переглючило, т.к. писал код ночью.
Да, ты прав - меня кажется переглючило, т.к. писал код ночью.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
В связи с ревизией 4228 возник вопрос, есть ли в буфере обмена ограничение на число слотов хранимых в нем? Потому что я могу копировать в буфер текст, а очистка буфера не происходит сама по себе, разве что только с тестовым примером могу чистить.
1023 или 1024, я точно не проверял. В принципе ограничение только выделенной странице памяти и при желании количество слотов можно даже увеличить, но зачем?
1) У меня была идея по умолчанию сделать ограничение на один слот, а при помощи подфункции увеличивать при необходимости.
2) Еще есть идея реализовать закольцованность, чтобы при исчерпании всех слотов самый первый удалялся, а весь список смещался вверх.
1) У меня была идея по умолчанию сделать ограничение на один слот, а при помощи подфункции увеличивать при необходимости.
2) Еще есть идея реализовать закольцованность, чтобы при исчерпании всех слотов самый первый удалялся, а весь список смещался вверх.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Увеличивать не нужно. Просто возник вопрос о том, что память буфера каждый раз при копировании увеличивается и будет ли тормозить вся система при забивании буфера "на максимум".Mario_r4 wrote:при желании количество слотов можно даже увеличить, но зачем?
Думаю это лучший вариант.Mario_r4 wrote:2) Еще есть идея реализовать закольцованность, чтобы при исчерпании всех слотов самый первый удалялся, а весь список смещался вверх.
Исправлено в SVN r.4317IgorA wrote:Чего-то не сходится документация с примером, в clipboard_container.txt сказано:А в примере clip_put.asm видим следущее:2.1 Текст
Данные в третьем dword содержат тип:
0 = UTF
1 = 0866Видимо в примере вместо 866 нужно поставить 1.Code: Select all
buffer_data: dd buffer_data.end - buffer_data dd 0 ; type 'text' dd 866 ; text encoding db 'Test message to the clipboard' .end:
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Все еще стоит на повестке дня вопрос с символами перевода строки. Пока что я имею два наглядных варианта Tinypad использующий 0x0d 0x0a и T_edit использующий 0xd, в качестве символов перевода строки.
Статья на википедии утверждает, что для надежности нужно использовать 0x0d 0x0a.
Есть какие то еще варианты перевода строк? И какой все же выбрать вариант для единообразия подхода?
Статья на википедии утверждает, что для надежности нужно использовать 0x0d 0x0a.
Есть какие то еще варианты перевода строк? И какой все же выбрать вариант для единообразия подхода?
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Mario_r4, а зачем это нужно в буфере обмена? Какая ядру разница?
Или, как вариант, указывать тип содержимого(что-то вроде TEXT_CR, TEXT_LF, TEXT_CR_LF).
Я думаю, надо делать надёжно.Mario_r4 wrote:Статья на википедии утверждает, что для надежности нужно использовать 0x0d 0x0a.
Или, как вариант, указывать тип содержимого(что-то вроде TEXT_CR, TEXT_LF, TEXT_CR_LF).
Who is online
Users browsing this forum: No registered users and 5 guests