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


Автор: suwka 24.1.2007, 02:23
Я только начинаю заниматься, не могу понять  smile , почему программка не выводит значения. Объясните плиз, что я не так делаю.  smile 
Суть в том, что она должна выводить изменение значений координат точек по оси Ох и само расстояние между ними d,  координаты точек по Оу не изменны. Вот она:
Код

Private Sub Command1_Click()
Dim y1 As Single, x1 As Single, x1n As Single, dx1 As Single, x1k As Single
Dim y2 As Single, x2 As Single, x2n As Single, dx2 As Single, x2k As Single
Dim d As Single
Cls
 y1 = Text1.Text
 x1n = Text2.Text
 dx1 = Text3.Text
 x1k = Text4.Text
 y2 = Text5.Text
 x2n = Text6.Text
 dx2 = Text7.Text
 x2k = Text8.Text
For x2 = x2n To x2k Step dx2
Print Tab(5); "x1="; Format(x1, "0.00")
 For x1 = x1n To x1k Step dx1
 d = Sqr((x2 - x1) ^ 2 + (y2 - y1) ^ 2)
 Print "d="; Format(d, "0.00"), "x2="; Format(x2, "0.00")
Next x1
Next x2
Print
End Sub

Автор: cardinal 24.1.2007, 02:49
suwka, пользуйтесь тегом "код"!

Автор: mihanik 24.1.2007, 07:51
suwka, начнём с переменных.
Ты их объявляешь так

Код

Dim y1 As Single, x1 As Single, x1n As Single, dx1 As Single, x1k As Single
Dim y2 As Single, x2 As Single, x2n As Single, dx2 As Single, x2k As Single
Dim d As Single


Т.е. - это у тебя числа.
Посмотрим теперь на то, как ты им присваиваешь значения...

Код

 x2n = Text6.Text


Опа!
А вот с этого места поподробнее!!! Ты в переменную, которая предназначена для хранения чисел, пытаешься забабахать текст?

По-моему, данную строчку лучше оформить так:

Код

 x2n = Val(Text6.Text)


Или так:

Код

 x2n = CSng(Text6.Text)


Сначала исправь в программе все операторы присваивания.
Потом начнём разбираться по существу...  smile 

PS.

Такое ощущение, что раньше ты программировал на QBasic.
Я прав?  smile 

PPS.

Работа над программой предстоит большая т.к. ошибок у тебя там... И синтаксические, и по существу...

Автор: Dimedrol 26.1.2007, 20:52

Я в общем-то тоже только только начинаю, но тем не менее - вот так наверное точно должно срвботать

Код

x2n = Val(Text6.Text)


Val и занимается вроде тем, что переводит текстовое значение в числовое, но не защищен от ввода в поле вместо цифр - букв, не сможет обработать и возникнет ошибка.

Автор: Кирилл 27.1.2007, 21:43
Цитата(mihanik @  24.1.2007,  07:51 Найти цитируемый пост)
По-моему, данную строчку лучше оформить так:

Так-то, конечно, лучше, но не обязателино. VB переварит.
suwka, ошибка не в этом коде - у меня всё выводит. Копай дальше.

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