Присвоение переменой х значения из ТектБокса.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Присвоение переменой х значения из ТектБокса.

Сообщение TiG » 02.11.2004 (Вт) 11:48

Мне нужно нецелое число из ТекстБокса присвоить переменной Dim x As String. Выдает ошибку(( Подскажите, где я торможу.
Все мои игрушки мама разметало ураганом...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 02.11.2004 (Вт) 11:51

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

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 02.11.2004 (Вт) 12:04

Ну в общем то мне надо текстовую информацию преобразовать в числовую.

Dim x As Srting

sub ... timer1 ...

x = text1.text

end sub
Все мои игрушки мама разметало ураганом...

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 02.11.2004 (Вт) 12:12

А какая ошибка-то?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 02.11.2004 (Вт) 12:26

Код: Выделить всё
dim x as long

x=clng(0 & Text1.Text)

Scuder
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 334
Зарегистрирован: 17.08.2002 (Сб) 13:18
Откуда: Moscow, Russia

Сообщение Scuder » 02.11.2004 (Вт) 12:34

Konst_One писал(а):
Код: Выделить всё
dim x as long

x=clng(0 & Text1.Text)


Double - CDbl()

Только действительно непонятно, где там ошибка возникает.. :-)

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 02.11.2004 (Вт) 15:23

Сенкс )) Помогло.

Далее сталкнулся с другой трудностью(((

Рассказываю задачу:

На com порт поступают данные.
mscoom контролом данные выплевываю в текстбокс и фильтрую в другой текст бокс, число меняющееся с частотой 10 раз в секунду. Число от 0.00 до 360.00 (градусы). Два таймера с частотой 50 мс поочереди запускаются и считывают имеющееся число и выплевывают его в другие два текстбокса)) Вычеляется разница между первым текстбоксом и вторым и выплевыется в конечный текстбокс (скорость поворота корабля)))) Получается число отличное от числа, которое прописано в эмуляторе посылающем раз в 100 мс на компорт, как приращение х+10 например. т.е. 10 неравно 10.

Причина думаю в том что уходит лишнее время на громоздкий код, как можно решить эту задачу по другому?
Все мои игрушки мама разметало ураганом...

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 02.11.2004 (Вт) 15:26

вот код этот гениальный кстати )))

Dim x As Single
Dim xx As Single
Dim dxx As Single
Dim g As Single



Private Sub Form_Load()
MSComm1.PortOpen = True
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
If x < 360 Then
x = x + 1.73
Else: x = 0
End If
MSComm1.Output = "hgfhgfhg jhfgf jhghjg6576 87687 yyg$HCHDT," & x & ",T*hh<CR><LF>ghfhgfjhgf jkhlkjhjh jkhkjh 7868767"
Text1.Text = MSComm1.Input
p1 = InStr(1, Text1.Text, "T,", vbTextCompare)
If p1 > 0 Then
p2 = InStr(p1, Text1.Text, ",T", vbTextCompare)
End If
If p2 - p1 > 0 Then
Text2.Text = Mid$(Text1.Text, p1 + 2, p2 - p1 - 2)
Else
Text2.Text = ""
End If
End Sub

Private Sub Timer2_Timer()
Text4.Text = Text2.Text
xx = CLng(0 & Text4.Text)
Timer2.Enabled = False
Timer3.Enabled = True

End Sub

Private Sub Timer3_Timer()
Text5.Text = Text2.Text
dxx = CLng(0 & Text5.Text)
g = dxx - xx
Text3.Text = g
Timer3.Enabled = False
Timer2.Enabled = True

End Sub
Все мои игрушки мама разметало ураганом...

TiG
Постоялец
Постоялец
 
Сообщения: 327
Зарегистрирован: 12.05.2003 (Пн) 12:34
Откуда: Ростов-на-Дону

Сообщение TiG » 02.11.2004 (Вт) 15:40

Нашел ответ на свой вопросище)))
Дело было в округлении)) CLng это рулез, но мне то число с сотыми были нужны, поэтому СStr рульнее))) но се равно сенк за подсказку.
Все мои игрушки мама разметало ураганом...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 02.11.2004 (Вт) 16:02

CSng - single


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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 7

    TopList