Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Немецкие буквы в MessageBox


AndreyRus ©   (2008-03-12 16:02:00) 

Всем привет!

Кто нибудь знает как выводить немецкий текст в MessageBox на Русской версии Windows?


Игорь Шевченко   (2008-03-13 00:18:00) [1]

Плохиш ©   (13.03.08 00:09) [19]

Можно и без Wide - только фигня получится.


Плохиш   (2008-03-13 00:09:00) [2]


> Игорь Шевченко ©   (12.03.08 23:36) [18]

А без Wide? ;-) Как аФФтар желает..


Игорь Шевченко   (2008-03-12 23:36:00) [3]

Вполне себе выводится:

procedure TForm1.Button1Click(Sender: TObject);
const
 S: array[0..11] of WideChar = (#$54,#$FC,#$72,#$65,#$6E,#32,
   #$F6,#$66, #$66,#$65,#$6E,#0);
begin
 MessageBoxW(HWND_DESKTOP, S, nil, MB_OK);
end;


Плохиш   (2008-03-12 22:31:00) [4]


> В короткие строки

В ansi-строки, имелось в виду :-)


Плохиш   (2008-03-12 22:30:00) [5]


> palva ©   (12.03.08 19:06) [15]

В короткие строки русские буквы с умляутами по любому не влазят.


palva   (2008-03-12 19:06:00) [6]

В любом случае нужно устанавливать в систему поддержку немецкого, чтобы были доступны соответствующие системные шрифты. Иначе умляуты пропадают.


Плохиш   (2008-03-12 17:44:00) [7]


> Andrey_rus   (12.03.08 17:42) [13]
>
> > Вот скажи мне и как это ты запихал в короткую строку символы,
>
> >  которых нет в текущей локали?
>
> Это не проблема.

Ну, ну.


Andrey_rus   (2008-03-12 17:42:00) [8]


> Вот скажи мне и как это ты запихал в короткую строку символы,
>  которых нет в текущей локали?

Это не проблема.


Плохиш   (2008-03-12 17:38:00) [9]


> Andrey_rus   (12.03.08 16:58) [10]
>
> > Кто мешает в переобразовать в Unicode?
>
> До собственно никто :)
> Просто хочется отделаться "малой кровью".


> Andrey_rus   (12.03.08 17:05) [11]
> Попробовал - SetThreadLocale(1031); для немецкого языка.
>
> Не помогает, умляуты выводятся русскими буквами.

Вот скажи мне и как это ты запихал в короткую строку символы, которых нет в текущей локали?


Andrey_rus   (2008-03-12 17:05:00) [10]

Попробовал - SetThreadLocale(1031); для немецкого языка.
Не помогает, умляуты выводятся русскими буквами. :(


Andrey_rus   (2008-03-12 16:58:00) [11]


> Кто мешает в переобразовать в Unicode?

До собственно никто :)
Просто хочется отделаться "малой кровью".
Нашел в Интернете:

program Project1;

uses
 Forms, Windows,
 Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
 SetThreadLocale(1049); // Russain
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;
end.


Сейчас попробую проверю...


Eraser   (2008-03-12 16:49:00) [12]

все по теме )


Andrey_rus   (2008-03-12 16:46:00) [13]

Eraser, Плохиш - пожалуйста, не пишите, если не по теме.


DVM   (2008-03-12 16:46:00) [14]


> Выводимый текст не в UNICODE!

Кто мешает в переобразовать в Unicode? Это единственный способ нормально это сделать.


Eraser   (2008-03-12 16:44:00) [15]

Delphi 2008 ))


Andrey_rus   (2008-03-12 16:39:00) [16]


> Delphi - 7

Хотя, причем здесь Delphi! :)


Andrey_rus   (2008-03-12 16:38:00) [17]

Delphi - 7


Andrey_rus   (2008-03-12 16:37:00) [18]


> MessageBoxW

Выводимый текст не в UNICODE!


Плохиш   (2008-03-12 16:16:00) [19]


> Кто нибудь знает как выводить немецкий текст в MessageBox
> на Русской версии Windows?

Да


DVM   (2008-03-12 16:04:00) [20]

MessageBoxW


Наверх

Титульная страница Поиск, карта сайта Написать письмо