НатальяCAT

Не работает калькулятор (программа внизу)

12.03.2010, 21:17. Показов 2353. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub CommandButton1_Click()
Dim a, b As Integer
If Not IsNumeric(TextBox1) Or Not IsNumeric(TextBox2) Then
MsgBox "Неверные данные"
 
Exit Sub
End If
a = CDbl(TextBox1)
b = CDbl(TextBox2)
If chekbox1 = True Then TextBox3 = a + b Else TextBox3 = ""
If chekbox2 Then TextBox4 = a - b Else TextBox4 = ""
If chekbox4 Then TextBox6 = a * b Else TextBox6 = ""
If chekbox5 Then TextBox7 = a ^ b Else TextBox7 = ""
If chekbox3 Then
If b <> 0 Then TextBox5 = a / b Else TextBox5 = "Деление на 0"
Else
 
TextBox5 = ""
End If
End Sub

Делала калькуль через Username.Там соотвественно 2 Label, 5 Frame, в них Textbox и checkbox. Ну и комманд батон ВЫЧИСЛИТЬ.Она меня и подвела-не работает. после нажатия на вычислить выдает фразу НЕВЕРНЫЕ ДАННЫЕ. Т.е. моя програмка застопорилась в начале на фразах isnumeric
Что я там неверно ВВЕЛА?
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.03.2010, 21:17
Ответы с готовыми решениями:

Неправильно работает небольшая программа-калькулятор
это калькулятор фунтов, шиллингов и пенсов по старой системе. он должен уметь складывать, вычитать суммы, а также, умножать на число....

Объясните как работает программа)формульный калькулятор , пожалуйста!
вот исходник unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ...

Программа "Калькулятор" работает не корректно
Доброго времени суток программисты. Столкнулся вот с такой проблемой: калькулятор выдает дополнительное число. Во вложении видно, что при...

12
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
12.03.2010, 21:48
Это VB 6.0 ?
1
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
13.03.2010, 01:07
Я бы попробовал сделать не так
вместо
Visual Basic
1
2
If Not IsNumeric(TextBox1) Or Not IsNumeric(TextBox2) Then
MsgBox "Неверные данные"
я бы написал

Visual Basic
1
2
3
4
If IsNumeric(textbox1)=false or IsNumeric(textbox2)=false then
MsgBox("Неверные данные!")
Exit Sub
End if
Это код для ВБ 6
Если я не ошибаюсь,то IsNumeric возвращает True либо False )
0
 Аватар для Toxa33rus
3921 / 922 / 125
Регистрация: 16.04.2009
Сообщений: 1,962
13.03.2010, 13:51
Цитата Сообщение от YuraAAA Посмотреть сообщение
Я бы попробовал сделать не так
Это одно и тоже, даже вариант НатальяCAT более правильный.
Код вроде правильный, надо смотреть на то что Вы вводите в поля. Я тут сейчас потестил функцию и был удивлен: оказывается "12.3" это НЕ число, а "12,3" число. Есть подозрение что функция учитывает региональные настройки.
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
13.03.2010, 14:06
Цитата Сообщение от НатальяCAT Посмотреть сообщение
Visual Basic
1
2
3
If chekbox4 Then TextBox6 = a * b Else TextBox6 = "" 
If chekbox5 Then TextBox7 = a ^ b Else TextBox7 = ""
If chekbox3 Then
Кстати...а не Checkbox ? у вас буква пропущена ))
0
НатальяCAT
13.03.2010, 22:05
Да, чекбокс я неверно написала))))Но до него дело не дошло,программа стопорится на "Неверных данных"

Добавлено через 1 минуту
я бы написал

Visual Basic
1
2
3
4
If IsNumeric(textbox1)=false or IsNumeric(textbox2)=false then
MsgBox("Неверные данные!")
Exit Sub
End if
не не прокатило(((
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
13.03.2010, 22:06
если зто VB 6.0. то все работает, только
"chekbox1 = True" === либо chekbox1.Value = True либо просто chekbox1 ,
да и вот "TextBox1" , "chekbox2" как то странно смотрятся


а с "12.3" я "." меняю при вводе на ","
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
14.03.2010, 00:59
Тоже сделал калькулятор по тому же принципу,всё ок) и действительно,в 6 VB используется text1 и Check1 ))
0
 Аватар для (Lim)
6 / 6 / 0
Регистрация: 03.03.2010
Сообщений: 45
15.03.2010, 07:25
Visual Basic
1
2
3
Function Zapt(Stroka) As Variant
Zapt = Replace(Stroka, ",", ".")
End Function
вставьте себе такую функцию для автоматической замены запятой на точку. Функция не спасает, конечно, от двух запятых в введенной строке (а через textbpx вы получаете именно строку) и от прочих ошибок ввода пользователем.
или, еще проще:
Visual Basic
1
2
a = CDbl(Replace(TextBox1.text,",","."))
b = CDbl(Replace(TextBox2.text,",","."))
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
15.03.2010, 09:26
(Lim)
в таких случаях проще, наверное, запретить ввод некорректных символов
как думаеш
0
 Аватар для (Lim)
6 / 6 / 0
Регистрация: 03.03.2010
Сообщений: 45
15.03.2010, 09:31
Пользователь может не понять, почему ему запрещают вводить запятую. А, если втихую менять запятые на точки, то тогда все равно, что вводят. С допклавиатуры, откуда обычно вводят по быстрому числовые значения, у меня, к примеру, вводится именно запятая и было бы неудобно вводить оттуда числа, а разделитель - с основной (в русской раскладке так происходит).
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
15.03.2010, 09:36
согласен, но я имел ввиду нечто иное
1 запрет ввода всех символов кроме цифр и, точки, минус и зпт.
2 после ввода одной зпт. запретить повторный ввод зпт.
0
 Аватар для (Lim)
6 / 6 / 0
Регистрация: 03.03.2010
Сообщений: 45
15.03.2010, 09:45
ну да, конечно, можно добавить. Обработка строки в событии text_keypress или text_change. Все изыски - на усмотрение автора.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.03.2010, 09:45
Помогаю со студенческими работами здесь

Round меняет transform: scale, а ещё animate.css не работает внизу страницы
http://neorix.ru/ В общем внизу в блоке &quot;Портфолио&quot; при наведении мышкой блок меняет размер, но при этом у рядом стоящих блоков...

Как убрать надпись внизу блога - сайт работает на wordpress? Или поменять на свою
Как убрать надпись внизу блога - сайт работает на wordpress? Или поменять на свою. Тема - TwentyEleven.

Программа калькулятор
Программа для сложения и вычитание двоичных чисел в обратном коде.

Программа-калькулятор
Помогите, пожалуйста, разработать программу-калькулятор. Калькулятор позволяет использовать четыре арифметических действия, для...

Программа-калькулятор
Решил сегодня начать изучать паскаль. Нашел на 1 сайте пару уроков, почитал и решил создать простейшую программку исходя из прочитанных...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru