Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2011, 13:21   #1
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию Вычисление значений.

Здравствуйте.
Подскажите в чем ошибка?
Вычисление значений происходит не корректно, или выдается ошибка
Код:
              Dim g As Integer, f As Integer, s As Integer
                g = TextBox2
                f = TextBox5
                s = TextBox8	
	        Selection.TypeText Text:=(g + f - s)
segail вне форума Ответить с цитированием
Старый 04.09.2011, 14:05   #2
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,167
По умолчанию

где и какая ошибка???
Ципихович Эндрю вне форума Ответить с цитированием
Старый 04.09.2011, 14:19   #3
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
где и какая ошибка???
При вычисление выдает ошибку Наприме:
Если в TextBox2 введено значение 11111, в TextBox5 значение 11111, в TextBox8 значение 11111
То суммы при вычисление должна быть 11111, у меня выходит 1111100000
segail вне форума Ответить с цитированием
Старый 04.09.2011, 15:10   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Походу g + f воспринимается как соединение текстовых строк, получается 1111111111, потом арифметически вычитается 11111, получается 1111100000.
У вас точно объявлены переменные? Попробуйте Long вместо Integer.

Или без промежуточных переменных
Код:
Selection.TypeText Text:=val(g) + val(f) - val(s)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 04.09.2011, 15:24   #5
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Походу g + f воспринимается как соединение текстовых строк, получается 1111111111, потом арифметически вычитается 11111, получается 1111100000.
У вас точно объявлены переменные? Попробуйте Long вместо Integer.

Или без промежуточных переменных
Код:
Selection.TypeText Text:=val(g) + val(f) - val(s)
С Long вычисляется нормально.
Спасибо.
segail вне форума Ответить с цитированием
Старый 04.09.2011, 15:45   #6
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,167
По умолчанию

Цитата:
Сообщение от segail Посмотреть сообщение
При вычисление выдает ошибку Наприме:
Если в TextBox2 введено значение 11111, в TextBox5 значение 11111, в TextBox8 значение 11111
То суммы при вычисление должна быть 11111, у меня выходит 1111100000
тогда мир перевернётся

Код:
 Dim g As Integer, f As Integer, s As Integer
                g = 11111
                f = 11111
                s = 11111
                ав = g + f - s
Проверяйте
я бы от греха писал не так
Код:
Dim g As Integer, f As Integer, s As Integer
______
Код:
Dim g As Integer 
Dim  f As Integer
Dim  s As Integer
Никому не навязываю, кода хоть и больше, надёжности больше

Последний раз редактировалось Ципихович Эндрю; 04.09.2011 в 15:48.
Ципихович Эндрю вне форума Ответить с цитированием
Старый 05.09.2011, 02:28   #7
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Ошибка в том, что происходит неявное преобразование строк в целочисленные и наоборот. Ну и кроме того, лучше объявить переменные как Long, чтобы избежать переполнения. Тогда функцию CInt нужно заменить на CLng.
Код:
Dim g As Integer, f As Integer, s As Integer
                g = CInt(TextBox2.Text)
                f = CInt(TextBox5.Text)
                s = CInt(TextBox8.Text)
	        Selection.TypeText Text:=CStr(g + f - s)
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление в произвольной точке x значений функций j-pavlov Общие вопросы C/C++ 10 10.01.2014 13:44
Вычисление массива значений функции(С++) mathe Помощь студентам 1 22.04.2009 15:11
Вычисление массива значений функции mathe Общие вопросы C/C++ 0 22.04.2009 10:27
Вычисление значений функции KREGI Помощь студентам 22 09.03.2009 16:41
вычисление значений 2-х таблиц gul БД в Delphi 1 17.06.2008 18:36