Сейчас на форуме: bartolomeo, hgdagon (+7 невидимых) |
eXeL@B —› Программирование —› VB выполнение команд из строковой переменной |
Посл.ответ | Сообщение |
|
Создано: 09 марта 2006 13:10 · Личное сообщение · #1 Всем привет, Крутые перцы! Помогите. Нужно взять строку из поля для ввода и выполнить её... например, y=a+b*c - есть переменные a,b,c и при вводе функции - нужно чтобы она выполнялась.... Как это сделать? Я слышал на VBScript есть такай ф-я, как Execute - но здесь что-то не работает. Пишите или стучите в аську 334547677 |
|
Создано: 09 марта 2006 15:40 · Личное сообщение · #2 |
|
Создано: 09 марта 2006 15:47 · Личное сообщение · #3 |
|
Создано: 09 марта 2006 16:29 · Личное сообщение · #4 Sanya Я аськой не пользуюсь... Если что - пиши в личку или на мыло: mordred[пудель]sibmail.com Sanya пишет: Я так в серьёз задумался - получается что-то типа интерпретатора 2 уровня (если сам ВБ считать 1 уровнем). Вообще-то типа того, но для основных арифметических операций там реально примитивный интерпретатор получается Если надо, могу поискать свою прогу, тока я её делал чуть ли не в 10 классе еще, когда тока за комп сел, так что код там, мягко говоря, неоптимизированный |
|
Создано: 10 марта 2006 02:26 · Поправил: Rascal · Личное сообщение · #5 На С ничуть не легче Ну а на ВБ: 'в модуль ' переменные из модуля если их буквы написать в исполняемом тексте заменяются на значение их в программе ' буквы не из модуля так и пишутся буквами Option Explicit Public X Public Y Public Mul As Integer Public Shirina As Long Public Visota As Long Public SeredinaV As Long Public SeredinaS As Long Public Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Foo1 As Long, ByVal Foo2 As Long, ByVal fCheckOnly As Long) As Long ' For VB5 IDE 'Declare Function EbExecuteLine Lib "vba5.dll" (ByVal pStringToExec As Long, ByVal Foo1 As Long, ByVal Foo2 As Long, ByVal fCheckOnly As Long) As Long ' FOR Access 97/VBE.dll clients like Word 97 and Excel 97 'Declare Function EbExecuteLine Lib "vba332.dll" (ByVal pStringToExec As Long, ByVal Foo1 As Long, ByVal Foo2 As Long, ByVal fCheckOnly As Long) As Long Public Function FExecuteCode(stCode As String, Optional fCheckOnly As Boolean) As Boolean FExecuteCode = EbExecuteLine(StrPtr(stCode), 0&, 0&, Abs(fCheckOnly)) = 0 End Function ----- Недостаточно только получить знания:надо найти им приложение |
|
Создано: 31 марта 2006 13:48 · Поправил: t3stament01 · Личное сообщение · #6 |
|
Создано: 31 марта 2006 14:43 · Личное сообщение · #7 t3stament01 пишет: Это можно сделать и без АПИ В идеале, конечно, лучше самому написать. Только вот не всем под силу. А если это функция - не основная в программе, то тратить на нее много времени не стоит. Хотя здесь речь идет о VB - API в нем программировать не просто. Файл объявлений WIN32API.TXT - галимый. |
|
Создано: 07 апреля 2006 17:49 · Личное сообщение · #8 |
eXeL@B —› Программирование —› VB выполнение команд из строковой переменной |