Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> квадратное уравнение, ошибка в коде 
V
    Опции темы
Fenixma
Дата 8.12.2006, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 8.12.2006

Репутация: нет
Всего: нет



Я писал прогу для решения квадратного уравнения, там должен быть оператор выбора, и я не могу понять как и куда его ставить.  Вот что у меня на данный момент в байсике:

Private Sub Label4_Click()
Discr.Text = b * b - (4 * a * c)
If Discr = 0 Then X1.Text = -b / (2 * a)
End If
If Discr < 0 Then open.Form2
Else: X1.Text = (-b + Sqr(Discr)) / (2 * a)
X2.Text = (-b - Sqr(Discr)) / (2 * a)
End If
End Sub

Я понимаю что что то у меня не так, и прошу помочь кто сможет. Заранее спс.

PM   Вверх
Naghual
Дата 8.12.2006, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Что такое Discr?  Где его объявление?


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Кирилл
Дата 8.12.2006, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 7.11.2006
Где: Воронеж

Репутация: 1
Всего: 1



Ошибка в Discr : если это обьект, то нет св-в, а если переменная, то не нужно свойство Техт во второй строчке.

Код

Private Sub Label4_Click()
Discr.Text = b * b - (4 * a * c)
If Discr.Text = 0 Then X1.Text = -b / (2 * a)
End If
If Discr.Text < 0 Then open.Form2
Else: X1.Text = (-b + Sqr(Discr.Text)) / (2 * a)
X2.Text = (-b - Sqr(Discr.Text)) / (2 * a)
End If
End Sub

Может так?
PM MAIL   Вверх
$tatic
Дата 8.12.2006, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: нет
Всего: 22



Кирилл, в Visual Basic свойство Text - дефолтное. Поэтому роли это не играет. Не в этом суть. Оператор выбора - Select Case. Правильно так будет:
Код

Private Sub Label4_Click()
Discr.Text = b * b - (4 * a * c)
If Discr = 0
Select Case Discr
Case 0
X1.Text = -b / (2 * a)
Case Is < 0
open.Form2
Case Else
X1.Text = (-b + Sqr(Discr)) / (2 * a)
X2.Text = (-b - Sqr(Discr)) / (2 * a)
End Select
End Sub

PM MAIL   Вверх
Fenixma
Дата 8.12.2006, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 8.12.2006

Репутация: нет
Всего: нет



Цитата

Что такое Discr?  Где его объявление? 

Это дискриминант.


Кирилл, нет, все равно там ошибка.


$tatic, А в твоем коде я не понял что означает 5 строчка, и там терь в другом месте ошибку выдает: в 3-ей и в  8-ой строчках.

В моем коде ошибку выдавал в 
If Discr < 0 Then open.Form2

Может я че то не так с оператором выбора намудрил?
Кстати как вы вставляете окно визуал баейсик?

Это сообщение отредактировал(а) Fenixma - 8.12.2006, 20:38
PM   Вверх
Кирилл
Дата 8.12.2006, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 7.11.2006
Где: Воронеж

Репутация: 1
Всего: 1



Цитата(Fenixma @  8.12.2006,  20:37 Найти цитируемый пост)
я не понял что означает 5 строчка

 smile Тебе сюда http://www.computerbooks.ru/books/Programm...ter%206/ch5.htm smile 

Цитата(Fenixma @  8.12.2006,  20:37 Найти цитируемый пост)
 в другом месте ошибку выдает: в 3-ей и в  8-ой строчках

В 3-ей всё понятно - после ифа нет зена, а в принципе эта строчка не нужна вообще.
А в 8-ой не знаю - я вобщем-то не совсем понимаю, что ты хочешь.

Добавлено @ 21:02 
За ложную инфо по св-ву Техт сорри: сам не знал  smile 
PM MAIL   Вверх
Fenixma
Дата 9.12.2006, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 8.12.2006

Репутация: нет
Всего: нет



Кирилл,  ну мне надо чтобы при дискриминанте(discr) меньше 0 выводилось форма2(Form2). А он почему то выдает ошибку, в чем ошибка я не понимаю. Вроде написанно все правельно, открыть форму2, и форма есть, но все равно ошибка smile 

Цитата

В 3-ей всё понятно - после ифа нет зена, а в принципе эта строчка не нужна вообще.


Да, в принципе эта строчка не нужна, если я правельно разобрался.

Это сообщение отредактировал(а) Fenixma - 9.12.2006, 15:48
PM   Вверх
Кирилл
Дата 9.12.2006, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 7.11.2006
Где: Воронеж

Репутация: 1
Всего: 1



Цитата(Fenixma @  9.12.2006,  15:45 Найти цитируемый пост)
 Вроде написанно все правельно, открыть форму2, и форма есть, но все равно ошибка

Fenixma, я далеко не експерт, но помойму эта команда неправильна. Вот вариант, который я использовал бы в этом случае:
Код

Load Form2'эту строчку лучше поместить в форм_лоад для форм1
Form2.Visible = True'А эту-вместо опен.форм2

Первую строку можно и не писать, но в больших прогах желательно.
PM MAIL   Вверх
Fenixma
Дата 9.12.2006, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 8.12.2006

Репутация: нет
Всего: нет



Кирилл, а зачем нужна первая строчка? и в чем была неправельна моя команда? А вообще огромное спс тебе, терь все работает))) smile 
PM   Вверх
Fenixma
Дата 9.12.2006, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 8.12.2006

Репутация: нет
Всего: нет



Кирилл, Слушай, а как мне сделать чтобы открывалась форма2 и потом на ней 2 кнопки сделать: одна выйти а вторая закрыть форму2 и вернуться к форме1 ?
PM   Вверх
Кирилл
Дата 10.12.2006, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 7.11.2006
Где: Воронеж

Репутация: 1
Всего: 1



Цитата(Fenixma @  9.12.2006,  22:39 Найти цитируемый пост)
Кирилл, а зачем нужна первая строчка?

Это команда загрузить форму в память. Форма грузится и автоматически при визайбле=труе, но в больших прогах лучше загрузить всё сразу, чтобы потом не тормозило.

Цитата(Fenixma @  9.12.2006,  22:39 Найти цитируемый пост)
в чем была неправельна моя команда?

Я вообще нигде не видел, чтобы команда опен использовалась для форм. А откуда ты её взял?

Код

end'Это для выхода
form2.Visible=false'А это для возврата на form1

PM MAIL   Вверх
Fenixma
Дата 10.12.2006, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 8.12.2006

Репутация: нет
Всего: нет



Кирилл, Спасибо большое, я потом попробую, ща просто уходить надо. А на счет команды опен, мне друг сказал что так надо писать... хз, мож я чет напутал)
PM   Вверх
Fenixma
Дата 10.12.2006, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 8.12.2006

Репутация: нет
Всего: нет



Кирилл, Все работает, спасибо!!!


Это сообщение отредактировал(а) Fenixma - 10.12.2006, 21:22
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0628 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.