![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Русский язык в win2000 server [D3, Win2k]
Карелин Артем © (2002-08-30 18:03:00)Проблема такая: формирую строку на русском языке и через буфер обмена и OLE пихаю в ексель. Так вот там выводится на русском только в том случае, если я ставлю шрифт b52. Причем это происходит, когда я вставляю через буфер в любую программу русский текст, сформированный из проги.
Что делать?
Anatoly Podgoretsky (2002-08-30 19:06:00) [1]Вот как обесчал нашел кое что в своих архивов, остальное не сохранилось
++++++++++++++++
А для Win 9x полезна такая вещь как CF_LOCALE.
С уважением: Александр Люлин ( http://everesteditor.chat.ru)
P. S. Пример. Для тех кто поймет.
if (Format = cf_Text) then begin
if (Win32Platform = VER_PLATFORM_WIN32_NT) then begin
MemUnicode := Tl3MemoryPool.Create(Self);
try
MemUnicode.Size := Mem.Size * 2;
MultiByteToWideChar(CP_RussianWin, 0, Mem.AsPointer, Mem.Size,
PWideChar(MemUnicode.AsPointer), Mem.Size);
SetClipboardData(cf_UnicodeText,
l3System.ReleaseHandle(MemUnicode.ReleaseHandle));
SetClipboardData(Format,
l3System.ReleaseHandle(Mem.ReleaseHandle));
finally
l3Free(MemUnicode);
end;{try..finally}
end else begin
SetClipboardData(Format,
l3System.ReleaseHandle(Mem.ReleaseHandle));
SetClipboardData(cf_Locale, Lang_Russian);
end;{..VER_PLATFORM_WIN32_NT..}
end // Format = cf_Text
+++++++++++++++++++
Карелин Артем (2002-08-30 18:07:00) [2]Может другое есть решение?
Reindeer Moss Eater (2002-08-30 18:06:00) [3]Например перед копированием в буфер смени keyboard layout на русскую