Board.KolibriOS.org

Official KolibriOS board
It is currently Mon Aug 19, 2019 5:28 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 184 posts ]  Go to page Previous 16 7 8 9 1013 Next
Author Message
PostPosted: Sun Dec 09, 2012 3:01 pm 
Offline

Joined: Fri Feb 18, 2011 3:13 pm
Posts: 201
Serge wrote:
johnfound
Всё же кодировка для текста должна быть единственной. Иначе к каждой программе надо будет цеплять конвертер на все возможные варианты.


К каждой программе конвертер всегда будут цеплять. Конечно если не сделать его в ядре. А может стоит делать в ядре?... :? Тогда можно использовать код от FreshLib. Очень компактен получился: encodings.asm


Top
   
PostPosted: Sun Dec 09, 2012 3:10 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Это же только кириллица. А как насчет остальных языков? Лучше библиотеку, считаю.


Top
   
PostPosted: Sun Dec 09, 2012 3:49 pm 
Offline

Joined: Tue Jul 26, 2011 11:03 pm
Posts: 62
Думаю что данный буфер подходящий момент чтобы подправить fn eax=10 eax=11 чтобы они возвращали также и основные параметры событий. Ведь сейчас после ring0->ring3 switch происходит гарантированое и незамедлительное ring3->ring0->ring3

Сообщение(fn eax=10) о заполненом только-для-чтения буфере(ядро создало его нужного размера) приходит. Обработчик сообщения копирует куда ему надо(mov инструкции). И fn eax=10 выполняют чистку (в даном случае удаляют буфер если ctrl+c была кде-то ещё нажата.


Top
   
PostPosted: Sun Dec 09, 2012 10:05 pm 
Offline
User avatar

Joined: Tue May 08, 2007 12:44 am
Posts: 346
Albom wrote:
1) Поместить данные в буфер. Через структуру.
dd type
dd size
dd address

По-моему, туда еще надо добавить dd custom_type, чтобы получилось:
Code:
  dd type
  dd custom_type
  dd size
  dd address


В API и callback-функциях обычно предусматривают дополнительное поле, хранящее "пользовательские данные". Вот туда и можно будет класть кодировку для типа CF_TEXT. ОС его никак обрабатывать не будет, а приложениям рано или поздно придется цеплять всякие конверторы, раз проект выходит за рамки Рунета.

Поле кодировки может заполняться, например, строками '866', 0, или '1251', или 'UTF8', или даже 'Big5' или 'SJIS'. Встанет вопрос о регистре. А можно и числовые коды Windows класть, которые очень продуманны, скажу я вам. Будет преемственность.

Например, кто из вас знает, что числовые значения всяких STD_INPUT и STD_OUTPUT, прописанные в SDK большинства ОС, мало того что совпадают, так еще и не изменились еще со времен перфокарт и терминального вывода на бумажную ленту? Преемственность.

_________________
Разработчик языка программирования Кантор


Top
   
PostPosted: Sun Dec 09, 2012 10:19 pm 
Offline
Mentor
User avatar

Joined: Tue Jan 15, 2008 11:27 am
Posts: 752
Freeman wrote:
По-моему, туда еще надо добавить dd custom_type, чтобы получилось:

Хорошо для расширяемости.

Freeman wrote:
А можно и числовые коды Windows класть

А можно и свои числовые коды (0 - 866, 1 - 1251, 2 - utf8, ...) - вполне достаточно. И копировать не придётся.


Top
   
PostPosted: Mon Dec 10, 2012 12:48 am 
Offline
User avatar

Joined: Tue May 08, 2007 12:44 am
Posts: 346
Albom wrote:
А можно и свои числовые коды (0 - 866, 1 - 1251, 2 - utf8, ...) - вполне достаточно.

Ну, это уже известный спор натуральных ключей против искусственных. Спорить не будем.

_________________
Разработчик языка программирования Кантор


Top
   
