Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 | 2 |

 

  Вопрос: ScriptControl Добавлено: 24.04.10 16:37  

Автор вопроса:  VbStarter | Web-сайт: moscowdevils.ru | ICQ: 357911808 
этот контрол ведь может из переменной выполнять код же? как заставить его это сделать? и ещё никто ScriptLet'ом не пользовался? подскажите как юзать.

Ответить

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

Номер ответа: 1
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #1
Добавлено: 24.04.10 17:23
ПОМОГИТЕ!!!!

Ответить

Номер ответа: 2
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #2
Добавлено: 24.04.10 19:52
ScriptControl банален, как задница.

Добавляем раста-код в контрол методом
  1. ScriptControl1.AddCode "Sub Main()..."

Добавляем свой раста-объект
  1. ScriptControl1.AddObject "Application", Form1

Запускаем раста-процедуру
  1. ScriptControl1.Run "Main"


Пример того, что можно создать с помощью ScriptControl: http://www.xqr2.com/

Ответить

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



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #3
Добавлено: 25.04.10 00:45
я AddCode не нашёл!! почему???

Ответить

Номер ответа: 4
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #4
Добавлено: 25.04.10 10:55
ScriptControl - это контрол. Его нужно руками положить на форму. Смекаешь?

Ответить

Номер ответа: 5
Автор ответа:
 VbStarter



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #5
Добавлено: 25.04.10 12:44
блин я не такой тупой! я уже всё сделал! а про положить на форму контрол это уже само соьой как-то! AddCode я нашёл. я плохо смекаю поже 11,30 а было
00:45
:)

Ответить

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



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #6
Добавлено: 25.04.10 13:07
то есть вместо Ыги Ьфшт можно писать переменную?

Ответить

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



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #7
Добавлено: 25.04.10 13:07
кста насчёт ScriptLet&

Ответить

Номер ответа: 8
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #8
Добавлено: 25.04.10 13:51
Ты задавай вопросы до 23.30, вот мой совет)

Ответить

Номер ответа: 9
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #9
Добавлено: 25.04.10 13:54
VbStarter пишет:
то есть вместо Ыги Ьфшт можно писать переменную?

Переменную String, внутри которой код

Ответить

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



ICQ: 357911808 

Вопросов: 118
Ответов: 1340
 Web-сайт: moscowdevils.ru
 Профиль | | #10
Добавлено: 25.04.10 14:21
значит у меня правильно. (
  1. Sub Script_Control()
  2. Dim Code As String
  3. Code = "Sub Code() MsgBox Ðàáîòàåò! End Sub"
  4. ScriptControl1.AddCode (Code)
  5. ScriptControl1.AddObject "Application", ScriptControl
  6. ScriptControl1.Run Code
  7. End Sub
)

Ответить

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



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #11
Добавлено: 25.04.10 14:44
ScriptControl1.AddObject "Application", ScriptControl это не надо. Можно добавить например Form1, чтобы в скрипте управлять формой.
И мне кажется Run в данной ситуации ничего не сделает. В общем пусть VBD расскажет, он прошаренее

Ответить

Номер ответа: 12
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #12
Добавлено: 25.04.10 17:11
VbStarter
Во-первых, за
  1. Sub Code() MsgBox Жрать! End Sub

любая разновидность раста-VB движка выпадает в ступор: "АААА! Где гребаные кавычки и гребанные переводы строк?!". И дело тут уже не в эстетическом слове Жрать, показанном в примере. В общем, код добавляй нормально.
  1.  
  2. Sub Code()
  3. MsgBox "Жрать!"
  4. End Sub

Перенос строки - константа vbCrLf, кавычка - Chr(34)
Как соединять строки ты знаешь.

Во-вторых
  1. ScriptControl1.AddObject

принмает два параметра. Первый - это то, как будет называется объект внутри скрипта, второй - собственно, объект. Объектом может быть форма, кнопка, класс и прочая херь

В-третих
  1. ScriptControl1.Run Code

Кавычки где? Ты должен передать имя процедуры, которую нужно запустить, а вместо этого передаешь весь код. И пушистый скриптконтрол, линейно смекая, что "Sub Code() MsgBox Ðàáîòàåò! End Sub" - это название процедуры. И, естественно, обламывается. Тебе нужно только вот это:
  1. ScriptControl1.Run "Code"


В-четвертых, помни: типы в VBScript не существуют. Там все Variant.

В-пятых: смекаешь?

Ответить

Номер ответа: 13
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #13
Добавлено: 25.04.10 17:14
Показываю на твоем примере
  1.  
  2. Sub Script_Control()
  3. Dim Code As String
  4. Code = "Sub Code()" & vbCrLf & "MsgBox " & Chr(34) + "Ðàáîòàåò!" & vbChr(34) & vbCrLf & "End Sub"
  5. ScriptControl1.AddCode (Code)
  6. ScriptControl1.Run "Code"
  7. End Sub


PS: Остальным: Те кто считает, что Chr(34) неоптимально, не говорите, как иначе, ибо от понастоящемуправильнойреализацииданнойфегни раста соовсем запутается. Вот.

Ответить

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



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #14
Добавлено: 25.04.10 20:18
Понастоящемуправильнаяреализацияданнойфегни - двойные двойные кавычки.

Ответить

Номер ответа: 15
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #15
Добавлено: 25.04.10 20:32
Именно по этому не стоило это произносить, Winand. :)

Ответить

Страница: 1 | 2 |

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



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