Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
1 / 1 / 1
Регистрация: 03.03.2010
Сообщений: 124

Калькулятор

28.10.2010, 14:07. Показов 2516. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Возникла трудность: Есть калькулятор, как сделать так, чтобы счет и запись цифр производить с правой клавиатуру, или вообще с клавиатуры.
Надо чтобы в окне Ричэдит отоброжались нажатые клавиши с клавиатуры и действия(/,*,-,+, и Enter - равно) тоже.
Спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.10.2010, 14:07
Ответы с готовыми решениями:

калькулятор
Помогите пожайлуйста с объяснением 4. Организовать в программе калькулятор. В калькуляторе предусмотреть только «кнопочный» набор...

Калькулятор C++
Простейший калькулятор. Помогите пожалуйста.

Калькулятор
Пытаюсь написать калькулятор но чтоб он сразу считал строку, например 5+5*2-1 по идее =14, но мой калькулятор не знает приоритеты...

11
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
28.10.2010, 14:09
клавишу NumLock надо нажать, что бы лампочка над боковой клавиатурой загорелась
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
28.10.2010, 14:18
Как-то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void __fastcall TForm1::RichEdit1KeyPress(TObject *Sender, char &Key)
{
Set <char, 0, 255> Dig;
Dig << '0' <<'1' << '2' << '3' <<'4' << '5' << '6' << '7' << '8' << '9'<< '*' << '=' << '/' << '-' << '+' <<'\b'<<'\r'<<VK_ESCAPE;
 
bool ValidKey = (Dig.Contains(Key)) || ((Key == 10) && (GetKeyState(VK_CONTROL) & 0x8000));
 
if (!ValidKey)
  {
    Application->MessageBox("В это поле, необходимо вводить только цифры!!!!!!","Внимание",MB_ICONWARNING);
    Key = 0;
  }
 
}
0
1 / 1 / 1
Регистрация: 03.03.2010
Сообщений: 124
28.10.2010, 17:31  [ТС]
Sasha , код подашел на половину... Дело в том, что у меня калькулятор с одним окном ричэдит... У меня при включении калькулятора в окне появляется ноль и при нажатии на цифру, опять же не с клавиатуры. Можно установить переключатель, что я и сделаю... Но сложность скорее всего возникнит при действиях(+,-,/,*,=,%.). Надо чтобы эти действия производились так же как и клавиатыры калькулятора, и с обычной клавиатуры (NumLock).
oxotnik, лампочка горит...
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
28.10.2010, 17:50
Так там вводится и с клавиатуры и с калькулятора, я проверял перед тем как давать тебе код.

Уточни в чё м у тебя загвоздка?
1
1 / 1 / 1
Регистрация: 03.03.2010
Сообщений: 124
28.10.2010, 18:48  [ТС]
Вводится, когда ставить курсор... У просто немного иная ситуация.... При включение калькулятора в окне ричэдит автоматически появляется ноль. При нажатии цифры в калькуляторе, ноль превращается, если так можно выразится в эту цифру например 5. Так же должно и с клавиатуру... Но цифры не ставятся...
Все как в обычном калькуляторе и действия тоже должно быть, но только все это должно делаться к обычной клавиатуры.
0
 Аватар для GaFBich
22 / 22 / 5
Регистрация: 18.03.2010
Сообщений: 331
28.10.2010, 19:52
Цитата Сообщение от Вонх Посмотреть сообщение
Вводится, когда ставить курсор... У просто немного иная ситуация.... При включение калькулятора в окне ричэдит автоматически появляется ноль. При нажатии цифры в калькуляторе, ноль превращается, если так можно выразится в эту цифру например 5. Так же должно и с клавиатуру... Но цифры не ставятся...
Все как в обычном калькуляторе и действия тоже должно быть, но только все это должно делаться к обычной клавиатуры.
Вам необходимо окну передать фокус.

C++
1
Edit1->SetFocus();
0
1 / 1 / 1
Регистрация: 03.03.2010
Сообщений: 124
28.10.2010, 20:12  [ТС]
Я передавал... Потом отошел от этой идеи... Сейчас когда вы написали, решил еще подумать...
0
 Аватар для GaFBich
22 / 22 / 5
Регистрация: 18.03.2010
Сообщений: 331
28.10.2010, 20:16
Цитата Сообщение от Вонх Посмотреть сообщение
Я передавал... Потом отошел от этой идеи... Сейчас когда вы написали, решил еще подумать...
А в чем конкретно проблема, нет фокуса на элементе или чего.
Вот к примеру при загрузке формы фокус передаете вашему компоненту

C++
1
2
3
4
void __fastcall TForm1::FormShow(TObject *Sender)
{
Edit1->SetFocus();
}
0
1 / 1 / 1
Регистрация: 03.03.2010
Сообщений: 124
29.10.2010, 06:36  [ТС]
Цыфры вводятся, но действия не делаются...
0
 Аватар для GaFBich
22 / 22 / 5
Регистрация: 18.03.2010
Сообщений: 331
29.10.2010, 07:37
Цитата Сообщение от Вонх Посмотреть сообщение
Цыфры вводятся, но действия не делаются...
Может обработчика никакого там нет или он не работает должным образом, у тебя калькулировать должно после нажатия Enter или тапаешь по кнопке =?
0
1 / 1 / 1
Регистрация: 03.03.2010
Сообщений: 124
29.10.2010, 09:10  [ТС]
Если с калькулятора, то равно... Все действия работают только на самом калькуляторе... С клавиатуры, я вот сейчас сделал, с переключателем на клавиатуру рабочего стола... Сейчас при нажатии переключателя появляется курсор и вводятся цифры, но не делаются действия... Пока вот это, загвозка
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.10.2010, 09:10
Помогаю со студенческими работами здесь

Калькулятор
Всем привет! Прошу помощи в решении следущей задачи: Создать программу (оболочку) на Turbo C++ для 4-рёх операций (сложения,...

Калькулятор
Я сижу создаю калькулятор в С++Builder 6, и он мне в определенном месте выдает ошибку Вот мой скрипт

Калькулятор С++
Здравствуйте. У меня возникла проблема в обсчете чисел с плавающей запятой.При добавлении,вычитании,умножении и делении получаю бешеный...

Калькулятор
Всем доброго времени суток ... Такой вопрос: как сделать калькулятор на С++ Builder с помощью 1го обработчика событий ...т.е. например...

Калькулятор
Простите если такая тема уже есть! У меня есть калькулятор(очень простой) мне его надо изменить: 1. Считать не только целочисленные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru