MicroTerminal

[Emulador de consola personalizada]

Fecha: 22/Jul/2004 (22/07/2004)
Autor: DarioRoman  [email protected] 

 


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