Use Return Value Of A VBScript Function Into Application?
Aug 23, 2010
I'm developping an ASP.NET application, and I need to use an old VBScript file that would be really hard to translate into pure VB in a VB function.
This VBScript is supposed to return an array that I'd like to use it in the VB function that called it.
How could I call the VBScript function in my VB application and use the value it returned?
I've search how to do so through many forum and FAQ, but it seems that these results where mainly focused on old version of the .NET framework.[code]...
I am trying to return a vb2010 dictionary to vbscript. I posted this to the vbscript forum with no luck, so I thought I would try here.The code for vb2010 is below, and works fine within VB2010:
Public Function TestDictionary() As Dictionary(Of String, String) Dim dic As New Dictionary(Of String, String) dic.Add("1", "Tval1")
Ok, here is the problem,in vbscript, i was reading parts of streams
i.e. teststrid = left (strLine,8) teststrnm =rtrim( mid (strLine,15,30)) teststrx = mid (strLine,57,8) teststr = left (strLine,3) strFormcode = left (strLine, 10) strSymmetrycode = left (strLine,14) strSigncode = left (strLine, 10)
Even in cases that strLine length was less than the index used to split the string, the program kept running.Now i am trying to do the same in VB.net, but since the strLine is not always bigger than the index used to break the string, it ives an error.I do not want to use try catch, because i will have very dirty and uselless code.
I was thinking something like resume next, but i guess it doesnt exist anymore.
I have been struggling with my programming class from day one. I still can't seem to grasp the complete logic on how to write code. Anyhow, I have an assignment due that I am stuck on. Here is the assignment:
In this exercise, you code an application that displays a letter grade based on the average of three test scores. Open the Grade Solution (Grade Solution.sln) file, which is contained in the ClearlyVB Chapl8Grade Solution folder. Code the application,using a function to determine and return the letter grade. If the average is at least 90, the grade is A. If the average is at least 80 but less than 90, the grade is B.If the average is at least 70 but less than 80, the grade is C. Tf the average is at least 60 but less than 70, the grade is D. If the average is below 60, the grade is F.
You will be developing the code for the function on your own. Below the Public Class frmMain line, insert this function header:Private Function CalculateGrade(ByVal testScore1 As Decimal, ByVal testScore2 As Decimal, ByVal testscore3 As Decimal) As String
In the function, declare variables for the average score and the letter grade. Calculate the average, use IF/Elself statements to determine the letter grade, and return the letter grade. Create a subprocedure for the Click event for the btnDisplay button. It should call the CalculateGrade function with three arguments ( the three test scores from the text boxes), and display the returned value in the lblGrade box.
But how can one call a specific function present in vbscript from VB.net code? I searched for that but couldn't figure it out. Some things I found were IActiveScript, MSScript.ocx...
Public Function StoreFields() Dim Lockbox, Cash_Deposit_Date, Batch_Number Lockbox = Xdocument.DOM.selectSingleNode("dfs:myFields/dfs:dataFields/d:tbl_GC100/@Lockbox").Text
[code].....
I have tested the variables in the Functions and the are correct.
i want to know how to use vbscript to declare the function that handles the button onclick event or set a function that handles all button onlick event! both will do i.e) ihave a function
"sub xxx() end sub"
and i generate the buttons using vbscript. i can declare the button id, text without problem.
--dim obj as new button() obj.id="aaa" obj.text="ooo"
the above lines work just fine but when i write obj.onclick = "xxx", it doesn't work. by making settings on the function to handle all button onlick event is also acceptible for me!
how to remove or replace specific characters from a string. The code sample is provided contains a VBScript function to parse a string, replacing or removing any character found in the array declared at the beginning of the function.VBScript String Clean Function - Remove/Replace Illegal CharatersThe function was originally writted to remove illegal characters found in a string for use as a document file name in SharePoint Document Library.To use the function, simply update the array at the beginnning of the function to include all of the characters which are to be removed or replaced. If replacing specific characters with something else, the you will need to set inside the finction the string which will replace each character if found.The VBScript function then returns a cleaned string.VBScript String Clean Function - Remove/Replace Illegal CharatersBlogs: SharePoint Development | Web Development & Programming | Webmaster resources & free SEO
I have been struggling to get vbscript working for last three days of relentless effort. I have windows 7 ultimate and upgraded from windows vista. searched the web for solutions and tried out all the options I think I have, but yet no luck.
I tried registering vbscript.dll and I get a succeeded message back. Everything seems to be fine. but, I just cannot run vbscript on my computer. It complains that "can't find script engine vbscript for script ....". I have a hunch that it is something to do with "microsfot security essentials (my virus protection software)" or with UAC.
An application I maintain has been around since VB6 days - ported to .Net 1.1, and now being updated/rewritten across to .Net 3.5 The application provides a mechanism to run VBScripts - this was done in a highly integrated way - allowing the program to parse multiple .vbs files and produce a list of all of the subroutines and functions - which were then available within the application alongside core functions.
Previously this was an embedded msscript.ocx - in the first .Net conversion, this was wrapped in Interop.MSScriptControl.dll, however, on Windows 7 this just isn't working. It looks like this is really not the way to be doing this anyway - Microsoft seem to be trying to kill vbscript.
Is there a 'supported' way of using VBScript, or is it time to move on? and if so, where is there to move to that provides the same sort of functionality?
Just so it's known, this question is mostly academic, even though I tried to use the concept in a real-world solution. I realize the example is contrived, but I believe the concept is valid.I want to write some fluent code like this:
[code]...
I realize that I can't force an anonymous type into a specific type (like implementing an interface or some other class), and I don't want the overhead of defining a specific class just to match my desired fluent name with the actual method name. So I was able to make the code work like this:
copy(my_first_file).to.Invoke(my_second_file)So there is no IntelliSense or type awareness there, and I have to include the Invoke in order to have the method run. How can I get more type safety and exclude the Invoke method, under these constraints: Anonymous Type returned from Method No additional classes or interfaces Preferably, I do not want to pass in another parameter to the copy() method that tells what type to return, unless copy becomes a generic method (but I think that means defining another class/interface, which I don't want to do)
I want to execute the code that is passed as a string to my function, the code will be passed at runtime. This is an example code that may be passed as a string to my function. p is a dataset, which is declared and has some values, this code is executed in a asp.net page
Possible Duplicate: VB.NET Function Return If I have a function that returns a boolean, what is the difference between:Return False and Function = False
how return four value from a function. In general function will return single value but here i am going to return four different values. If possible please tell me how to store the function return values.
I've created my own version of HexToDec() to properly handle the negative flag. I saw other versions online that used "Not(value)" to do the Pos/Neg inversion, but that does not generate the proper value... No, it's not the most elegant my any means. But I couldn't find anything online that actually worked.
Long story short, I want to return NaN in the case that the function is passed a string that is not a valid hex string...
How do I do that? Everything I've tried generates a compiler error... (assign return value to double.nan, assign return value to non-numeric, etc)
Existing function is below:
Function HexToDec(ByVal hexStr As String, Optional ByVal signed As Boolean = False) As Long Dim lngFinal As Long
I've create a new project, and set treat all warnings as errors in the compile tab.All the other warnings seem to be treated as errors, except the one which I'm interested in "Function/Operator without return value".I have a simple function within a class, which does not show an error if I do not add a return statement to that function. I have read in many places that VB.Net returns a "hidden" default value if the returns statement is forgotten.My software went out to production where an overloaded function was missing a return statement, which wasn't highlighted due to the above.
Before adding rows to a table I am evaluating the SSN number. These will later be flagged for correction so I am setting a datatable column to true or false if it passed muster or not.
I wrote a function to check the number and make the determination plus pad it with zeros and hyphens where they should be. My problem is I want to return the results in an array. I am getting system.string[] as the return value.[code]...
In my project (which I inherited from someone) there are a lot of functions like:
Public Function DoSomething(ByVal s As String) ' Do something to public properties End Function
And they are called like this:
DoSomething(s)
So the return value is ignored (which is object, as I see in the docs). Is it safe to change all these functions to Subs? Could I break something which isn't so obvious?
i want to get two output values in one Function is't possible ?i am just using String data type and split the values.but have any other easy way to get two output values actually i want to checking a folder how many jpg files are Horizontal and vertical [code]finally i split the values with "|" character.have any other options to get two values as separate in one functions.i have no moew idea about Dictionary,
I've been doing some code review and this code seemed weird to me since it doesn't have any return statement:Protected Function AddZero(ByVal vsInput As String) As String
If Len(vsInput) = 1 Then AddZero = "0" & vsInput Else AddZero = vsInput End If End Function
warnings got me thinking about old issues that always goofed me up when I was writing more VB.NET code.One of them was the fact that the compiler didn't warn if you declared a Function but never did an explicit Return statement or assign to the Function name. Running Visual Studio 2008, I just made a small experimental project, and it seems as though the behavior has never been fixed.I created a Visual Basic Console application, with the following code:
Module MainModule Sub Main() Dim test As Boolean = TestWarning()[code].....
I also went into the Project Settings and turned On Option Strict and Option Explicit.I also set the Warning Configurations so that "Function/Operator with no return value" was set to Error.I compiled the project and got no warning, and no error on the TestWarning() Function. This seems like a great place to put a warning, because it will default to False, and you may have simply forgotten to do a return. C# will error without a return statement. I thought that VB.NET did the same thing with the "Function/Operator with no return value" configuration. Is this a bug, or is there something I'm missing?
Edit: Further Experimentation
Function TestWarning() As Boolean If DateTime.Now.DayOfWeek = DayOfWeek.Monday Then Return False[code].....
If, and nothing in the Else, there is also no Warning/Error. It will simply take the default, even though you likely intended (via programming style) to have an explicit return. In this case, I explicitly returned False (which is the default for Boolean), so it's likely a hidden bug that I should have returned True in the Else.