Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];

Вниз

Перевод проекта на UNICODE...   Найти похожие ветки 

 
MTsv DN ©   (2006-10-26 18:04) [0]

Начал переводить свой проект... Объявил UNICODE_CTRLS естественно многое перестало работать... Меня сейчас интересует вот что, достаточно ли заменить String на KOLString, или надо на KOLChar...


 
Vladimir Kladov   (2006-10-26 19:07) [1]

перестало работать - в KOL? (где?)

PChar -> KOLChar, String -> KOLString.


 
MTsv DN ©   (2006-10-26 19:53) [2]

> перестало работать - в KOL? (где?)
>
> PChar -> KOLChar, String -> KOLString.

Нет, в KOL все в поряде... В проекте... Но мне не это щас интересно 8) Я Вам отправил письмо с описание, посмотрите...


 
MTsv DN ©   (2006-10-26 22:58) [3]

> Нет, в KOL все в поряде...
Наврал... KOL.PAS все-таки пришлось править... Немного правда... Таким образом, отображение китайского (или японского :) ) работает нормально... Правда пока еще только отображение...


 
L`Autour ©   (2006-10-27 07:38) [4]

Кстати вопрос (пока небыло возможности проверить):
KOLMemo теперь с Unicode работать может?


 
MTsv DN ©   (2006-10-27 09:03) [5]

> Кстати вопрос (пока небыло возможности проверить):
> KOLMemo теперь с Unicode работать может?

Работает? Не знаю, а вот отображается ЮНИКОД в Memo нормально...


 
L`Autour ©   (2006-10-27 13:30) [6]

Меня интересует отображение китайского и других иероглифических текстов. Шрифт ArialUnicode я выставил. Но все, что не соответствует символам ANSI-1251 отображается знаками вопросов.


 
L`Autour ©   (2006-10-27 13:33) [7]

Нормально Unicode мне удалось отобразить только в ListView


 
Vladimir Kladov   (2006-10-27 21:57) [8]

В 2.41 будет лучшая поддержка Unicode. Пред-версию я отправил посмотреть, окончательно оформить постараюсь в выходные.

На фронте GTK тоже есть успехи: канва уже немного умеет рисовать, paintbox (кисть и карандаш по-минимуму поддержаны). Перехожу к шрифтам.


 
MTsv DN ©   (2006-10-27 22:45) [9]

А я хотел Вам только что "доделки" отправить 8) Сейчас протестирую, что Вы отправили...


 
MTsv DN ©   (2006-10-27 22:51) [10]

2 Vladimir Kladov
Владимир, опять xxxD6.DCR "затесался" 8( И здесь уже продолжение не помогает... Изменяются ТОЛЬКО: delphicommctrl.inc, KOL.PAS, KOLadd.pas...далее "облом"...


 
Vedun   (2006-10-27 23:08) [11]


> опять xxxD6.DCR "затесался"

А раньше ничего такого вроде не требовалось. Или я чего-то не знаю?


 
MTsv DN ©   (2006-10-27 23:24) [12]

2 Vedun
Это просто ошибка патча... Это уже было в "2.40b -> 2.40c"...


 
Vladimir Kladov   (2006-10-28 16:55) [13]

После сегодняшнего сражения, надеюсь, поддержка UNICODE продвинулась так далеко, что порт WinCE упрощается вдвое. Т.е. она теперь максимальная (если не считать возможных недоглядов, кода перелопачено очень много). Сейчас буду готовить обновление. Кажется, придется выкладывать архивы целиком: обновление делать бесполезно, слишком много различий.


 
Vladimir Kladov   (2006-10-28 20:38) [14]

Ну вот, пошел закачивать версию. Обновления на этот раз в виде upd делать не буду: идет перераспределение модулей по архивам, смысла большого нет. Изменений так много, что единый upd маленьким сделать не удается.


 
L`Autour ©   (2006-10-30 15:04) [15]

Что-то ничего у меня не получилось с новым KOL. В компоненты KOLListBox и в KOLListVAlue добавляю Unicode-строки (китайские иероглифы). Но отображаться все равно не хотят, да и считывать обратно в оригинальном виде тоже .


 
MTsv DN ©   (2006-10-30 15:08) [16]

