javascript函數我已經寫了很多,我想在我的VB6應用程序使用效率和節省時間調用從VB6
是它可以調用從VB6 javascript函數的JavaScript函數?如果可能,你可以幫我一些代碼嗎?
javascript函數我已經寫了很多,我想在我的VB6應用程序使用效率和節省時間調用從VB6
是它可以調用從VB6 javascript函數的JavaScript函數?如果可能,你可以幫我一些代碼嗎?
我毫不猶豫地這樣說,但您可以使用Windows腳本控制ActiveX控件並將其嵌入到您的VB6應用程序中,然後運行您的JavaScript代碼,但可能需要稍作調整,但請勿這樣做。你可能會認爲這對你來說是有效率和節省時間的,但事實是你將花費各種額外的時間來處理你的「解決方法」。此外,將代碼移植到VB6將使其運行速度更快。如果您需要某種可擴展性,我只會使用腳本方法。
添加對腳本運行時和腳本控件1.0的引用。
注意:在本例中,變量scode是作爲字符串傳遞給函數的javascript代碼。由於代碼只是一個字符串,你可以傳入任何你想要的變量,但是,從代碼中取回東西要複雜得多。代碼可以即時創建或從文本文件中檢索。
在此示例中,代碼作爲字符串傳遞,然後搜索字符串以查看它是否包含名爲OnProgramLoad的函數。如果有,則調用該函數。
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正則表達式庫有更好的方法:
http://support.microsoft.com/kb/818802
添加到微軟的VBScript正則表達式5.5參考,然後移植你的代碼...
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
你爲什麼用javascript編寫它們,如果你需要它們在VB中? – CyberDude 2011-02-01 17:47:04
我曾經在JavaScript中使用過它們。由於JavaScript支持正則表達式,所以JavaScript似乎更快速地處理字符串。在VB中,你必須使用腳本控制,它有一個性能問題 – Smith 2011-02-01 18:27:20