Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Помогите разобраться с ТекстБоксом. Добавлено: 29.10.06 10:44  

Автор вопроса:  appolinari
Здравствуйте.
Есть такой вопрос:

Если в программе (VB) я пишу : Text1.Text - 2*(1+3)
То в ТекстБоксе получаю "8".

или
print 2*(1+3) ..."8"

А если пытаюсь вводить в один ТекстБокс пример и получить ответ, типа: Text2.Text=Text1.Text
то во втором ТекстБоксе получаю либо текст своего примера

или
print Text1.Text ... "2*(1+3)"

либо сообщение об ошибке(при попытке конвертировать пример в Int или что то подобное)...
Помогите, плиз...

Ответить

  Ответы Всего ответов: 15  

Номер ответа: 1
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #1
Добавлено: 29.10.06 11:17
А если пытаюсь вводить в один ТекстБокс пример и получить ответ, типа: Text2.Text=Text1.Text
то во втором ТекстБоксе получаю либо текст своего примера
Text2.Text=val(Text1.Text)

Ответить

Номер ответа: 2
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #2
Добавлено: 29.10.06 11:20
Хотя странно, что в text1 у тебя 8, в текст2= "2*(1+3)"
Может ты что-то не договариваешь?
Потому как у меня и там и там 8(если я правильно тебя понял, то у тебя так):
Private Sub Command1_Click()
Text1.Text = 2 * (1 + 3)
Text2.Text = Text1.Text
End Sub

Ответить

Номер ответа: 3
Автор ответа:
 appolinari



Вопросов: 10
Ответов: 30
 Профиль | | #3 Добавлено: 29.10.06 11:58
Не совсем так. Вариант :
Text1.Text = 2 * (1 + 3)
я прокрутил для проверки работоспособности такой постановки вопроса...

 После чего леплю форму с двумя текстбоксами и кнопкой. В окно первого текстбокса вписываю пример и при нажатии кнопки пытаюсь получить

Private Sub Command1_Click()
Text2.Text = Text1.Text
End Sub

во втором окне ответ.

Ответить

Номер ответа: 4
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #4 Добавлено: 29.10.06 11:59
Аффтар вводит в текстбокс формулу "2*(1+3)" и тип у этой формулы as String, потом через Int он пытается перевести ее в число, но этого делать нельзя, т.к. формулу в число перевести не получится, попробуй переведи "Ля-ля-ля" в число, что получится???
Нужно что-то типа Текстбокс1=Текстбокс1*(Текстбокс2+Текстбокс3)...
Или юзать апи... там функция какая-то есть, в запущенной проге в Текстбоксе пишешь код на ВБ и он выполняется... Если вспомню, выложу.

Ответить

Номер ответа: 5
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #5
Добавлено: 29.10.06 12:40
Мона ф-цию написать с val и посимвольными рперациями при сильном желании - работать будее!!

Ответить

Номер ответа: 6
Автор ответа:
 appolinari



Вопросов: 10
Ответов: 30
 Профиль | | #6 Добавлено: 29.10.06 13:17
Можно, но хотелось как проще, а выйдет - как всегда?

Ведь вариант
text1.text = 2*(1+3)
or
print 2*(1+3)

отрабатывает...

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

Ответить

Номер ответа: 7
Автор ответа:
 appolinari



Вопросов: 10
Ответов: 30
 Профиль | | #7 Добавлено: 29.10.06 14:16
Я пытался так же обойтись без ТекстБокса.
Сделать к примеру типа:

text1.text = InputBox(...)

Но с тем же результатом. :(

Ответить

Номер ответа: 8
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #8
Добавлено: 29.10.06 14:55
Можно складывать сразу при вводе значений - тогда полчится вроде ничего :)
sub text1_change()
///
end sub

Ответить

Номер ответа: 9
Автор ответа:
 appolinari



Вопросов: 10
Ответов: 30
 Профиль | | #9 Добавлено: 29.10.06 15:05
Интересно. До дома доберусь, попробую. На работе у меня нет VB.

Ответить

Номер ответа: 10
Автор ответа:
 appolinari



Вопросов: 10
Ответов: 30
 Профиль | | #10 Добавлено: 29.10.06 15:08
А может можно каким то образом вписывать пример в тело программы, в

Private Sub Command1_Click()
Text2.Text = #################
End Sub

Ответить

Номер ответа: 11
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #11 Добавлено: 29.10.06 19:20
юзай ScriptControl

Ответить

Номер ответа: 12
Автор ответа:
 appolinari



Вопросов: 10
Ответов: 30
 Профиль | | #12 Добавлено: 30.10.06 08:23
юзай ScriptControl

Если можно чуть поподровней...

Ответить

Номер ответа: 13
Автор ответа:
 appolinari



Вопросов: 10
Ответов: 30
 Профиль | | #13 Добавлено: 31.10.06 07:49
Ну что, ни у кого ни каких идеев нет? Видно придется действительно функцию с переборкой символов строить. Или в VB6 продолжать писать:
Text1.Text = пример...Run... :(

Ответить

Номер ответа: 14
Автор ответа:
 Sur



ICQ: 1249088 

Вопросов: 10
Ответов: 304
 Web-сайт: sur.hotbox.ru/
 Профиль | | #14
Добавлено: 31.10.06 13:27
Ну вот не понял человек...

Private sc As Object
Private Sub Command1_Click()
Text1 = "2*(1+3)"
Set sc = CreateObject("ScriptControl";)
sc.language = "VBScript"
Debug.Print sc.Eval(Text1)
Set sc = Nothing
End Sub

Ответить

Номер ответа: 15
Автор ответа:
 appolinari



Вопросов: 10
Ответов: 30
 Профиль | | #15 Добавлено: 31.10.06 20:19
ПРИМНОГОБЛАГОДАРЕН!!!
Скажите пожалуйста, где я могу найти информацию по ScriptControl...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам