Форум программистов, компьютерный форум, киберфорум
HACKER KAY
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

Калькулятор линейных выражений с интерфейсом на Batch

Запись от HACKER KAY размещена 17.09.2021 в 16:07
Показов 3909 Комментарии 0
Метки batch

Не буду томить и писать очень долгое вступление, поэтому сразу к делу.

Так как мы создаем приложение с минималистичным графическим интерфейсом (хоть каким), то это значит, что необходимо подобрать подходящую утилиту для всего этого. Искать долго не пришлось. Большинство кодеров, имевших дело с Batch знают Bat to Exe Converter - утилиту, которая позволяет компилировать исполняемые файлы на этом языке.

Что-ж, давайте сразу перейдём к самой сути - очень крутой особенностью этой программы является модуль "Extd", который сыграл большую роль в создании этого приложения. Благодаря ему мы будем выводить графические сообщения с функциями ввода и вывода текста.

Отлично! С этим разобрались. Перейдём к самому калькулятору. Создаём новый проект и вставляем туда следующий код:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
@(
    call=Echo Off
);
SetLocal
 
Set "Core=%extd%"
Set "WindowTitle=Calculator"
 
call:extd /InputBox "%WindowTitle%" "Enter math example for solution:" ""
call:extd /Trim "%result%" " "
If "%result%"=="" (Call :EmptyData & EndLocal & Exit /b 1);
Set /a "answer=%result%"
If "%answer%"=="" (Call :WrongFormat & EndLocal & Exit /b 1)
Echo [V] Example ^> %result%
Echo     Answer  ^> %answer%
call:extd /MessageBox "%WindowTitle%" "Answer: %answer%. Copy the result?" "4"
If "%result%"=="6" (
    call:extd /SetClipboardText %answer%
    Echo [V] Answer copied to clipboard.
);
Echo [V] Closing the program...
EndLocal
Exit /b 0
 
:EmptyData
Echo [X] Input data error.
call:extd /MessageBox "%WindowTitle%" "You haven't entered an example to solve it!" "16"
Exit /b
 
:WrongFormat
Echo [X] Error processing input data.
call:extd /MessageBox "%WindowTitle%" "Invalid math example format. Check for correctness and try again." "16"
Exit /b
Калькулятор будет считать числа с помощью готовой функции cmd.exe (решение математических выражений с помощью set /a). После вычислений будет предложено пользователю скопировать полученный результат. (опять же, всё это возможности Extd). Понимает же наша программка только целочисленные значения.

Настраиваем проект:
* Упаковщик > Включить сжатие UPX - (рекомендуется для меньшего размера EXE)
* Формат exe-файла > 32 бита | Окна (невидимые) - скрываем консоль от глаз пользователя, она ему ни к чему

Увы, исполняемый файл будет весить чуть более 300 КБ. Не смертельно, но всё же.



Если кто-то хочет сразу заценить результат, то публикую .EXE-файл в архиве. Если боитесь вирусов, то можете проверить этот файл через Bat to Exe Converter: Инструменты > Exe to Bat и посмотреть исходный код моего билда.
Вложения
Тип файла: zip LineCalculator.zip (309.5 Кб, 945 просмотров)
Метки batch
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru