Версия для печати темы
Форум «Всё о Паскале» _ Assembler _ Кнопочный калькулятор
Автор: Jluna 10.02.2009 23:13
На самом деле не представляю как с помощью ассемблера нарисовать кнопочный калькулятор как в самом Виндоусе... но задали такую задачку...
Вопрос... как сделать на ассемблере его?
Автор: volvo 12.02.2009 1:58
Цитата
как с помощью ассемблера нарисовать кнопочный калькулятор как в самом Виндоусе...
В аттаче - рабочий 16-ричный калькулятор, компилируется MASM 6.14.8444. Разбирайся, как создается калькулятор... На ошибки особенно сильно не тестировал, переносилось это с одной очень старой программы на С, так что... Если начнет глючить - говори, где...
Прикрепленные файлы
calc.zip ( 3.15 килобайт )
Кол-во скачиваний: 468
Автор: Jluna 17.02.2009 17:56
Большое спасибо
но дело в том, что тот масм который есть у меня не может открыть этот файл(
Да и когда просто просматриваю код в блокноте он описан слегка непонятно
... можно попросить комментарии к каждой функции?
Автор: volvo 17.02.2009 18:15
Цитата
дело в том, что тот масм который есть у меня не может открыть этот файл(
А зачем MASM должен открывать его? MASM должен компилировать. А смотреть файл можешь любым текст. редактором.
Цитата
Да и когда просто просматриваю код в блокноте он описан слегка непонятно
Что именно непонятно? Ты занималась вообще когда-нибудь написанием программ под Windows на Ассемблере? Вообще под Windows писала? Что такое сообщение Windows, функция окна, диалоговое окно, функция диалогового окна, ... знаешь?
Автор: Jluna 17.02.2009 20:24
На самом деле знаю только азы программирования на ассемблере...
в коде не привычно то, что стоит "." перед функциями... есть подозрение что программа написана используя те функции которые еще не изучала, но есть учебник и я разберусь...НО в этой программе используются библиотеки... у меня их нету...
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 17.02.2009 20:44
Цитата
в этой программе используются библиотеки... у меня их нету...
Что значит "нету"? У тебя что, в папке masm32 нет поддиректории \lib и \include? Возможно, у тебя сам ассемблер установлен в другом месте (не другом диске), поменяй пути тогда...
Если все же нет - значит, у тебя неправильный
мёд MASM, качай с офсайта правильный: http://www.masm32.com/masmdl.htm , отключайся от интернета, отключай антивирус, и устанавливай ассемблер (иногда из-за ложной тревоги антивирус не дает установщику отработать корректно, и некоторые файлы после этого отсутствуют; поэтому на время установки рекомендуется антивирус отключать)...
Цитата
в коде не привычно то, что стоит "." перед функциями...
Это ты про .IF .ELSEIF .ENDIF? Так это не функции, это директивы. Без них-то как ты хочешь программировать? Все вручную что-ли через cmp?
![smile.gif](style_emoticons/default/smile.gif)
Цитата
и что означает знак "==" ?
Означает равенство... Как в С/С++...
Автор: Jluna 17.02.2009 20:55
Да... чувствую я себя полным ламером)) но большое спасибо за обьяснения...
как оказалось...да...ссемблер установлен не там...спасибо за ссылку...щас все установлю...
точка смущает...эм...ну потомучто до этого лабораторные на ассемблере мы писали без них...без точек я имею ввиду)) дериктивы все оставались теже...
В общем спасибо за науку... щас попробую запустить программу)
Автор: Jluna 17.02.2009 22:21
хм...
программа выдает ошибки с непонятным текстом...
Такое ощущение что она ненаходит всеже какието библиотеки...
Вопрос...а у вас она работает ...эта программа... потомучто она у меня не компилируется)
Автор: Fanat 17.02.2009 23:15
Цитата(Jluna @ 17.02.2009 22:21)
![*](style_images/1/post_snapback.gif)
хм...
программа выдает ошибки с непонятным текстом...
Такое ощущение что она ненаходит всеже какието библиотеки...
Вопрос...а у вас она работает ...эта программа... потомучто она у меня не компилируется)
Сорри, что влезаю.
Jluna, у меня работает (я компилировал ткнув на батник).
Volvo, очень удивило количество кода.
Автор: volvo 18.02.2009 1:43
Цитата
очень удивило количество кода.
Чего именно тебя удивило? Это ж Windows-приложение все-таки, обработки событий, вызовы функций API, все остальные необходимые вещи... Если б я не воспользовался блоком switch/endsw, ты бы еще больше удивился
![smile.gif](style_emoticons/default/smile.gif)
Попробуй написать это же самое на чистом WinAPI на Сях или Дельфи, ты увидишь, что кода будет практически столько же...
Цитата
Вопрос...а у вас она работает ...эта программа...
Я неработающие программы не выкладываю...
Автор: Lapp 18.02.2009 10:43
М |
|
Jluna, пожалуйста, прочти Правила Форума (ссылка вверху страницы). Особенно обрати внимание на пп. 1.13 и 1.14.
PS Аватар твой не очень сильно нпрягает, можешь оставить (с условием убрать сразу при возражениях других администраторов/модераторов). Картинку из подписи убрать срочно.
|
Автор: Fanat 18.02.2009 15:48
Цитата(volvo @ 18.02.2009 1:43)
![*](style_images/1/post_snapback.gif)
Попробуй написать это же самое на чистом WinAPI на Сях или Дельфи, ты увидишь, что кода будет практически столько же...
Вот я именно об этом и подумал. Кода было бы столько же, если не больше.
Автор: Jluna 22.02.2009 21:57
Кода на делфи, как и на С столькоже)) +- 2-3 строчки...))
а вот с ассемблером у меня видно что то не то...наверно неправильно установила ассемблер..т.к ошибку показывает даже при функции простого вывода текста... буду разбираться...
Автор: Гость 21.12.2009 23:58
Цитата(volvo @ 12.02.2009 1:58)
![*](style_images/1/post_snapback.gif)
В аттаче - рабочий 16-ричный калькулятор, компилируется MASM 6.14.8444. Разбирайся, как создается калькулятор... На ошибки особенно сильно не тестировал, переносилось это с одной очень старой программы на С, так что... Если начнет глючить - говори, где...
Спасибо за калькулятор, подскажы пож как с файлом calc.rc поступать.) куда ево девать шоб он подключился к калькулятору
Автор: volvo 22.12.2009 0:34
Ничего никуда не надо девать... Распаковываешь архив, и запускаешь bat-файл. Все, больше ничего делать не надо, компилятор ресурсов сам разберется, что делать с RC-файлом...