Board.KolibriOS.org

Official KolibriOS board
It is currently Thu Apr 25, 2019 9:12 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 184 posts ]  Go to page Previous 18 9 10 11 12 13 Next
Author Message
PostPosted: Sun Nov 03, 2013 10:03 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
eAndrew wrote:
Ну в той же винде, например, системный контрол Edit использует буфер обмена. Имхо, это как раз таки задача контрола.

Box_Lib не выполняет дополнительных действий - он только рисует контролы, не более. Я не хочу в этой теме обсуждать Box_Lib, это тема про буфер обмена.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Tue Nov 05, 2013 12:03 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Промежуточные результаты для заинтересованных людей:
Attachment:
kernel.7z [93.36 KiB]
Downloaded 121 times

Attachment:
clipboard.7z [4.37 KiB]
Downloaded 123 times

Одна программа добавляет слоты с текстом, другая отображает доступные слоты.

З.Ы. Пока не реализована зашита по записи, чтобы более одного приложения не пыталось записывать. Также товарищ hidnplayr обозначил в чате проблему с устареванием данных между вызовами функции. Нужно еще подумать.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Tue Nov 05, 2013 10:59 am 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1143
API для работы меняться будет?

_________________
я лишь учусь


Top
   
PostPosted: Tue Nov 05, 2013 11:00 am 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1143
И круто в общем. Наконец то, сами знаете кто, появится в KolibriOS

_________________
я лишь учусь


Top
   
PostPosted: Tue Nov 05, 2013 9:58 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
punk_joker wrote:
API для работы меняться будет?

Такая вероятность есть.

З.Ы. Возникли запарки на работе, в это связи разработка пока приостановилась.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Sun Nov 10, 2013 7:12 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
SVN r.4199 код Clipboard (ф.54) залит в исходники ядра. Описание в файлах sysfuncs.txt и sysfuncr.txt

Внимание! API изменился и предыдущие примеры выложенные в этой теме корректно работать не будут.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Sun Nov 10, 2013 7:21 am 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
SVN r.4200 примеры работы с буфером обмена.

Для совсем ленивых - качаете ночную сборку r.4199 или новее, а для примеров вот архив:
Attachment:
clipboard_r4200.7z [4.34 KiB]
Downloaded 125 times

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Wed Nov 13, 2013 3:15 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
Чего-то не сходится документация с примером, в clipboard_container.txt сказано:
Quote:
2.1 Текст
Данные в третьем dword содержат тип:
0 = UTF
1 = 0866

А в примере clip_put.asm видим следущее:
Code:
buffer_data:
   dd buffer_data.end - buffer_data
   dd 0   ; type 'text'
   dd 866   ; text encoding
   db 'Test message to the clipboard'
.end:

Видимо в примере вместо 866 нужно поставить 1.


Top
   
PostPosted: Wed Nov 13, 2013 3:21 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
IgorA
Да, ты прав - меня кажется переглючило, т.к. писал код ночью.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Thu Nov 14, 2013 2:56 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
В связи с ревизией 4228 возник вопрос, есть ли в буфере обмена ограничение на число слотов хранимых в нем? Потому что я могу копировать в буфер текст, а очистка буфера не происходит сама по себе, разве что только с тестовым примером могу чистить.


Top
   
PostPosted: Thu Nov 14, 2013 3:44 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
1023 или 1024, я точно не проверял. В принципе ограничение только выделенной странице памяти и при желании количество слотов можно даже увеличить, но зачем?

1) У меня была идея по умолчанию сделать ограничение на один слот, а при помощи подфункции увеличивать при необходимости.
2) Еще есть идея реализовать закольцованность, чтобы при исчерпании всех слотов самый первый удалялся, а весь список смещался вверх.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Thu Nov 14, 2013 5:52 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 811
Mario_r4 wrote:
при желании количество слотов можно даже увеличить, но зачем?

Увеличивать не нужно. Просто возник вопрос о том, что память буфера каждый раз при копировании увеличивается и будет ли тормозить вся система при забивании буфера "на максимум".
Mario_r4 wrote:
2) Еще есть идея реализовать закольцованность, чтобы при исчерпании всех слотов самый первый удалялся, а весь список смещался вверх.

Думаю это лучший вариант.


Top
   
PostPosted: Sun Dec 01, 2013 1:29 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
IgorA wrote:
Чего-то не сходится документация с примером, в clipboard_container.txt сказано:
Quote:
2.1 Текст
Данные в третьем dword содержат тип:
0 = UTF
1 = 0866

А в примере clip_put.asm видим следущее:
Code:
buffer_data:
   dd buffer_data.end - buffer_data
   dd 0   ; type 'text'
   dd 866   ; text encoding
   db 'Test message to the clipboard'
.end:

Видимо в примере вместо 866 нужно поставить 1.

Исправлено в SVN r.4317

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Sun Dec 01, 2013 5:47 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Все еще стоит на повестке дня вопрос с символами перевода строки. Пока что я имею два наглядных варианта Tinypad использующий 0x0d 0x0a и T_edit использующий 0xd, в качестве символов перевода строки.

Статья на википедии утверждает, что для надежности нужно использовать 0x0d 0x0a.

Есть какие то еще варианты перевода строк? И какой все же выбрать вариант для единообразия подхода?

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Top
   
PostPosted: Sun Dec 01, 2013 5:56 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Mario_r4, а зачем это нужно в буфере обмена? Какая ядру разница?
Mario_r4 wrote:
Статья на википедии утверждает, что для надежности нужно использовать 0x0d 0x0a.
Я думаю, надо делать надёжно.
Или, как вариант, указывать тип содержимого(что-то вроде TEXT_CR, TEXT_LF, TEXT_CR_LF).


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 184 posts ]  Go to page Previous 18 9 10 11 12 13 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited