Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2009, 23:00   #1
Pedro
Форумчанин
 
Аватар для Pedro
 
Регистрация: 25.03.2007
Сообщений: 166
По умолчанию Unicode

Здраствуйте! Почитал много тем на форуме, но так и не получилось загрузить в мемо файл в кодировке юникод. Если сохраняю в кодировке Utf8 то при загрузке в мемо не отображаются казахские буквы. А когда просто в юникоде - несколько иероглифов. Подскажите что делать.
Pedro вне форума Ответить с цитированием
Старый 07.03.2009, 23:05   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Если вы используете среду младше 2009, то для этого необходимо использовать только сторонние компоненты с поддержкой Unicode. В 2009-й версии среды поддержка unicode реализована изначально
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 08.03.2009, 08:53   #3
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Создайте окно текстовое с использованием CreateWindowW и SetWindowTextW и все будек ок.
BOBAH13 вне форума Ответить с цитированием
Старый 08.03.2009, 09:50   #4
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

ВОВАН13 а подробнее можно по теме, или ссылку.Меня тоже интересует этот вопрос в Дельфи 7.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 08.03.2009, 10:23   #5
eskander
Пользователь
 
Аватар для eskander
 
Регистрация: 01.03.2009
Сообщений: 29
По умолчанию

Возьмите готовые компоненты с поддержкой юникода, например TNT http://www.torry.net/vcl/edits/diffe...dedEditors.zip
eskander вне форума Ответить с цитированием
Старый 08.03.2009, 11:16   #6
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Ну к примеру, щас разрабатываю один продукт, и пришлось делать диалговые окна где будет уникод... К сожалению, нужны были супер пупер эффекты, поэтому я прибег к разработки radio box, check box, и еще кучи контролов само ручно где использовать GDI+ - DrawString, а ей параметром идет WideString - что и есть уникод.

Ссылки как таковой незнаю, знаю что надо регить свой класс Windows.RegisterClassW, потом в обработчике своем вызывать DefWindowProcW, ну и создавать как я сказал выше окно именно с CreateWindowW, таким образом виндовс будет работать с окном как с Unicode. Так же посмотрите в MSDN про стили класса EDIT (вроде так). Т.е. по сути можно на легке создать окно-редактор текста в уникод. Если это для вас так сложно то щас могу попробовать сделать.

Лично я щас так же на семерке, думаю переходить на 2009, там почитал не мало преимуществ.

Код:
var
  Edit: HWND;
  wStr: WideString;
begin

  Edit := CreateWindowW('EDIT', '', WS_CHILD or WS_VISIBLE or WS_BORDER or
    ES_AUTOVSCROLL or ES_LEFT or ES_MULTILINE,
    10, 10, 200, 120,
    Handle, DWord(-1), HInstance, NIL);

  wStr := 'Hello Wolrd! Привет Мир!';

  SetWindowTextW(Edit, PWCHAR(wStr));
end;

Последний раз редактировалось BOBAH13; 08.03.2009 в 11:27.
BOBAH13 вне форума Ответить с цитированием
Старый 08.03.2009, 17:30   #7
AmXSe
 
Регистрация: 21.05.2008
Сообщений: 3
По умолчанию

памоему в дельфе есть стандартные функции, типа Utf8ToUnicode() и подобные..
AmXSe вне форума Ответить с цитированием
Старый 08.03.2009, 18:40   #8
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Сообщение от AmXSe Посмотреть сообщение
памоему в дельфе есть стандартные функции, типа Utf8ToUnicode() и подобные..
А причем тут это, вы хоть задумались ?
BOBAH13 вне форума Ответить с цитированием
Старый 13.03.2009, 10:50   #9
inndim
Пользователь
 
Регистрация: 08.06.2008
Сообщений: 74
По умолчанию

Цитата:
Сообщение от Pedro Посмотреть сообщение
А когда просто в юникоде - несколько иероглифов. Подскажите что делать.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  Buffer: WideString;
  Stream: TFileStream;
begin
  Stream := TFileStream.Create('your file.txt', fmOpenRead);
  try
    SetLength(buffer, Stream.Size);
    Stream.Read(Buffer[1], Stream.Size);
    Memo1.Lines.Text := Buffer;
  finally
    Stream.Free;
  end;
inndim вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Unicode в Delphi Fedorovich БД в Delphi 2 31.10.2008 21:34
Unicode и Delphi BOBAH13 Общие вопросы Delphi 3 27.09.2008 13:08
Unicode в indy9 Mixasik Работа с сетью в Delphi 3 25.08.2008 15:44
unicode и printf Legat Общие вопросы C/C++ 9 06.07.2008 13:41
Unicode }{UTPUU Общие вопросы Delphi 4 02.04.2007 15:21