PostPosted: Mon Dec 10, 2012 2:18 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
ilya
Code:
Ядро создаёт буфер и передаёт во владение приложению. Когда буфер будет ненужен приложение освободит его. Такое технически возможно в даный момент?
Это то же самое о чём я и писал.
Quote:
Нельзя давать право приложению дёргать ф-цию для чтения буфера когда хочет. Только когда пользователь нажал ctrl+c в одном окне и ctrl+v вдругом.
А ещё когда пользователь выдрал пункт в меню, а ещё когда нажал кнопочку "Скопировать" и т.д. Не надо вводить ненужные ограничения. Ни в одной системе этого нет. Есть устоявшийся набор правил и все их применяют.


Top
   
PostPosted: Mon Dec 10, 2012 2:36 am 
Offline

Joined: Tue Jul 26, 2011 11:03 pm
Posts: 62
Приложение должно иметь доступ к буферу обмена если пользователь этого захотел. Как ты это собираешся определять?
Иначе приложение прочитает любую инфу не предназначеную для него, по таймеру, чем меньше промежуток тем лучше.
С остальным согласен, только, ядро никогда его не увеличит буфер, потому как посылающие приложение знает истиный размер и соответсвено его передаст.


Top
   
PostPosted: Mon Dec 10, 2012 8:22 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Quote:
Приложение должно иметь доступ к буферу обмена если пользователь этого захотел. Как ты это собираешся определять?
Так, как и везде. В обработчике событий от клавиатуры. В приложении разумеется.


Last edited by Serge on Tue Dec 11, 2012 2:13 am, edited 1 time in total.

Top
   
PostPosted: Mon Dec 10, 2012 2:51 pm 
Offline

Joined: Tue Jul 26, 2011 11:03 pm
Posts: 62
Quote:
Так как и везде. В обработчике событий от клавиатуры. В приложении разумеется.
Опрос по таймеру попрежнему возможен так понимаю.


Top
   
PostPosted: Mon Dec 10, 2012 4:42 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1620
Serge wrote:
И про кодировку текста. Использовать unicode или нет ?

Я за принудительную UTF8-изацию вообще всего.

_________________
Сделаем мир лучше!


Top
   
PostPosted: Mon Dec 10, 2012 6:25 pm 
Offline

Joined: Fri Feb 18, 2011 3:13 pm
Posts: 201
CleverMouse wrote:
Я за принудительную UTF8-изацию вообще всего.


Я тоже.


Top
   
PostPosted: Mon Dec 10, 2012 7:09 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1150
CleverMouse wrote:
Я за принудительную UTF8-изацию вообще всего.

думаю многие за это

_________________
я лишь учусь


Top
   
PostPosted: Tue Dec 11, 2012 2:14 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
ilya wrote:
Опрос по таймеру по прежнему возможен так понимаю.
Оно нигде не запрещено. Вопрос зачем ?
Quote:
Я за принудительную UTF8-изацию вообще всего.
Кодировка переменной длины неудобна в обработке. Да и какой смысл, кириллица и всё не латинское ведь всё равно будет двумя байтами кодироваться.
Code:
Unicode UTF-8:
0x00000000 — 0x0000007F: 0xxxxxxx
0x00000080 — 0x000007FF: 110xxxxx 10xxxxxx
0x00000800 — 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx
0x00010000 — 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
. На цифрах и пробелах сэкономим немного и только.


Top
   
PostPosted: Tue Dec 11, 2012 8:36 am 
Offline

Joined: Fri Feb 18, 2011 3:13 pm
Posts: 201
Дело не в экономией. UTF-8 обратно совместима с ANSI. (например FASM прекрасно компилирует UTF-8 исходник с кириллических текстах внутри) Большая часть кода не меняется вообще.
А UTF-16, если обрабатывать правильно на самом деле тоже является переменной длины и тоже неудобна в обработке.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 184 posts ]  Go to page Previous 16 7 8 9 1013 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