![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 3 Всего: 9 |
Почитав по этой теме все что имелось на форуме, почитал статью Джоэла Спольски, немножко ознакомился с тем что есть в данный момент для разработчика на дельфи, а страх все таки есть! ;(
Чтоже не хватает-то для счастья? 1. Непонятно, как я должен объявлять UNICODE-строки константы, пример для ANSI-строк это было бы так: ConnectMessage : string = 'Connect Successful'; 2. Какую версию UNICODE поддерживают стандартные WinAPI-функции с постфиксом 'W' ? Имеются же UTF-8, UTF-16, более того есть строки которые не требуют указывания порядка в начале юникод строки, такие как $FFEF, как с ними быть? 3. Имеются уже стандартные TLabel, TButton и др. но они работают с ANSI, как лучше всего сделать мне в проект, чтобы и юникод был ;) и чтобы не изобрести велосипед и чтобы не пришлось переделывать в следующей версии Delphi, где обещается поддержка UNICODE ? 4. Какие помимо творения Майка Лишке и TNT есть средства для разработчика на Дельфи? |
|||
|
||||
| Alexeis |
|
||||||||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Или же
UTF-16. 2 байта на символ. Просто делать все свои строки юникодными, Delphi сам делает преобразование юникод - ansi
Библиотека KOL&MCK -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||||||
|
|||||||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 3 Всего: 9 |
На ваш взгляд, что в нем хорошего ? ;) |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Хорошего - малый размер программ.
Также можно подождпть до весны - в 2008-й контролы станут юникодные. Также можно писать под Delphi.NET - там все строки только юникодные. |
|||
|
||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 3 Всего: 9 |
Как известно что "побочным" эффектом кодировки UTF-8 является, то что она практически полностью совпадается с ANSI для американцев! К примеру есть компания которая имеет программы с консольным интерфейсом под Dos или Win 9x\NT, эти программы спокойно понимают американский текст в ANSI кодировке. Так вот если разрабатывать WEB-сервис отдающий запросу от клиентских программ - текст в UTF-8 or UTF-7 кодировке, то когда клиентские программы получившие текст отдадут программам с консольным интерфейсом, то те спокойно переварят этот текст, т.к. он совместим с ANSI и конторе ненужно будет новые программы по обработке текста ;) Вывод: Америкосы нас обскакали и тут, т.к. они экономят на создании новых программ. Вопрос: Можно ли перевести WinAPI для работы с UTF-8 ? |
|||
|
||||
| a_n_d_y |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 23.10.2006 Где: Ukraine::Kiev Репутация: нет Всего: 1 |
А чем собсна плох ТНТ?
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
"перевести" или "привести"? -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
UTF-8 - кодировка хранения и передачи.
Для работы она непригодна. Конечно можно пытаться с ней работать, но это мазохизм и извращение. |
|||
|
||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 3 Всего: 9 |
Snowy, из-за твоих слов еще один вопрос возник:
Если UTF-8 удобно хранить, а работать удобней в UTF-16, то как наилучшим образом, на твой взгляд, лучше разрабатывать программу? |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Я не говорил, что в UTF-8 удобно хранить.
Это "удобно" только англоговорящим - вроде анси, но, если вдруг будут непонятные буковки, то вс равно будет работать... Формат хранения определяется целью. Как правило, сохранённые данные всегда конвертируются из формата хранения в формат использования. То есть, как и что хранить - определяется для каждой программы персонально. А что касается строк, то постепенно идёт переход от ANSI к UTF-16. В 2008-м наступит окончательный переход - анси строки останутся только для обратной совместимости. А на данный момент я рекомендую вариант, который используется в KOL.
А анси или юникод - определяется в момент компиляции. Таким образом можно сделать даже 2 варианта программы - анси и юникот, простой пересборкой с нужной директивой компилятора. В Delphi2008 тип string станет по умолчанию unicode. И любой текущий проект будет собран там уже в юникод версию. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |