Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Нужно интерпретировать программу из внешнего файла Добавлено: 11.05.04 20:01  

Автор вопроса:  Zareny_Pelmen

Есть файл, в нем прога на VB (без всяхин наворотов), просто мат функция. Но каждый раз она разная, ее необходимо интерпритировать. Кто знает как?

Ответить

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

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



Вопросов: 30
Ответов: 683
 Профиль | | #1 Добавлено: 11.05.04 20:04

Ну сохрани файл с расширением .vbs и запускай как сценарий.

Если я не так понял - не ругай!

Ответить

Номер ответа: 2
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #2
Добавлено: 11.05.04 21:21

Почитай любую книгу по конструированию компиляторов, обычно синтаксический разбор подробно описывается

Ответить

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



Вопросов: 1
Ответов: 2
 Профиль | | #3 Добавлено: 12.05.04 07:11

Написать компилятор не проблема, есть сотни примеров. Но по моему была какаято комманда, по крайней мере в qb которая позволяла запустить на выполнение просто прогу из файла, run кажется ... Может в VB.Net тоже что то такое есть?

 

Ответить

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



Вопросов: 30
Ответов: 683
 Профиль | | #4 Добавлено: 12.05.04 07:20
Ну тогда тебе нужно разобраться с командами строки в VB6.exe

Ответить

Номер ответа: 5
Автор ответа:
 Alexander N



Вопросов: 21
Ответов: 44
 Web-сайт: sasha.samogon.info
 Профиль | | #5
Добавлено: 12.05.04 13:32

А-а-а-а! Понял.

Используй "Shell"

А еще, в библиотеке кодов я видел API функцию, помогающую определить завершило ли внешнее приложение свою работу.

Ответить

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



Вопросов: 1
Ответов: 2
 Профиль | | #6 Добавлено: 12.05.04 17:18

Что за shell?

Ответить

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



Вопросов: 30
Ответов: 683
 Профиль | | #7 Добавлено: 12.05.04 17:59

Наверно он имел ввиду функцию Shell() - запуск внешних программ

Shell ( Pathname , [WindowStyle] )

Ответить

Номер ответа: 8
Автор ответа:
 Alexander N



Вопросов: 21
Ответов: 44
 Web-сайт: sasha.samogon.info
 Профиль | | #8
Добавлено: 12.05.04 18:42

Ага, пишешь Shell "C:\windows\format.exe C:", vbShowFocus

und alles sind OK

Ответить

Номер ответа: 9
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #9
Добавлено: 13.05.04 11:17

Если тебе нужно выполнить ТЕКСТ, то вот пример:

В данном примере вам понадобятся следующие элементы: ComboBox, TextBox, Label, CommandButton. В ComboBox программа добавляет так называемые шаблоны, Label отображает текущее состояние выполнения кода, в TextBox'е содержится непосредственно текст, являющийся кодом программы, ну а CommandButton... и так понятно.

Как ни жаль, но всех возможностей функции EbExecuteLine я не знаю. Как говорится, вам и карты в руки.

Чуть не забыл. Вам понадобится дополнительный модуль в вашей программе.

'КОД МОДУЛЯ

Public Function secret() As String

secret = "this is a secret subroutine"

End Function

Public Sub secret2()

MsgBox "this is a secret subroutine 2"

End Sub

'КОД ФОРМЫ

Option Compare Text

Option Explicit

Private 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

Function FExecuteCode(stCode As String, Optional fCheckOnly As Boolean) As Boolean

FExecuteCode = EbExecuteLine(StrPtr(stCode), 0&, 0&, Abs(fCheckOnly)) = 0

End Function

Private Sub Combo1_Click()

Text1.Text = Combo1.List(Combo1.ListIndex)

End Sub

Private Sub Command1_Click()

Dim res As Boolean

res = FExecuteCode(Text1.Text)

Label1.Caption = "Status = " & res

End Sub

Private Sub Form_Load()

Combo1.AddItem "?secret"

Combo1.AddItem "msgbox secret"

Combo1.AddItem "secret2"

Combo1.AddItem "For x=0 to 5:?" & Chr$(34) & "hello " & Chr$(34) & "&x:next:beep"

Combo1.AddItem "sendkeys " & Chr$(34) & "{TAB}" & Chr$(34) & ":sendkeys " & Chr$(34) & "{up}" & Chr$(34)

Combo1.AddItem "shell " & Chr$(34) & "calc.exe" & Chr$(34) & ",vbNormalFocus"

Combo1.AddItem "shell " & Chr$(34) & "c:\windows\explorer.exe ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" & Chr$(34) & ",vbNormalFocus"

Combo1.AddItem "form1.text1.visible=false"

Combo1.AddItem "form1.text1.visible=true"

Combo1.AddItem "form1.combo1.listindex=1"

Combo1.AddItem "msgbox app.Title"

Combo1.AddItem "form1.combo1.listindex=1:form1.command1.value=true"

Combo1.ListIndex = 0

Show

End Sub

Ответить

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



Вопросов: 30
Ответов: 683
 Профиль | | #10 Добавлено: 13.05.04 18:06
To Alexander N:  Не путай людей. Format имеет расширение .com

Ответить

Страница: 1 |

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



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