에서 자바 스크립트 함수 호출 나는 VB6에서 자바 스크립트 함수를 호출 할 수 있습니다 내가는 VB6
을 저장 효율과 시간을 내 VB6 응용 프로그램에서 사용할 자바 스크립트 기능을 많이 썼다? 가능하면 몇 가지 코드로 도와 주시겠습니까?
에서 자바 스크립트 함수 호출 나는 VB6에서 자바 스크립트 함수를 호출 할 수 있습니다 내가는 VB6
을 저장 효율과 시간을 내 VB6 응용 프로그램에서 사용할 자바 스크립트 기능을 많이 썼다? 가능하면 몇 가지 코드로 도와 주시겠습니까?
나는 이것을 주저하지만 Windows Script Control ActiveX 컨트롤을 사용하여 VB6 응용 프로그램에 포함시킨 다음 약간의 조정만으로 JavaScript 코드를 실행할 수는 있지만 수행하지 마십시오. 당신은 그것이 효율적이고 시간을 절약 할 수 있다고 생각할지도 모르지만, 현실은 당신이 당신의 "일터"를 다루는 모든 여분의 시간을 보낼 것입니다. 또한 VB6에 코드를 이식하면 훨씬 빠르게 실행됩니다. 일종의 확장 성이 필요한 경우에만 스크립팅 방법을 사용합니다.
스크립팅 런타임 및 스크립트 컨트롤 1.0에 대한 참조를 추가하십시오.
참고 :이 예제에서 변수 scode는 함수로 문자열로 전달되는 javascript 코드입니다. 코드는 단순히 문자열 일 뿐이므로 원하는 변수를 전달할 수는 있지만 코드에서 다시 얻는 것은 훨씬 더 복잡합니다. 코드는 즉시 작성하거나 텍스트 파일에서 검색 할 수 있습니다.
이 예제에서 코드는 문자열로 전달 된 다음 OnProgramLoad라는 함수가 들어 있는지 문자열을 검색합니다. 함수가 호출되면 해당 함수가 호출됩니다. ,
http://support.microsoft.com/kb/818802
은 마이크로 소프트 VBScript 정규 표현식 5.5에 대한 참조를 추가합니다 :
Public Sub OnProgramLoad(byval scode as string)
Dim sctest As ScriptControl
If Len(scode) < 1 Then Exit Sub
If InStr(1, scode, "OnProgramLoad", vbTextCompare) = 0 Then Exit Sub
Set sctest = New ScriptControl
With sctest
.Language = "JScript"
.AllowUI = True
.AddObject "Application", App
.AddObject "Clipboard", Clipboard
.AddObject "Printer", Printer
.AddObject "Screen", Screen
.AddCode scode
.Run "OnProgramLoad"
End With
Set sctest = Nothing
End Sub
당신이 더 잘 VB6에 루틴을 포팅하고 당신이 VB6에서 정규식 라이브러리에 액세스해야하는 경우 더 나은 방법이 있습니다 것 귀하의 코드를 포트 ...
Function TestRegExp(myPattern As String, myString As String)
'Create objects.
Dim objRegExp As RegExp
Dim objMatch As Match
Dim colMatches As MatchCollection
Dim RetStr As String
' Create a regular expression object.
Set objRegExp = New RegExp
'Set the pattern by using the Pattern property.
objRegExp.Pattern = myPattern
' Set Case Insensitivity.
objRegExp.IgnoreCase = True
'Set global applicability.
objRegExp.Global = True
'Test whether the String can be compared.
If (objRegExp.Test(myString) = True) Then
'Get the matches.
Set colMatches = objRegExp.Execute(myString) ' Execute search.
For Each objMatch In colMatches ' Iterate Matches collection.
RetStr = RetStr & "Match found at position "
RetStr = RetStr & objMatch.FirstIndex & ". Match Value is '"
RetStr = RetStr & objMatch.Value & "'." & vbCrLf
Next
Else
RetStr = "String Matching Failed"
End If
TestRegExp = RetStr
End Function
왜 당신이 VB에서 그들을 필요로한다면 자바 스크립트로 작성 했습니까? – CyberDude
나는 JavaScript에서 한 번 사용했습니다. JavaScript는 정규식을 지원하기 때문에 문자열 프로세싱을위한 VB보다 빠르다. 비주얼 베이직에서 성능 문제가있는 스크립팅 컨트롤을 사용해야합니다 – Smith