1

さて、私は問題に立ち往生しています。C#.NET で変換する必要がある VBscript スクリプトが 1 つあります (VB.NET も機能します)。私はプログラミングを始めたばかりで、その方法がよくわかりません。従来の方法の 1 つは、C# で同じものを記述することです。しかし、私には時間がほとんどありません。コンバーターはありますか?どこから始めるべきか教えてください。これは実際には lectora という名前の e ラーニング ソフトウェアであり、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 
      %>
4

1 に答える 1

2

コードを vb.net に直接コピーしてから、デバッグします。コードの大部分は互換性があります。Set objFSO = CreateObject("Scripting.FileSystemObject")マイナーな変更のみが必要な場合など、いくつかのこと: objFSO = new Scripting.FileSystemObject(ただし、ファイル io を実現するためのより最新の方法があります)。

于 2013-10-08T15:06:51.460 に答える