将 vbscript 转换为 c#.net/VB.NET

本文关键字:VB NET net vbscript 转换 | 更新日期: 2023-09-27 18:34:19

好吧,我陷入了一个问题。我有一个 VBscript 脚本,我需要在 C#.NET 中转换(VB.NET 也可以)。我是编程新手,对如何做不太了解?一种传统方法是在 C# 中编写相同的代码。但我的时间少了一点。有没有转换器 或者有人可以给我一个开始吗?请建议我应该从哪里开始。它实际上是一个名为lectora的电子学习软件,我需要将值从lectora传递到我的数据库。
任何帮助都会得到回报。谢谢。这是我的VBscript代码。

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 
      %>

将 vbscript 转换为 c#.net/VB.NET

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