-
Собственно сабж. Приложения только для Win2K и выше чтобы только юникод без анси вообще, безо всяких преобразований.
-
-
Я указываю
А инифайлы грузят все равно анси
Caption тоже анси. Это с чем только столкнулся.
-
это мне каждому компоненту надо еще дополнительно задавать SetUnicode(True);
-
Символ UNICODE_CTRLS предназначен для превращения визуальных объектов TControl в окна, работающие непосредственно в кодировке Unicode. Данная работа выполнена практически полностью (хотя периодически обнаруживаются некоторые неполадки, но они устраняются). Достаточно включить в проект эту опцию, и приложение практически полностью будет поддерживать кодировки UNICODE. Все вызовы к API-функциям перенаправляются на UNICODE-версии этих функций (с окончанием W). Контролы типа TREEVIEW и LISTVIEW начинают работать с UNICODE-версиями оконных сообщений. И так далее.
из Книги о KOL
http://kolmck.net/docs/KOLBook.rarhttp://s1.ipicture.ru/uploads/20120216/RxovV3TK.png
-
контрол.SetUnicode(TRUE);
Если использовать мск то автоматически будет назначено.
-
Да я Unicode_ctrls дефайном задаю.
А как же текст сам, он же в анси, дельфа уникод не понимает до 2009.
В студии пишу в проекте Use Unicode, и к каждому тексту добавляю L"Текст".
И там препроцессор переводит из анси в уникод. А в паскале ведь отсутствует препроцессор. Книгу по кол постоянно читаю. Что-то мне библиотека все больше и больше нравится.
-
Попробывал в mck, d7 winXP sp2. Грузит из ini без проблем. Без разницы как он был сохранен - cp1251 или utf16-le. Шрифт контролов - arial unicode, иероглифы есть.
-
> В студии пишу в проекте Use Unicode, и к каждому тексту
> добавляю L"Текст".
var s:Widestring;
-
да, и не понял, как понять 'дельфа уникод не понимает до
2 009.' вроде же с 3 чтоли версии юникод прекрасно понимает. А вообще Владимир давно всё продумал. Есть KOLString, который в зависимости от флагов будет ansi или wide. И компилятор далеко не тупой.
-
Я имею ввиду редактор в делфи он дает редактировать только анси.
Мекрософт выходили из положения препроцессором.
-
Делфи начиная с 2009 все уникод Text, Caption et... и редактор кода редактирует извините за тавтологию и в анси и в уникоде, и еще в нескольких кодировках. А не только вызов функций в W на конце.
-
да, сам редактор не понимает юникод, но трудно представить себе ситуацию в которой могут понадобится спецсимволы.
Со включеным флагом UNICODE_CTRLS при использовании mck все контролы используют WideString
Так как
var S: WideStrig = 'текст'; // есть юникод
Компилятор правильно приведет. Проверьте в отладчике.
-
> CBR919RR © (20.02.12 21:09) [10]
ты че по китайски пишеш в дельфе?
-
А вообще Владимир давно всё продумал. Есть KOLString,
Это не я придумал. Я просто применил. Конкретно не помню кто именно придумал.
-
Ничего не выходит
UNICODE_CTRLS на месте
И файл деклараций есть.
Бросаю на форму RichEdit
Пишу элементарный код в кнопке
procedure TForm1.Button1Click(Sender: PObj);
var
S:WideString;
//S:KOLString;
begin
S:= #$74C1;
RichEdit1.Font.FontName:='Arial Unicode MS';
RichEdit1.Font.FontHeight:=30;
RichEdit1.Add(S);
end;
Вместо иероглифа знак вопроса. Причем пробовал и на 7 делфи и на 2009
Подставлял все возможные юникодовские шрифты
Ноль эмоций. Выводит знак вопроса.
Ну что я делаю не так?
-
> Ну что я делаю не так?
Вот это:
> RichEdit1.Add(S);
RichEdit1.RE_Text[reTextUnicode, False] := S;
-
Бесполезно. Вообще очищается и всё. И ни одного символа, даже тех, которые были.
А как на канвас выводить? А в метку? В другие компоненты?
в RichEdit по идее юникодовский текст при загрузке должен сразу же отобразится, но этого не происходит.
Вы бы написали полноценный примерчик. Я же не первый кто спрашивает как это сделать.
-
И тишина... Значит невозможно включить юникод.
-
все операции с текстом производятся посредством RE_ функций,а ты тупо назначил текст контролу,которомы это по барабану