Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт сен 26, 2017 5:46 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 236 сообщений ]  На страницу Пред. 112 13 14 15 16 След.
Автор Сообщение
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Сб дек 10, 2016 4:48 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1177
Можно и так, в регистре или в структуре. Только наверно уже лучше везде использовать 0 = default, 1 = cp866, 2 = UTF-16, 3 = UTF-8. Думаю, чтение папки тоже ещё не поздно сменить, вряд ли кто-то уже использовал UTF-16.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Сб дек 10, 2016 4:52 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1023
Pathoswithin писал(а):
чтение папки тоже ещё не поздно сменить, вряд ли кто-то уже использовал UTF-16.
Вообще-то я использовал. А зачем там что-то менять? Сделай новую функцию тогда.
Pathoswithin писал(а):
Только наверно уже лучше везде использовать 0 = default, 1 = cp866, 2 = UTF-16, 3 = UTF-8.
Сейчас ведь так
Код:
  * +8: dword: encoding:
    * 0 = cp866 -> byte per char
    * 1 = UTF-16LE -> word per char
Просто добавить сюда 2 = UTF8.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Сб дек 10, 2016 5:13 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1177
Так в функциях 4 и 71.
1 будет значить именно ср866, а 0 продолжит поддерживать маркеры, может кому-то понравится этот подход.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Сб дек 10, 2016 5:29 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1023
Ну, в принципе, если всё равно функции будут новые, то и делать там можно как угодно.
Pathoswithin писал(а):
0 продолжит поддерживать маркеры, может кому-то понравится этот подход.
Дополнительные возможности — это хорошо. Если будет время, тогда может и я добавлю SetEncoding.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Сб дек 10, 2016 5:47 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1177
Нет, кодировка для чтения папки проверяется глубоко в драйверах ФС, так что либо менять, либо не менять.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Чт дек 15, 2016 9:26 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1177
revision #6798

Осталось окончательно решить с argv[0].


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Сб дек 17, 2016 1:55 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1023
Если теперь можно передавать параметры в различных кодировках, то было бы логичным сделать возможность также и получать их в удобной для конкретного приложения кодировке.

Pathoswithin, ты сейчас сделал не для всех функций.
Хотелось бы ещё эти
Код:
{18.6}    Function  SaveRamDisk(Path: PChar): Dword; StdCall; External 'KolibriOS';
{37.4}    Function  LoadCursorFromFile(Path: PChar): Dword; StdCall; External 'KolibriOS';
{48.8}    Function  SetSkin(Path: PChar): Integer; StdCall; External 'KolibriOS';
{71.1}    Procedure SetWindowCaption(Caption: PChar); StdCall; External 'KolibriOS';

А вот эти вроде бы не нужно
Код:
{68.16}   Function  GetDriver(Name: PChar): Dword; StdCall; External 'KolibriOS';
{68.21}   Function  LoadDriver(Name, CmdLine: PChar): Dword; StdCall; External 'KolibriOS';
{68.22}   Function  SharedMemoryOpen(Name: PChar; Bytes: Dword; Flags: Dword): Pointer; StdCall; External 'KolibriOS';
{68.23}   Function  SharedMemoryClose(Name: PChar): Dword; StdCall; External 'KolibriOS';


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Вс дек 18, 2016 6:19 am 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1177
revision #6800

18.6 думаю тоже не нужно.
71.1 сложно сделать иначе, нужно где-то хранить кодировку.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Вс дек 18, 2016 10:25 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1023
Pathoswithin писал(а):
71.1 сложно сделать иначе, нужно где-то хранить кодировку.
Можно добавить новое поле APPDATA.Encoding.
Ты ведь всё равно оставил способ задания кодировки посредством префиксов. По умолчанию без префикса это ASCII. Можно потом будет добавить новую сисфункцию SetEncoding, которая будет изменять значение кодировки по умолчанию, то есть если префикс отсутствует.
Pathoswithin писал(а):
18.6 думаю тоже не нужно.
Ну это, конечно, не так уж необходимо, чтобы использовать для SaveRamDisk юникодный путь. Просто другие подобные функции продублированы, а эта нет.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Ср дек 21, 2016 3:26 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1177
revision #6802

Так что с argv[0], маркер сильно мешает?


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Ср дек 21, 2016 4:19 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1023
Для argv[0] кодировку можно задавать в заголовке приложения вместо поля version, которое по факту не используется. Там как раз version = 1, а это ASCII.
Вот из справки
Цитата:
Format of an absolute path:
/base/number/dir1/dir2/.../dirn/file,
А маркер можно добавлять, если encoding в заголовке будет равно 0. Только тут не совсем логично получается. Мы же не передаём, а получаем, то есть, маркер и не нужен вовсе, а просто нужна строка в желаемой кодировке. Ну и пусть для параметров тоже encoding учитывается.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Ср дек 21, 2016 8:00 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
Pathoswithin
Если маркер будет в формате "/<байт маркера>/остальной путь", то нормально. Главное, чтобы путь оставался абсолютным, т.е начинался с / Тоже самое для текущего каталога.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Ср дек 21, 2016 8:55 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1023
Serge писал(а):
Если маркер будет в формате
А он вообще зачем? Разве без маркера ты не будешь знать кодировку?
Serge писал(а):
Тоже самое для текущего каталога.
А для текущего у нас теперь вот http://websvn.kolibrios.org/filedetails ... #line-1723 Причём, кодировку можно также задать и посредством префиксов(это если указать encoding = 0).


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Ср дек 21, 2016 9:57 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
0CodErr писал(а):
А он вообще зачем? Разве без маркера ты не будешь знать кодировку?
Вопрос был про маркер. Если маркер будет определять кодировку, как её без маркера узнать.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Ср дек 21, 2016 10:19 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1023
Serge, cтранные ты вопросы задаёшь :lol:
Конкретно сейчас это UTF8.
Но её можно будет(надеюсь :) ) задавать в заголовке приложения. Опять же, если ты её сам задал, то как ты можешь её не знать?


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 236 сообщений ]  На страницу Пред. 112 13 14 15 16 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB