Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как писать греческими буквами?


Автор: DelvishDamned 13.5.2009, 16:17
Добрый день! Подскажите пожалуйста каким образом вставлять в RichEdit (Memo или еще что-то подобное) символы греческого алфавита? Из буфера обмена в программу символы вставляются. А как автоматизировать процесс? Например, при выводе рассчитанного значения чтобы строка выглядела не E=12345 а Σ=12345

Автор: Quartz 13.5.2009, 17:02
DelvishDamned, вариантов несколько:
1. Перейти на Delphi 2009;
2. Установить и использовать TNT Unicode Controls;
3. Если задачка разовая, то можно поработать напрямую с MS RichEdit Control'ом, например так:
Код

type
  TSetTextEx = packed record
    flags    : DWORD;  // Flags (see the ST_XXX defines)
    codepage : DWORD;  // Code page for translation (CP_ACP for sys default, 1200 for Unicode, -1 for control default)
  end;

const
  EM_SETTEXTEX = (WM_USER + 97);

procedure TForm1.FormCreate(Sender: TObject);
var
  s   : WideString;
  ste : TSetTextEx;
begin
  ste.codepage := 1200;  //Unicode
  s := WideFormat( #$03A3'=%d', [12345] ); //$03A3 - код символа Σ
  SendMessage( RichEdit1.Handle, EM_SETTEXTEX, Integer(@ste), Integer(@s[1]) );
end;

Автор: DelvishDamned 13.5.2009, 17:09
Цитата(Quartz @  13.5.2009,  17:02 Найти цитируемый пост)
3. Если задачка разовая, то можно поработать напрямую с MS RichEdit Control'ом, например так:


Спасибо, третий вариант подходит больше остальных. Только теперь возникает другой вопрос: как узнать коды греческих символов?  smile  и еще: возможно ли писать в нижнем и верхнем индексах таким способом?

Автор: CodeMonkey 13.5.2009, 17:21
Цитата
как узнать коды греческих символов?

Пуск/Программы/Стандартные/Служебные/Таблица символов

Автор: DelvishDamned 13.5.2009, 17:34
Цитата(CodeMonkey @  13.5.2009,  17:21 Найти цитируемый пост)
Пуск/Программы/Стандартные/Служебные/Таблица символов


Точно  smile  Что-то я протупил... Ну а как быть чтобы записать в нижний/верхний индекс? Например что-то вроде MRКЛ = 

Автор: DelvishDamned 13.5.2009, 17:50
Не, что-то не выходит  smile  Вместо сигмы пишет J

Автор: DelvishDamned 13.5.2009, 19:05
Ладно, TNT вполне помогли. Всем спасибо за помощь!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)