Crear una consola en Visual studio
Hola
agradezco con la colaboracion con el siguiente codigo que simula la consola de windows DOS.
el problema que tengo es que no me toma la ruta que escribo y toma la que esta por defecto en case listar si es posible que tambien me colabores con el programa que permita cambiar nombre a un archivo dando la ruta. Espero tu respuesta.
anexo codigo
Imports System.Threading.Thread
Imports System.IO
Public Class Form1
Dim prompt As String = "UCC:\"
Dim memoria As String = ""
Dim instruccion As String = ""
Dim lexemas() As String = Nothing
Dim tabla() As String
Dim z As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
consola.Text = prompt
consola.SelectionStart = prompt.Length + 1
End Sub
Private Sub consola_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles consola.KeyUp
If e.KeyValue = 13 Then
memoria = consola.Text
lexemas = consola.Text.Trim.ToLower.Split(" ")
sigcomplex()
instruccion = buscar(memoria)
ejecutar(instruccion)
End If
End Sub
Public Function buscar(ByVal b As String) As String
Dim l As String = ""
Dim instruccionLocal As String = ""
For i As Integer = b.Length - 1 To 0 Step -1
If b.Chars(i) <> "\" Then
instruccionLocal = b.Chars(i) & instruccionLocal
Else
Exit For
End If
Next
Return instruccionLocal
End Function
Public Sub ejecutar(ByVal c As String)
Dim a As System.IO.File
Dim b As System.IO.Directory
Dim cadena() As String = Nothing
Select Case c.Trim.ToLower
Case "Fin".ToLower
consola.Text &= vbCrLf & "Saliendo del Sistema"
consola.Refresh()
Sleep(500)
End
Case "Listar".ToLower
cadena = Directory.GetFiles(TextBox1.Text.Trim) '"C:\KAV\WinWorkstation\spanish\")
For i As Integer = 0 To cadena.Length - 1
memoria &= vbCrLf & cadena(i)
Next
consola.Text &= vbCrLf & memoria
consola.Text &= vbCrLf & prompt
consola.SelectionStart = consola.Text.Length
Case "Borrar".ToLower
consola.Text = ""
consola.Text = prompt
consola.SelectionStart = prompt.Length + 1
Case Else
consola.Text &= vbCrLf & prompt
consola.SelectionStart = consola.Text.Length
End Select
End Sub
Public Function sigcomplex() As String
For i As Integer = 0 To lexemas.Length - 1
MsgBox(lexemas(2))
Me.TextBox1.Text = lexemas(2)
Next
End Function
End Class
agradezco con la colaboracion con el siguiente codigo que simula la consola de windows DOS.
el problema que tengo es que no me toma la ruta que escribo y toma la que esta por defecto en case listar si es posible que tambien me colabores con el programa que permita cambiar nombre a un archivo dando la ruta. Espero tu respuesta.
anexo codigo
Imports System.Threading.Thread
Imports System.IO
Public Class Form1
Dim prompt As String = "UCC:\"
Dim memoria As String = ""
Dim instruccion As String = ""
Dim lexemas() As String = Nothing
Dim tabla() As String
Dim z As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
consola.Text = prompt
consola.SelectionStart = prompt.Length + 1
End Sub
Private Sub consola_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles consola.KeyUp
If e.KeyValue = 13 Then
memoria = consola.Text
lexemas = consola.Text.Trim.ToLower.Split(" ")
sigcomplex()
instruccion = buscar(memoria)
ejecutar(instruccion)
End If
End Sub
Public Function buscar(ByVal b As String) As String
Dim l As String = ""
Dim instruccionLocal As String = ""
For i As Integer = b.Length - 1 To 0 Step -1
If b.Chars(i) <> "\" Then
instruccionLocal = b.Chars(i) & instruccionLocal
Else
Exit For
End If
Next
Return instruccionLocal
End Function
Public Sub ejecutar(ByVal c As String)
Dim a As System.IO.File
Dim b As System.IO.Directory
Dim cadena() As String = Nothing
Select Case c.Trim.ToLower
Case "Fin".ToLower
consola.Text &= vbCrLf & "Saliendo del Sistema"
consola.Refresh()
Sleep(500)
End
Case "Listar".ToLower
cadena = Directory.GetFiles(TextBox1.Text.Trim) '"C:\KAV\WinWorkstation\spanish\")
For i As Integer = 0 To cadena.Length - 1
memoria &= vbCrLf & cadena(i)
Next
consola.Text &= vbCrLf & memoria
consola.Text &= vbCrLf & prompt
consola.SelectionStart = consola.Text.Length
Case "Borrar".ToLower
consola.Text = ""
consola.Text = prompt
consola.SelectionStart = prompt.Length + 1
Case Else
consola.Text &= vbCrLf & prompt
consola.SelectionStart = consola.Text.Length
End Select
End Sub
Public Function sigcomplex() As String
For i As Integer = 0 To lexemas.Length - 1
MsgBox(lexemas(2))
Me.TextBox1.Text = lexemas(2)
Next
End Function
End Class
1 respuesta
Respuesta de Roberto Alvarado
1