Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.17;
Скачать: CL | DM;

Вниз

Как вывести сообщение на ангилском? (FormatMessage)   Найти похожие ветки 

 
17Landgraf   (2006-08-01 18:37) [0]

Добрый день! Подскажите, пожалуйста, как добиться, чтобы ниже приведенный код, показывал сообщение на англиском языке? На данный момент сообщение выводится на русском языке.



function CodeOfError(ErrorCode: Integer): string;

var
 Len: Integer;
 Buffer: array[0..255] of Char;
begin
 Len := FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM or
   FORMAT_MESSAGE_ARGUMENT_ARRAY, nil, ErrorCode, 0 , Buffer,
   SizeOf(Buffer), nil);
 while (Len > 0) and (Buffer[Len - 1] in [ #0..#32, "."]) do Dec(Len);
 SetString(Result, Buffer, Len);

end;



 
Ketmar ©   (2006-08-01 18:52) [1]

поставить английскую винду?


 
17Landgraf   (2006-08-01 19:06) [2]

У FormatMessage есть параметр, который вроде, как отвечает за используемый, при выводе сообщения язык.

DWORD FormatMessage(
 DWORD dwFlags,
 LPCVOID lpSource,
 DWORD dwMessageId,
 DWORD dwLanguageId,
 LPTSTR lpBuffer,
 DWORD nSize,
 va_list* Arguments
);

На MSDN-е нашел список языковых идентификаторов - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/nls_238z.asp

А вот как применить эти идентификаторы?  Например, есть след. идентификатор:

Identifier
0x0809   English (United Kingdom)  en-GB  Latn  1252  ENG


 
Ketmar ©   (2006-08-01 19:18) [3]

а вот так и применить. идентификатор языка -- просто число. $409 -- американский английский. $419 -- русский. $422 -- украинский. %-)
и искать их не надо, их сама винда знает. %-)

только всё равно ничего не выйдет -- у локализованых виндов нет ресурсов с сообщениями для других языков. обычно только для языка, на который локализовано.


 
17Landgraf   (2006-08-01 19:28) [4]

Обидно конечно :( Но нет безвыходных ситуаций, будем искать! Может ктонить из жителей славного форума сталкивался с такой задачей ;-)


 
medved_68 ©   (2006-08-02 09:55) [5]


> 17Landgraf


> Но нет безвыходных ситуаций

Это точно. А что мешает по коду ошибки формировать свое сообщение и выводить???? Можно хоть на ненецком автономном:)))

З.Ы. А почему на английском??? Чтобы наш пользователь проникся духом уважения к зарубежному программингу???


 
17Landgraf   (2006-08-02 10:44) [6]

Удалено модератором


 
Ketmar ©   (2006-08-02 10:50) [7]

> [6] 17Landgraf   (02.08.06 10:44)

а можно вообще end user"у сообщения об ошибках винды не показывать. такие сообщения обычно пишутся в лог, который отправляют разработчику. а юзер пусть видит нечто вроде "ашыпка! пашли письмо на деревню!"


 
sniknik ©   (2006-08-03 11:11) [8]

> Но нет безвыходных ситуаций, будем искать! Может ктонить из жителей славного форума сталкивался с такой задачей ;-)
легко, хотя с подобной задачей и не сталкивался. ставь английскую винду, после на нее MUI (мультиленгвиже чегото там ;), и у тебя в ней будет 2 типа ресурсов на английском и том какой вариант в MUI выбереш...

теоретически MUI можно поставить и поверх руской винды... по идее должно сработать, но вот пробовать никогда не приходилось.


 
sniknik ©   (2006-08-03 11:13) [9]

в смысле, когда поверх русской, надо доставлять английский интефейс.


 
ancara ©   (2006-08-03 23:06) [10]

Удалено модератором
Примечание: Offtopic



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

Текущий архив: 2006.12.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.041 c
11-1141321073
Maloric
2006-03-02 20:37
2006.12.17
Помогите разобраться с компонентами


15-1164341134
Slider007
2006-11-24 07:05
2006.12.17
С днем рождения ! 24 ноября


1-1162539533
Gear
2006-11-03 10:38
2006.12.17
Как правильно закрыть все потоки закрывая программу?


15-1164368061
sergey888
2006-11-24 14:34
2006.12.17
Что-то я не пойму про НДС


15-1164270914
TauRus
2006-11-23 11:35
2006.12.17
Вычисление SIN, как еще можно сделать?