про ошибки с синусами

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
hammer
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 04.06.2003 (Ср) 14:32

про ошибки с синусами

Сообщение hammer » 08.07.2003 (Вт) 15:25

Люди, я в шоке!
Ситуация следующая:
объявляю переменные
dim result as double
operand as double

в одной из процедур выполняю следующие действия:
Operand1 = CDbl(Display.Caption) ' конвертация текстового значения в лейбле в числовое
result = Sin(Operand)
при компиляции получил следующую ошибку
run-time error '13':
type mismath

и что бы это значило???
то же самое я получил с косинусами
как с этим бороться
заранее спаибо

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 08.07.2003 (Вт) 15:41

А не в том ли дело, что ты конвертишь в одну переменную, а синус делаешь от другой?

hammer
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 04.06.2003 (Ср) 14:32

Сообщение hammer » 08.07.2003 (Вт) 15:50

сорри
опечатался (привычка бездумно юзать мышь)
строка
Operand1 = CDbl(Display.Caption) ' конвертация текстового значения в лейбле в числовое
должна выглядеть
Operand = CDbl(Display.Caption) ' конвертация текстового значения в лейбле в числовое
но ошибка не отсюда, я проверял код

STING
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 19.06.2003 (Чт) 17:20

Re: про ошибки с синусами

Сообщение STING » 08.07.2003 (Вт) 18:39

hammer писал(а):Люди, я в шоке!
Ситуация следующая:
объявляю переменные
dim result as double
operand as double

в одной из процедур выполняю следующие действия:
Operand1 = CDbl(Display.Caption) ' конвертация текстового значения в лейбле в числовое
result = Sin(Operand)
при компиляции получил следующую ошибку
run-time error '13':
type mismath

и что бы это значило???
то же самое я получил с косинусами
как с этим бороться
заранее спаибо


В объявлении operand, ты случайно Dim не забыл поставить? Если нет, то можно посоветовать проверять Display.Caption на "численность" c помощью IsNumeric. А если Display.Caption=Null, то можно воспользоваться конкатенацией со значением по умолчанию, чтобы Null преобразовывать в 0. Короче вот код:
Код: Выделить всё
Dim operand As Double
Dim result As Double
If IsNumeric(0 & Display.Caption) Then
    operand = CDbl(0 & Display.Caption)
End If
result = Sin(operand)

hammer
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 04.06.2003 (Ср) 14:32

Сообщение hammer » 09.07.2003 (Ср) 16:47

я ради пробы написал строку
result = Sin(0)
он гад выдал такую же ошибку , хотя какое тут может быть несоответствие типов!!!!???

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 09.07.2003 (Ср) 16:55

Нажми F2, введи в поле поиска "sin" и сделай поиск. Возможно у тебя в проекте (или в подключенных библиотеках) есть функция с таким же названием, но принимающая другие параметры.
Lasciate ogni speranza, voi ch'entrate.

GoGosha
Постоялец
Постоялец
 
Сообщения: 642
Зарегистрирован: 02.08.2002 (Пт) 9:14
Откуда: Russia

Сообщение GoGosha » 10.07.2003 (Чт) 14:28

Несоответсвие типов не в этой строчке надоб

Operand = Val(Display.Caption)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 26

    TopList