2013-10-08 73 views
0

那么我陷入了一个问题。我有一个VB脚本,我需要在C#.NET中转换(VB.NET也可以)。我刚刚进入编程领域,对于如何去做并不太了解?一种传统的方式是在C#中编写相同的代码。但我的时间不多。有没有任何转换器或者有人可以给我一个开始?请建议我从哪里开始。它实际上是一个电子学习软件名称lectora,我需要将数值从lectora传递到我的数据库。
任何帮助将被折扣。谢谢。 这是我的VB脚本代码。将vbscript转换为c#.net/VB.NET?

Sample ASP Script 
<%@ Language=VBScript %> 
<% 
'Get the parameters posted from the test' 
testname=Request.form("TestName") 
score=Request.form("Score") 
user=Request.form("name") 
numQuestions=Request.form("NumQuestions") 
passingGrade=Request.form("PassingGrade") 
'Validate that this is actually from a Lectora test' 
if testname="" Or score="" Or user="" Or numQuestions="" Or passingGrade="" then 
Response.Write "<html>" 
Response.Write "<head><title>Failure</title></head>" 
Response.Write "<body>" 
Response.Write "STATUS=500" 
Response.Write "<br>" 
Response.Write "Could not parse test results due to a parameter error." 
Response.Write "</body></html>" 
else 
'Write the results to a file named the same as the test' 
'This could be a database or any kind of object store, but' 
'to keep it simple, we will just use a flat text file' 
fileName = "c:\" & testname & ".log" 

'Open the results file for append' 
Const ForReading = 1, ForWriting = 2, ForAppending = 8 

Set objFSO = CreateObject("Scripting.FileSystemObject") 

if not objFSO.FileExists(fileName) then 
    objFSO.CreateTextFile(fileName) 
end if 

Set objInFile = objFSO.OpenTextFile(fileName, ForAppending, True) 

'Write the results' 
objInFile.WriteLine(Date & ", " & Time & ", " & user & ", " & score) 

    'Older courses produced by Lectora used a zero based index for the questions ' 
    '(i.e. Question0 is the first question)' 
    'Newer courses are one based (i.e. Question1 is the first question)' 
    'determine which one it is' 
    Dim startIndex 
    valTemp = Request.form("Question0") 
    if(valTemp="") then 
    startIndex=1 
    else 
    startIndex=0 
    end if 

    'Write all of the questions and answers' 
    for i = startIndex to cint(startIndex + numQuestions-1) 
    nameQ = "Question" + CStr(i) 
    nameA = "Answer" + CStr(i) 
    valQ = Request.form(nameQ) 
    valA = Request.form(nameA) 
    objInFile.WriteLine(nameQ & ": " & valQ) 
    objInFile.WriteLine(nameA & ": " & valA) 
    Next 

    'Close results file' 
    objInFile.Close 
    Set objInFile = Nothing 
     Set objFSO = Nothing 
     end if 
     %> 

回答

1

我将代码直接复制到vb.net,然后调试它。大部分代码是兼容的。有些东西,如Set objFSO = CreateObject("Scripting.FileSystemObject")只需要稍作修改:objFSO = new Scripting.FileSystemObject(尽管有更多现代的方法来完成文件io)。