· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.ASSEMBLER —› FASM + русский язык

Посл.отвђт Сообщенiе


Дата: Авг 7, 2003 21:42:18

Как заставить FASM писать на окне (меню, кнопки, надписи) по-русски?
В коде всё нормально.


Дата: Авг 8, 2003 00:23:34 · Поправил: DEMON84

Попробуй выбрать другой font, мож в этом дело.
Сам я с такой проблемой не встречался...


Дата: Авг 8, 2003 02:41:46

DJ KARIES
Нерусскую винду используете что-ли?


Дата: Авг 8, 2003 05:36:59

Дык в примерах к fasm'у меняю надписи на кириллицу.
Не работает.
Win32\Dialog.asm

resource 37, LANG_RUSSIAN, demonstration
...
dialogitem 'BUTTON','ЙЦУКЕНГШ',ID_OK,85,150,80,24,WS_VISIBLE+WS_TABSTOP+BS_DEFPUS HBUTTON
...

Должно быть 'ЙЦУКЕНГШ'.
А выходит 'EOOEAIAO'.

Я пока чайник в в этих вопросах.

Спасибо за помощь.


Дата: Авг 8, 2003 06:28:10

Есть ли где примеры с русским интерфейсом?


Дата: Авг 8, 2003 06:48:46

DJ KARIES

Решение лежит в конфигурации системы (если программа только для себя) и/или работа с UNICODEoм.

В ХP это лечится так - Control Panel\Regional and Language optoins\advanced\(language for non-unicode)=Russian


Дата: Авг 8, 2003 07:37:52

DJ KARIES
В обработчике WM_INITDIALOG создайте подходящий фонт (через CreateFont, например) и отошлите его каждому руссифицируемому контролу через WM_SETFONT. Могу привести пример, но только для MASM32.


Дата: Авг 8, 2003 09:56:25 · Поправил: Безпощадный даос

Э, как я вижу глюк только в ресурсах происходит?
Если так надо макрос юникода du "русифицировать"
macro du [str]
 {
   local ..count,..wchar
   virtual at 0
     du str
     ..count = $ shr 1
   end virtual
   repeat ..count
     virtual at 0
       du str
       load ..wchar word from (%-1)*2
     end virtual
   ; -> begin conversion part
     if ..wchar<00C0h | ..wchar>00FFh
       dw ..wchar
     else
       db ..wchar-00B0h,4
     end if
   ; -> end conversion part
   end repeat
 }

struc du [str] {du str}
(активнее используем тэг кода - стесняться не надо, все свои - прим. модератора)


Дата: Авг 8, 2003 19:47:52

Мной замечен небольшой глюк.

Если строка текста начинается с маленькой буквы "я", то эта надпись на диалоге не будет выведена :(

Может быть кто-нибудь знает в чем загвоздка ?


Дата: Авг 9, 2003 10:18:32

Насчёт "я" это глюк любой винды.
Код этого символа 255.


Дата: Авг 9, 2003 12:07:12

2 dreamer2: Большое Спасибо ;)
Сделал rus.inc и кинул в %include%.
Теперь пишу "include '%include%\rus.inc'".
Искал определение "du". Нигде не нашёл.
Его нет в инклюдах? Оно зашито в компилер?

2 Quantum: у меня русские w2kProSp3, wxpPro, w98SE.
2 Exzazet: это не выход.

ЗЫ: блин, никогда не думал, что в асме макросы - самая сильная часть.
Пишу свой компилер в p-код.
Полностью на макросах.
Думаю, что те же команды "mov, add" можно сделать макросами с кодами проца.
В итоге компилер получится простейший, а язык мощный.
Даже реализация стека, jmp и т.д. будет на макросах.
Регистров не будет, точнее это будут обычные переменные.
Пишу на Delphi, думаю на FASM'е поизвращаться. ;)


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.088