2010-04-23 1 views
8

В настоящее время мы конвертируем проект Delphi 2007 в Delphi 2010. Мы уже использовали Unicode (через WideStrings и TNT Unicode Controls).Delphi 2010 Широкие функции и строковые функции

Я ожидал замены всех функций Wide, например. WideUpperCase, с их эквивалентом, например. UpperCase, но они не работают одинаково. Например, WideUpperCase работает по-разному от UpperCase. WideUpperCase правильно верхует Campañas, но UpperCase оставляет - в нижнем регистре.

Есть ли другие отличия, о которых я должен знать? например работают ли широкоформатные форматы и форматы?

Благодаря

ответ

9

Вы должны использовать функцию ToUpper из блока символов в верхний регистр Юникода строки. Или вы можете использовать AnsiUpperCase, если вам нужно поддерживать общую базу кода для версий Unicode и Unicode Delphi - AnsiUpperCase - это функция Ansi для Delphi 2007 и ранее, а также функция unicode для Delphi 2009 и выше.

1

Именование действительно плохо (из-за совместимости с более старыми версиями). Я предлагаю вам прочитать cos для каждой строковой функции, которую вы, возможно, захотите использовать, и проверить, работает ли она с Unicode или нет.