Как текст 2+2 преобразовать в число 4?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
alleonid
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 14.07.2005 (Чт) 7:01

Как текст 2+2 преобразовать в число 4?

Сообщение alleonid » 14.07.2005 (Чт) 7:07

Я пишу небольшие расчетные программы.
Было бы удобно, если в поле Text можно было вводить не 5 а, к примеру, 20/4 или =20/4, или Sqr(25)...
Насколько я догадываюсь - text должна быть переменной "а" типа Variant, а затем преобразовываться в переменную "b" типа Double. Пробовал, но не получилось. Не могли бы вы привести текстовочку.

Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Сообщение Matew » 14.07.2005 (Чт) 7:40

Недавно была тема называлась "Компилировать в exe" или типа того-там приведен пример, что аж можно функции вводить.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 14.07.2005 (Чт) 7:42

Ищи по слову "Eval".
Lasciate ogni speranza, voi ch'entrate.

alleonid
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 14.07.2005 (Чт) 7:01

поподробнее

Сообщение alleonid » 14.07.2005 (Чт) 7:52

Я понимаю вашу иронию, но я не профессиональный программист, а инженер-прочнист. Мне много чего своего надо знать по своей специальности, семья, детишки. поэтому на обучение программированию времени весьма мало. Поэтому прошу Вас, меня извинить за дилетанство и ответить поконкретнее.

Private Sub Command1_Click()
Dim a As Variant
Dim b As Double

a = Text1.Text

'Какие команды вствить сюда?

Label1.Caption = b

End Sub

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 14.07.2005 (Чт) 8:32

Иронии не было... вроде бы. Жмешь кнопочку "Поиск" вверху страницы, вводишь в поле поиска "Eval", читаешь найденные темы и, надеюсь, разбираешься сам.

Так более понятно? (вот здесь началась легкая ирония :roll: )

alleonid
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 14.07.2005 (Чт) 7:01

у меня чортова справка не фурычет

Сообщение alleonid » 14.07.2005 (Чт) 9:50

у меня чортова справка не фурычет.
Если не трудно, не крутите мне содержимое мошонки, а напишите пару строчек

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

Сообщение GSerg » 14.07.2005 (Чт) 10:09

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

alleonid
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 14.07.2005 (Чт) 7:01

Сообщение alleonid » 14.07.2005 (Чт) 11:07

Eval

поиск по

www.vbstreets.ru

Не найдено ни одного документа, соответствующего запросу eval.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 14.07.2005 (Чт) 11:15

alleonid писал(а):Не найдено ни одного документа, соответствующего запросу eval.

Очень странно ты искал.
Я поискал и выдалась куча ссылок. Седьмая сверху -- именно то, что тебе нужно.

З.Ы. Поиск тут

З.Ы.Ы. Гайдар, видишь последствия рекламной кампании Гугля? :)
Lasciate ogni speranza, voi ch'entrate.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 14.07.2005 (Чт) 11:17

Гуглевый посик пока не работает потому что сайт не до конца заиндексировали :)

alleonid
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 14.07.2005 (Чт) 7:01

Сообщение alleonid » 14.07.2005 (Чт) 12:09

C eval так и не разобрался кстати. Видимо я очень тупой, нет опыта. (Хотя некоторые говорят, что просто логику VB понять трудно)
Нашел то что нужно по одной из ссылок - просто как раз то, что нужно, но без посторонних библиотек а с самостоятельными функциями.
И все же насчет Eval меня дикий интерес раздирает...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 14.07.2005 (Чт) 12:19

Lasciate ogni speranza, voi ch'entrate.

alleonid
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 14.07.2005 (Чт) 7:01

Сообщение alleonid » 14.07.2005 (Чт) 12:29

Private Sub Form_Load()
MsgBox ScriptControl1.Eval("1+1*3+4*2")
End Sub


Ошибка Run Time Error 424

В чем дело?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.07.2005 (Чт) 15:06

alleonid, ScriptControl1-то на форму положил? ;-)
Изображение

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 14.07.2005 (Чт) 16:15

alleonid
Вот тебе вариант без всяких доп. компонентов прямо на бейсике:

alleonid
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 14.07.2005 (Чт) 7:01

Сообщение alleonid » 15.07.2005 (Пт) 3:46