> L`Autour, посмотри в теме 2.41 я там, кое-что подправил... Сейчас, отправил Владимиру Кладову, upd-файл, там еще кое-какие доработки...


 
Vladimir Kladov   (2006-10-30 16:22) [17]

я ничего не получал, но могу уже встречный upd отправлять, или выкладывать. listbox и editbox - исправлены, исправления требуются и в самом kol.pas, и в KOL_unicode.inc.


 
MTsv DN ©   (2006-10-30 18:57) [18]

> я ничего не получал
Мож у Вас спам-фильтр стоит? Я за последние 3 дня Вам 4 письма отправлял...

> но могу уже встречный upd отправлять
Посмотрите мой сначала:
http://www.kolnmck.ru/files/beta/241beta_241beta2.zip


 
MTsv DN ©   (2006-10-30 19:03) [19]

P.S. Исправления, к 241beta_unstable... Той что на сервере...

Исправления:
1. Все что я упоминал в теме 2.41
2. Работа с FileStream"ами
3. Опечатки при импорте функций. Например, Вы определили функцию "....W", что-нибудь типа "..._LoadBitmapW", а импортировали функцию "..._LoadBitmapA"...
4. И еще кое-что по мелочи...

P.P.S. Апдейт, специально выложил для Владимира Кладова... Пока он не утвердит изменения, Вы пользуетесь им на свой страх и риск 8)

P.P.P.S. Владимир, и все-таки, почему при использовании UNICODE_CTRLS. На BitBtn не отрисовывается Bitmap из ImageList... Сам не разобрался...


 
Vladimir Kladov   (2006-10-30 19:30) [20]

конечно, стоит. Я например, поставил в черный список все письма, которые приходят на kol-bin-owner (какие-то спамеры занесли его в базу рассылок, и чего только не шлют на этот адрес...).

А я как раз и с этим bitbtn разобрался. Не в нем, конечно дело: в image list загрузка из ресурса не проходила. В общем, сливать надо. Файл загрузил, посмотрю.


 
MTsv DN ©   (2006-10-30 19:49) [21]

> А я как раз и с этим bitbtn разобрался. Не в нем, конечно
> дело: в image list загрузка из ресурса не проходила. В общем,
>  сливать надо. Файл загрузил, посмотрю.

Я image list тоже вроде правил... Хотя вро равно не запахало, а вот загрузка Bitmap исправил, теперь стандартная демка (где рожа отображается) работает...


 
Vladimir Kladov   (2006-10-30 20:48) [22]

Или upd неправильно подготовлен, или не от той версии. Надо вот как: в 2 директории положить в 1) полную исходную, со всеми нужными и не очень нужными файлами, во 2) только те файлы, которые считаете нужным обновить. Тогда имея полный набор = 1) я смогу получить исправленные файлы.


 
MTsv DN ©   (2006-10-30 20:54) [23]

Только что скачал с вашего сервера kol.zip... Все обновилось нормально...


 
MTsv DN ©   (2006-10-30 20:55) [24]

> Или upd неправильно подготовлен, или не от той версии. Надо
> вот как: в 2 директории положить в 1) полную исходную, со
> всеми нужными и не очень нужными файлами, во 2) только те
> файлы, которые считаете нужным обновить. Тогда имея полный
> набор = 1) я смогу получить исправленные файлы.

Я знаю 8) Я так и делал...


 
MTsv DN ©   (2006-10-30 20:56) [25]

KOL.PAS - 1704459 байт
KOL_ASM.INC - 428315 байт
delphicommctrl.inc - 56736 байт


 
MTsv DN ©   (2006-10-30 21:04) [26]

Сам накосячил здесь (это уже из моего upd):
function SHFileOperationW(const lpFileOp: TSHFileOpStructW): Integer; stdcall;
        external "shell32.dll" name "SHFileOperationA";

function SHFileOperation{}(const lpFileOp: TSHFileOpStructA): Integer; stdcall;
        external "shell32.dll" name "SHFileOperationW";


 
MTsv DN ©   (2006-10-30 21:06) [27]

И здесь:
function GetWorkDir : KOLstring;
var Buf: array[ 0..MAX_PATH ] of Char; //надо KOLChar
begin
 GetCurrentDirectory( MAX_PATH + 1, @ Buf[ 0 ] );
 Result := IncludeTrailingPathDelimiter( PKOLChar( @ Buf[ 0 ] ) );
end;


 
MTsv DN ©   (2006-10-30 21:10) [28]

А здесь перестарался:

{$IFNDEF UNICODE_CTRLS} // Удалить
function CreateWindowEx(dwExStyle: DWORD; lpClassName: PChar;
 lpWindowName: PChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer;
 hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;
 stdcall; external user32 name "CreateWindowExA";
{$ENDIF}                         // Удалить
{$ENDIF}


 
MTsv DN ©   (2006-10-30 21:16) [29]

И в некоторых функциях, забыл:
var Buf: String; -> var Buf: KOLString;

Например в:
function TStrList.LoadFromFile(const FileName: KOLstring): Boolean;
function TStrList.AppendToFile(const FileName: KOLstring): Boolean;
function TStrList.SaveToFile(const FileName: KOLstring): Boolean;


Ну, вроде все свои "косяк" упомянул...


 
MTsv DN ©   (2006-10-30 21:47) [30]


> А здесь перестарался:
>
> {$IFNDEF UNICODE_CTRLS} // Удалить
> function CreateWindowEx(dwExStyle: DWORD; lpClassName: PChar;
>
>  lpWindowName: PChar; dwStyle: DWORD; X, Y, nWidth, nHeight:
>  Integer;
>  hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam:
>  Pointer): HWND;
>  stdcall; external user32 name "CreateWindowExA";
> {$ENDIF}                         // Удалить
> {$ENDIF}

Ошибся... Здесь ВСЕ В ПОРЯДКЕ!!!


 
Vladimir Kladov   (2006-10-31 04:51) [31]

точно разные, мой косяк. Забыл, что обновление не делал, и взял папку из приготовленных к обновлению файлов, которой не удалось воспользоваться. А когда проверял на финише, еще делал правки. Вечером закончу сливать.


 
Vladimir Kladov   (2006-10-31 15:28) [32]

вроде слил. И еще куча исправлений. Взял "какой-попало-проект" (свой) и перевел в unicode. Были еще проблемы с комбо, листбоксом, апплетом, листвью (как раз OnLVData понадобилась). Пришлось еще типов добавить, иначе Delphi упорно хочет создать событие с параметрами Char и String вместо KOLChar и KOLString (а если KOL_Char = type Char, то тогда может). Сейчас вернусь, обновленьице делать буду.


 
Vladimir Kladov   (2006-10-31 21:23) [33]

Сейчас, сейчас. Света не было.


 
L`Autour ©   (2006-11-01 06:59) [34]

