Помощь - Поиск - Пользователи - Календарь
Полная версия: Кнопочный калькулятор
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ассемблер
Jluna
На самом деле не представляю как с помощью ассемблера нарисовать кнопочный калькулятор как в самом Виндоусе... но задали такую задачку... blink.gif
Вопрос... как сделать на ассемблере его?
volvo
Цитата
как с помощью ассемблера нарисовать кнопочный калькулятор как в самом Виндоусе...
В аттаче - рабочий 16-ричный калькулятор, компилируется MASM 6.14.8444. Разбирайся, как создается калькулятор... На ошибки особенно сильно не тестировал, переносилось это с одной очень старой программы на С, так что... Если начнет глючить - говори, где...
Jluna
Большое спасибо give_rose.gif
но дело в том, что тот масм который есть у меня не может открыть этот файл(
Да и когда просто просматриваю код в блокноте он описан слегка непонятно blink.gif ... можно попросить комментарии к каждой функции?
volvo
Цитата
дело в том, что тот масм который есть у меня не может открыть этот файл(
А зачем MASM должен открывать его? MASM должен компилировать. А смотреть файл можешь любым текст. редактором.

Цитата
Да и когда просто просматриваю код в блокноте он описан слегка непонятно
Что именно непонятно? Ты занималась вообще когда-нибудь написанием программ под Windows на Ассемблере? Вообще под Windows писала? Что такое сообщение Windows, функция окна, диалоговое окно, функция диалогового окна, ... знаешь?
Jluna
На самом деле знаю только азы программирования на ассемблере...
в коде не привычно то, что стоит "." перед функциями... есть подозрение что программа написана используя те функции которые еще не изучала, но есть учебник и я разберусь...НО в этой программе используются библиотеки... у меня их нету...

include D:\masm32\include\windows.inc
include D:\masm32\include\user32.inc
include D:\masm32\include\kernel32.inc
include D:\masm32\include\shell32.inc
include D:\masm32\include\comctl32.inc
include D:\masm32\macros\macros.asm

includelib D:\masm32\lib\user32.lib
includelib D:\masm32\lib\kernel32.lib
includelib D:\masm32\lib\shell32.lib
includelib D:\masm32\lib\gdi32.lib
includelib D:\masm32\lib\comctl32.lib

и что означает знак "==" ?

.elseif (nOperation == FUNCTION_POWER)
volvo
Цитата
в этой программе используются библиотеки... у меня их нету...
Что значит "нету"? У тебя что, в папке masm32 нет поддиректории \lib и \include? Возможно, у тебя сам ассемблер установлен в другом месте (не другом диске), поменяй пути тогда...

Если все же нет - значит, у тебя неправильный мёд MASM, качай с офсайта правильный: http://www.masm32.com/masmdl.htm , отключайся от интернета, отключай антивирус, и устанавливай ассемблер (иногда из-за ложной тревоги антивирус не дает установщику отработать корректно, и некоторые файлы после этого отсутствуют; поэтому на время установки рекомендуется антивирус отключать)...

Цитата
в коде не привычно то, что стоит "." перед функциями...
Это ты про .IF .ELSEIF .ENDIF? Так это не функции, это директивы. Без них-то как ты хочешь программировать? Все вручную что-ли через cmp? smile.gif

Цитата
и что означает знак "==" ?
Означает равенство... Как в С/С++...
Jluna
Да... чувствую я себя полным ламером)) но большое спасибо за обьяснения...
как оказалось...да...ссемблер установлен не там...спасибо за ссылку...щас все установлю...
точка смущает...эм...ну потомучто до этого лабораторные на ассемблере мы писали без них...без точек я имею ввиду)) дериктивы все оставались теже...
В общем спасибо за науку... щас попробую запустить программу) give_rose.gif
Jluna
хм...
программа выдает ошибки с непонятным текстом...
Такое ощущение что она ненаходит всеже какието библиотеки...
Вопрос...а у вас она работает ...эта программа... потомучто она у меня не компилируется)
Fanat
Цитата(Jluna @ 17.02.2009 22:21) *

хм...
программа выдает ошибки с непонятным текстом...
Такое ощущение что она ненаходит всеже какието библиотеки...
Вопрос...а у вас она работает ...эта программа... потомучто она у меня не компилируется)



Сорри, что влезаю. Jluna, у меня работает (я компилировал ткнув на батник). smile.gif

Volvo, очень удивило количество кода.
volvo
Цитата
очень удивило количество кода.
Чего именно тебя удивило? Это ж Windows-приложение все-таки, обработки событий, вызовы функций API, все остальные необходимые вещи... Если б я не воспользовался блоком switch/endsw, ты бы еще больше удивился smile.gif Попробуй написать это же самое на чистом WinAPI на Сях или Дельфи, ты увидишь, что кода будет практически столько же...

Цитата
Вопрос...а у вас она работает ...эта программа...
Я неработающие программы не выкладываю...
Lapp
М
Jluna, пожалуйста, прочти Правила Форума (ссылка вверху страницы). Особенно обрати внимание на пп. 1.13 и 1.14.

PS
Аватар твой не очень сильно нпрягает, можешь оставить (с условием убрать сразу при возражениях других администраторов/модераторов). Картинку из подписи убрать срочно.

Fanat
Цитата(volvo @ 18.02.2009 1:43) *

Попробуй написать это же самое на чистом WinAPI на Сях или Дельфи, ты увидишь, что кода будет практически столько же...


Вот я именно об этом и подумал. Кода было бы столько же, если не больше. smile.gif
Jluna
Кода на делфи, как и на С столькоже)) +- 2-3 строчки...))
а вот с ассемблером у меня видно что то не то...наверно неправильно установила ассемблер..т.к ошибку показывает даже при функции простого вывода текста... буду разбираться...
Гость
Цитата(volvo @ 12.02.2009 1:58) *

В аттаче - рабочий 16-ричный калькулятор, компилируется MASM 6.14.8444. Разбирайся, как создается калькулятор... На ошибки особенно сильно не тестировал, переносилось это с одной очень старой программы на С, так что... Если начнет глючить - говори, где...


Спасибо за калькулятор, подскажы пож как с файлом calc.rc поступать.) куда ево девать шоб он подключился к калькулятору
volvo
Ничего никуда не надо девать... Распаковываешь архив, и запускаешь bat-файл. Все, больше ничего делать не надо, компилятор ресурсов сам разберется, что делать с RC-файлом...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.