Не могли бы вы объяснить как эту штуку с дополнительными функциями на форму положить? Откуда ее подключить можно?

alleonid
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 14.07.2005 (Чт) 7:01

Леонид

Сообщение alleonid » 15.07.2005 (Пт) 3:49

А что, в eval можно любые формулы вводить, не только + - / *

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 15.07.2005 (Пт) 10:57

alleonid
как эту штуку с дополнительными функциями на форму положить?

Если это о моей - на форму ничего класть не нужно. Просто подключи к проекту модуль и пользуйся функцией Calc. Кроме +, -, *, \, / есть еще скобки (многократные вложения), степени, логические операторы, ф-ции и т. д.

--=GAMER=--
Фиолетовый бот
Фиолетовый бот
Аватара пользователя
 
Сообщения: 810
Зарегистрирован: 22.03.2004 (Пн) 11:29
Откуда: Владивосток

Сообщение --=GAMER=-- » 15.07.2005 (Пт) 11:15

Ответ к САБЖ'у
Text1.text = 2 - (-2) = 4
ПРи комбинации 2+ 2 получишь 22!!! :twisted:
Как говориться - LOL :wink:
В темноте слепец — самый надежный проводник. В эпоху безумия пусть тебя ведет сумасшедший.

rRenderer Engine
VB Wiki

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 15.07.2005 (Пт) 11:21

alleonid писал(а):Не могли бы вы объяснить как эту штуку с дополнительными функциями на форму положить? Откуда ее подключить можно?

Project -> Components -> Microsoft Script Control

Можно вводить любые формулы в стандартном Бейсиковском виде.
Изображение

alleonid
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 14.07.2005 (Чт) 7:01

Спасибо

Сообщение alleonid » 15.07.2005 (Пт) 11:55

Спасибо Томич, а то все ,
, такие загадочные

alleonid
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 14.07.2005 (Чт) 7:01

Сообщение alleonid » 18.07.2005 (Пн) 5:21

У меня вопрос по поводу контрола.
1) Во первых у меня его в Windows не оказалось, откуда он вообще берется.
2) Если я пишу программу с дополнительными библиотеками, а потом компилирую, то будет ли другой пользователь зависим от этих библиотек, то есть сможет ли exe шник работать без этих примочек?
Заранее спасибба.

GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

Сообщение GAGArin » 18.07.2005 (Пн) 5:43

--=GAMER=-- писал(а):Ответ к САБЖ'у
Text1.text = 2 - (-2) = 4
ПРи комбинации 2+ 2 получишь 22!!! :twisted:
Как говориться - LOL :wink:

Извини не по теме ты высказался. Тут про другое, перечитай. Да и метод решения того чего тут вроде и не надо нехороший. :wink:


alleonid
Попробуй где нить поискать исходник калькулятора строковых выражений. Хотя вроде как пример один уже тут лежит...

Если пишешь программу зависимую от библиотек, то имеет смысл добавить их в проект. Стандартные VB'шные как я помню есть в ХР (если ошибусь просьба не пинать) А вот при использовании на 98 могут быть проблемы.

alleonid
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 14.07.2005 (Чт) 7:01

Сообщение alleonid » 18.07.2005 (Пн) 6:27

Thanks
То есть, как я понял, библиотеками для создания полноценного чистого софта пользоваться не желательно.
То есть их содержимое так и остается во вне а не переваривается в процессе компиляции.
То бишь, следует вывод, что сами библиотеки надо засовывать в инсталляшку (что увеличивает программу в объеме) либо вообще забыть про них.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 18.07.2005 (Пн) 13:20

alleonid писал(а):У меня вопрос по поводу контрола.
1) Во первых у меня его в Windows не оказалось, откуда он вообще берется.

Кажется, ставится с VS. Не может быть, что его у тебя нет, если VB стоит.

alleonid писал(а):2) Если я пишу программу с дополнительными библиотеками, а потом компилирую, то будет ли другой пользователь зависим от этих библиотек, то есть сможет ли exe шник работать без этих примочек?
Заранее спасибба.

Есть способ подключения VBScript, не требующий дополнительных библиотек ни у тебя, ни у клиента: http://mastershome.net.ru/plotter.rar
Изображение


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

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

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

    TopList