Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Подскажите с VB


Автор: DarkAngel 19.3.2005, 06:04
Вообщем ситуация такая...Последний раз занимался програмированием очень давно..и уже не то что ниче не помню,а заодно ниче и не знаю.Ну тут вдруг приспичило,очень надо.
Мне нужна прога которая решала бы некоторые примеры.
Причем ввывод не досовский а win поэтому я и пошел к вам сообственно говоря.
Короче можете написать мне код ну простого примера.
Хотя бы возьмем вычисления квадрата.
То есть должна быть форма в которой я ввожу переменную x жму далее и появляется ответ.
Не надо красиво оформлять,просто запрос на ввод и сообственно и форма под него ,и вывод в другой форме...

Автор: Staruha 19.3.2005, 11:33
Здесь бала тема про кв.уравнение.Поищи.Там ссылка есть.

Автор: cardinal 19.3.2005, 13:47
Модератор: Название темы должно отражать ее суть!

Автор: Exception 19.3.2005, 14:12
Цитата(DarkAngel @ 19.3.2005, 07:04)
Хотя бы возьмем вычисления квадрата.
То есть должна быть форма в которой я ввожу переменную x жму далее и появляется ответ.

Код

Private Sub Command1_Click()
Dim x As String
x = InputBox("Введите число:", "Вычисление квадрата")
MsgBox "Квадрат числа " & x & " равен " & Val(x) ^ 2
End Sub

Автор: DarkAngel 19.3.2005, 14:57
Пасибо Всем !
И еще один вопрос тогда,все тоже самое токо теперь при загрузке программы должна появлятся форма в которой я например ставлю галочку выбирая ту задачу которую я например хочу решить то есть применро так:
1 Квадратное уравнение
2 Уравнение Герона
3 Вычисление квадрата
Выбирая один из разделов и кликая далее я получаю форму для этой задачи.

Автор: DarkAngel 19.3.2005, 18:11
Все последний вопрос и я больше не буду мучить вас своей тупостью.
И так помогли очень сильно.
Возник вопрос почему при алгоритме сложения например d=a+b+c
результатом является не сумма а число abc
И второй какой параметр задать кнопке что б перейти к следуюшей форме?

Автор: cardinal 19.3.2005, 18:35
Цитата(DarkAngel @ 19.3.2005, 16:11)
Возник вопрос почему при алгоритме сложения например d=a+b+c

А как у тебя переменные a, b и с объявлены? + это еще и оператор слепления строк (также как и &).
Цитата(DarkAngel @ 19.3.2005, 16:11)
И второй какой параметр задать кнопке что б перейти к следуюшей форме?

В смысле закрыть эту и открыть другую?

А вообще
Модератор: Пожалуйста, один топик - один вопрос.

Автор: Exception 19.3.2005, 18:40
Цитата(DarkAngel @ 19.3.2005, 19:11)
Возник вопрос почему при алгоритме сложения например d=a+b+c
результатом является не сумма а число abc

Потому что переменные объявлять надо:
Код

Dim a As Integer

, а не
Код

Dim a As String

.
String - это строковой тип данных, а не численный.
Если хочешь, перепишу тот код так:
Код

Private Sub Command1_Click()
Dim x As Integer
x = Val(InputBox("Введите число:", "Вычисление квадрата"))
MsgBox "Квадрат числа " & x & " равен " & x ^ 2
End Sub

Автор: DarkAngel 19.3.2005, 19:06
А ну все теперь понял я...пасиб благодаря всем вам благополучно написал...немного все неотесано правда...
Да мне надо закрыть эту и открыть другую.

Добавлено @ 19:08
Цитата
В смысле закрыть эту и открыть другую?

Да именно так

Автор: cardinal 19.3.2005, 19:46
http://www.firststeps.ru/vba/excel/r.php?55

Автор: DarkAngel 20.3.2005, 08:11
Код

Private Sub Cancel_Click()
Unload Me

End Sub

Ну вот эта закрывает нормально форму
Код

Private Sub Далее_Click()
Load Main
End Sub



А эта грузить следуюшюю отказывается,че не так?

Автор: Staruha 20.3.2005, 10:52
Цитата
не сумма а число abc
- еще можно Val

Автор: Exception 20.3.2005, 11:37
Цитата
- еще можно Val

Ну не все же способы перечислять smile

Цитата(DarkAngel @ 20.3.2005, 09:11)
А эта грузить следуюшюю отказывается,че не так?

Если ты хочешь скрыть Form1 и показать Form2 при нажатии cmdNext, то:
Код

Private Sub cmdNext_Click()
Unload Me
Form2.Show
End Sub

Load только загружает форму в память, не показывая ее.

Автор: DarkAngel 20.3.2005, 14:11
Цитата
Если ты хочешь скрыть Form1 и показать Form2 при нажатии cmdNext, то:

Ъюф Visual Basic
1:
2:
3:
4:
Private Sub cmdNext_Click()
Unload Me
Form2.Show
End Sub

Load только загружает форму в память, не показывая ее.

А ну теперь все что нужно понял.Еще будут вопросы обращусь!

Автор: DarkAngel 20.3.2005, 14:55
Еще последний вопрос!!Как посчитать sin или cos или tg числа a.

Автор: cardinal 20.3.2005, 15:11
http://www.codenet.ru/progr/vbasic/listfun.php

Автор: Staruha 20.3.2005, 19:35
Цитата
Пример

' Вычисляем синус прямого угла

Dim MyAngle,retval,GradToRad
Const pi = 3.14159265358979 ' определяем константу pi
MyAngle=90 ' задаем угол в градусах
GradToRad=MyAngle*pi/180 ' переводим градусы в радианы
retval=Sin(GradToRad) ' вычисляем синус прямого угла
Debug.Print retval

от Падре

Автор: DarkAngel 21.3.2005, 10:31
Ну всмысле фуекция то вроде правильная cos(a) а считает какую то лажу,может надо задать a параметр градусов,если да то как?
Добавлено @ 10:33
Ой ссори ваших ответов не увидел,че то форум не обновил прошу прошения!

Автор: Mephisto 25.3.2005, 01:14
Код
Dim sSin!,sCos!,sTg!,a!
a=InputBox("a=")
sSin=Sin(a)
sCos=Cos(a)
sTg=Tan(a)
MsgBox "a="+CStr(a)+ _
"Sin(a)="+CStr(sSin)+ _
"Cos(a)="+CStr(sCos)+ _
"Tg(a)="+CStr(sTg)

Добавлено @ 01:19
Внимание!
Вводить необходимо в радианах! Функция перевода градусы в радианы:
Код

Private Function sGradIntoRad(ByVal sGrad!) as Single
     sGradIntoRad=sGrad*3,1415/180
End Function

Юзанъе функции:
Код

Dim sSin!,sCos!,sTg!,a!
a=InputBox("a=")
a=sGradIntoRad(a)
sSin=Sin(a)
sCos=Cos(a)
sTg=Tan(a)
MsgBox "a="+CStr(a)+ _
"Sin(a)="+CStr(sSin)+ _
"Cos(a)="+CStr(sCos)+ _
"Tg(a)="+CStr(sTg)

Теперь можно вводить в градусах.

P.s. Если не работает, сильнно не бить. Пишу и компилирую в уме.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)