MicroTerminal

[Emulador de consola personalizada]

Fecha: 22/Jul/2004 (22/07/2004)
Autor: DarioRoman  dario61081@hotmail.com 

 


Este es un programa que realicé porque no me gustaba las consolas que ofrecían para el visual Basic, así que me puse a cranear y diseñe esta súper terminal. Falta algunos retoques, el programa muestra una pantalla, en la cual el usuario puede interactuar con comandos y entornos personalizados. Como en la grafica.

 

A continuación el código fuente para la lectura y escritura  de comandos

'modulo1

Dim Carret As String

'control1

Private Sub Timer1_Timer()
    UserControl.Line_cur.Visible = Not UserControl.Line_cur.Visible
End Sub

Private Sub UserControl_Initialize()
    Carret = "X:>"
    UserControl_Paint
    MovCur 'sub que mueve el cursor
    SendKeys "Bienvenido - Microterminal v" & CStr(App.Major) & "." & CStr(App.Minor)
    SendKeys "{enter}"
    SendKeys "Inicie su sesion@"
    SendKeys "{enter}"
    Carret = "x:>"
End Sub

Private Sub UserControl_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 32 To 126, 209, 241
    If Carret = "Login" Then
        UserControl.Print Chr(Asc("*"));
    Else
        UserControl.Print Chr(KeyAscii);
    End If
    temp = temp & Chr(KeyAscii)
Case Asc(";")
    UserControl_KeyPress 13
Case Is = 13 'se presiona enter
    co = Not co
    Select Case co
    Case True
        UserControl.ForeColor = &H8000000F
    Case Else
        UserControl.ForeColor = vbWhite
    End Select
    RaiseEvent Cmd(temp) 'envia informacion al evento para que el usuario pueda leer el comando ingresado
    UserControl.Print " "
    UserControl.Print Carret;
    temp = ""
Case Is = 9 'backspace
    temp = temp & Space(5)

Case Is = 27 'ESC
    UserControl.Cls
End Select
MovCur
End Sub

Public Sub MovCur()
If UserControl.CurrentX > 80 Then
    UserControl.CurrentY = UserControl.CurrentY + 1
    UserControl.CurrentX = 0
End If
If UserControl.CurrentY > 25 Then
    'desplazar
    UserControl.Cls
    UserControl.CurrentX = 0
Else
UserControl.Line_cur.X1 = UserControl.CurrentX
UserControl.Line_cur.X2 = UserControl.CurrentX + 1
UserControl.Line_cur.Y1 = UserControl.CurrentY + 1
UserControl.Line_cur.Y2 = UserControl.CurrentY + 1
End If
End Sub

'formulario

Private Sub FlatPanel1_Cmd(comando As String)
verificar comando 'ejecuta la rutina de comandos que esta en el formulario fuera del control
End Sub

 


cualquier ayuda vendría bien, lo que falta entre otros es el desplazamiento de los caracteres al llegar en la línea 25 como lo hace una consola común y corriente. que disfruten.


ir al índice

Fichero con el código de ejemplo: darioroman _mterm.zip - 60 KB