Текст как код

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

Текст как код

Сообщение Крост » 24.08.2005 (Ср) 3:34

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

MeMBus
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 450
Зарегистрирован: 23.02.2005 (Ср) 7:03
Откуда: Из леса...

Сообщение MeMBus » 24.08.2005 (Ср) 4:27

Да, можно... Пиши свой компилятор или интерпретатор в программе и делай что душе угодно...
Бороться и искать, найти и перепрятать!

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 24.08.2005 (Ср) 7:11

MS Script OCX
الفيجوال بيسك الرابح

Крост
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 291
Зарегистрирован: 30.01.2005 (Вс) 6:06
Откуда: Питер

Сообщение Крост » 24.08.2005 (Ср) 18:17

GM
По-подробнее, а желательно пример... :D

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 25.08.2005 (Чт) 7:17

Есть такой контрол msscript.ocx. Кладеш его на форму и вставляеш код
Код: Выделить всё
Private Sub Form_Load()
ScriptControl1.AddObject "Form1", Form1

ScriptControl1.AddCode "Function HelloWorld()" & vbCrLf & "Dim s" & vbCrLf & "s=""Hello World!""" & vbCrLf & "Form1.Caption=s" & vbCrLf & "End Function"

ScriptControl1.ExecuteStatement "HelloWorld"
End Sub

Возможности его намного шире, например можно создавать модули, ну в этом надеюсь сам разберешся.

ЗЫ: Если очень нужно, можно обойтись и без компонента.
الفيجوال بيسك الرابح

zHackLeX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 23.10.2003 (Чт) 21:08

Сообщение zHackLeX » 25.08.2005 (Чт) 8:24

...и без компонента? VBA, что ли подкинуть??? :shock:


ЗЫ. У меня одна прога использует VBA. Тому, кто с первой попытки установит её на другой комп можно хоть приз вручать. "Носитель удачи"

ЗЗЫ, был такой проект - SBI. Мини-интерпретатор бэйсика на VB.
There is no knowledge that is not power...

X,C,A,B,C,Z,X,A,B,C,Z....
Многие ли помнят? :)

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 25.08.2005 (Чт) 9:45

..и без компонента? VBA, что ли подкинуть???

:shock:
Да нет просто реализация интерфейса ActiveScript, напрямую через VB, или как это сказать. И при чем тут VBA???
الفيجوال بيسك الرابح

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

Сообщение alibek » 25.08.2005 (Чт) 10:07

Имелся ввиду не VBA, а VBA SDK.
Lasciate ogni speranza, voi ch'entrate.

Крост
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 291
Зарегистрирован: 30.01.2005 (Вс) 6:06
Откуда: Питер

Сообщение Крост » 25.08.2005 (Чт) 15:13

GM
Понял, спасибо..=)

Крост
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 291
Зарегистрирован: 30.01.2005 (Вс) 6:06
Откуда: Питер

Сообщение Крост » 25.08.2005 (Чт) 15:19

GM
Я тут стал на счёт модулей думать...эт ты о чём? Т.е. можно в файл, потом просто грузить файл, а потом execute? Или как-то иначе, если как-то иначе, объясни плз...

Александр Дмитриев
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 296
Зарегистрирован: 05.01.2005 (Ср) 3:39
Откуда: Санкт-Петербург    Куда: /dev/null

Сообщение Александр Дмитриев » 28.08.2005 (Вс) 1:28

Если программу необязательно использовать в откомпилированном виде, то можно самому добавить нужный код в файл формы или модуля и нажать Keyb_event Shift+F5 (Перезапустить прогу) (в Form_load можно будет при этом добавить переход на нужное место программы). Если компилировать обязательно, то лучшим выходом будет помещение исходников в ресурсы, выгрузка их, редактирование, компилирование также выгруженным компилятором (200Кб - Vb, по-моему?..) и также перезапуск проги

Крост
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 291
Зарегистрирован: 30.01.2005 (Вс) 6:06
Откуда: Питер

Сообщение Крост » 28.08.2005 (Вс) 1:32

Александр Дмитриев
Не по теме...
А теперь по-русски...эт первое...а второе:
Обязательно компилировать прогу, и тем более как запустить код, который просто как текст сохранён...

ism
Постоялец
Постоялец
 
Сообщения: 337
Зарегистрирован: 12.12.2001 (Ср) 12:59
Откуда: Russia, Saint-Petersburg

Сообщение ism » 29.08.2005 (Пн) 2:01


Крост
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 291
Зарегистрирован: 30.01.2005 (Вс) 6:06
Откуда: Питер

Сообщение Крост » 29.08.2005 (Пн) 18:55

ism
Не надо кричать "Поиск!!!", не помог, потому что искал...тем более там тема не так называется... :P

Крост
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 291
Зарегистрирован: 30.01.2005 (Вс) 6:06
Откуда: Питер

Сообщение Крост » 29.08.2005 (Пн) 19:09

ism
Эм...не эт не то....мне надо чтобы скрипт мог с моей программой взаимодействовать...т.е. я в нём напишу:
"Form1.caption="Заголовок"", вызову скрипт и он мне у формы Caption поменяет...а тем способом не получится так..

Крост
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 291
Зарегистрирован: 30.01.2005 (Вс) 6:06
Откуда: Питер

Сообщение Крост » 29.08.2005 (Пн) 23:22

Такс, с объектами я понял...а как в ScriptControl передать переменную, чтобы в скрипте её можно было изменить. Как модуль передать туда и что такое "ScriptControl.Modules" ?


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

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

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

    TopList