Пришлось еще исправить:

KOL.PAS:
3348: aAddText: procedure( Sender: PControl; const S: string);

После этого еще все String в объекте REReadText поменять на KOLString

Обращения к функциям типа:
LoadCursor( Inst, ResName );
LoadBitmap( Instance, Rsrc );

Начали матюгаться что хотят PAnsiChar параметры вместо PWideChar, хотя ссылаются нормально на:

KOL_unicode.inc:
function LoadCursor; external user32 name "LoadCursorW";

Пришлось сделать в них принудительный PAnsiChar:
LoadCursor( Inst, PAnsiChar(ResName));

И наконец-то я увидел в своей проге китайские иероглифы.


 
L`Autour ©   (2006-11-01 07:12) [35]

Кстати в редакторе AkelPad есть такая особенность установки шрифта. Выбранный шрифт меняет отображение только тех символов, которые в нем поддерживаются, а остальные отображаются вроде с помощью Arial Unicode MS.
Такое отображение текста можно добавить в KOL?


 
MTsv DN ©   (2006-11-01 11:34) [36]


> Начали матюгаться что хотят PAnsiChar параметры вместо PWideChar,
>  хотя ссылаются нормально на:
>
> KOL_unicode.inc:
> function LoadCursor; external user32 name "LoadCursorW";

Надо новый KOL_unicode.inc скачать было... Там добавлений море...


 
L`Autour ©   (2006-11-01 12:34) [37]

Мда. Просто, хотя его и обновили, а дату рядом изменить забыли.


 
vampir_infernal   (2006-11-30 08:54) [38]

Занялся переводом нескольких своих проектов на unicode. Возникло несколько вопросов:
1) какие шрифты нужны для отображения юникод-символов на форме\контролах?
2) есть метод объекта GetSomething, который возвращает строку. В этой строке заведомо не могут содержаться юникод-символы (возвращаемые значения объявлены константами в коде и содержат только символы латиницы). Есть ли необходимость менять этот метод на GetSomething: KOLString, или можно оставить GetSomething: string?


 
L`Autour ©   (2006-11-30 09:27) [39]

vampir_infernal
1) Все шрифты и так Unicode, только содержащие конкретные кодовые страницы [неподдерживаемые сиволы отображаются вопросами]. Наиболее полный "Arial Unicode MS". RichEdit умеет при необходимости подключает дполнительный шрифт.


 
MTsv DN ©   (2006-11-30 09:48) [40]

1. L"Autour прав... Есть,конечно,только-UNICODE шрифты,но в остальных,поддержка определяется наличием кодовой страницы. Но и это еще не все... Для корректного отображения,например,китайского,японского или арабского языка,надо включить систему отображения их в приложениях. Для этого,в "Панель Управления->Языки и Регион. настройки->Дополнительно" устанавливаются два флажка (их лэйбла не помню,а компа под рукой нет). Вставляешь диск с Виндой и ждешь... Установится ~230мб.
2. Если 100% уверен,что UNICODE-символов не будет,то можно и String поставить...



Страницы: 1 2 вся ветка

Форум: "KOL";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.045 c
15-1181424843
Руслан
2007-06-10 01:34
2007.07.08
Импорт из Word


2-1181903874
лЕвый поЗер
2007-06-15 14:37
2007.07.08
esc


15-1181048206
Desdechado
2007-06-05 16:56
2007.07.08
Как подключить bink video?


3-1175791322
Kley
2007-04-05 20:42
2007.07.08
Фильтрация при открытии формы


2-1180797638
Core Thousand
2007-06-02 19:20
2007.07.08
wm_geticon





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский