⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 commandline.vb

📁 大名鼎鼎的mono是.NET平台的跨平台(支持linux
💻 VB
字号:
' ' Visual Basic.Net COmpiler' Copyright (C) 2004 - 2006 Rolf Bjarne Kvinge, rbjarnek at users.sourceforge.net' ' This library is free software; you can redistribute it and/or' modify it under the terms of the GNU Lesser General Public' License as published by the Free Software Foundation; either' version 2.1 of the License, or (at your option) any later version.' ' This library is distributed in the hope that it will be useful,' but WITHOUT ANY WARRANTY; without even the implied warranty of' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU' Lesser General Public License for more details.' ' You should have received a copy of the GNU Lesser General Public' License along with this library; if not, write to the Free Software' Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA' Class CommandLine	Private m_Compiler As String	Private m_TestPath As String	Private m_ExitOnSuccess As Boolean	Private m_Spawn As Boolean	Sub New()		m_TestPath = IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.Location)		If IO.Directory.Exists(IO.Path.Combine(m_TestPath, "Tests")) Then			m_TestPath = IO.Path.Combine(m_TestPath, "Tests")		End If		Dim tmp As String		tmp = "%SYSTEMROOT%\Microsoft.NET\Framework\"		tmp = Environment.ExpandEnvironmentVariables(tmp)		Dim dirs As String() = IO.Directory.GetDirectories(tmp)		For Each dir As String In dirs			Dim file As String			file = IO.Path.Combine(dir, "vbc.exe")			If IO.File.Exists(file) Then				m_Compiler = file			End If		Next	End Sub	ReadOnly Property Compiler() As String		Get			Return m_Compiler		End Get	End Property	ReadOnly Property TestPath() As String		Get			Return m_TestPath		End Get	End Property	ReadOnly Property ExitOnSuccess() As Boolean		Get			Return m_ExitOnSuccess		End Get	End Property	ReadOnly Property Spawn() As Boolean		Get			Return m_Spawn		End Get	End Property	''' <summary>	''' Parses the commandline	''' </summary>	''' <param name="cmdArgs"></param>	''' <remarks></remarks>	Sub Parse(ByVal cmdArgs() As String)		For i As Integer = 0 To UBound(cmdArgs)			Dim str As String = cmdArgs(i)			Dim cmd, value As String			If str.StartsWith("""") AndAlso str.EndsWith("""") Then				str = Mid(str, 2, str.Length - 2)			End If			If str.StartsWith("/") OrElse str.StartsWith("-") Then				Dim iSep As Integer = str.IndexOf(":")				If iSep = -1 Then					cmd = str.Substring(1)					value = ""				Else					cmd = str.Substring(1, iSep - 1)					value = str.Substring(iSep + 1)				End If				Select Case cmd.ToLower					Case "auto", "auto+"						m_ExitOnSuccess = value = "" OrElse value = "+"					Case "path", "p"						m_TestPath = IO.Path.GetFullPath(value)					Case "compiler", "c"						m_Compiler = IO.Path.GetFullPath(value)					Case "spawn"						'Spawn another process and exit this process						cmdArgs(i) = ""	'Zero out the spawn argument, otherwise it would be an interesting case of recursion!						Dim cmdline As String						'Quote all the arguments						For j As Integer = 0 To UBound(cmdArgs)							If cmdArgs(j) <> "" Then								cmdArgs(j) = """" & cmdArgs(j) & """"							End If						Next						cmdline = Join(cmdArgs, " ")						Process.Start(System.Reflection.Assembly.GetExecutingAssembly.Location, cmdline)						m_Spawn = True					Case Else						MsgBox("Unrecognized commandline option: " & str)				End Select			ElseIf str <> "" Then				MsgBox("Unrecognized commandline option: " & str)			End If		Next	End SubEnd Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -