November 2006 - Posts

Estos son los mandatos e instrucciones mas frecuentes para utilizar el puerto serie:

 

    Private Sub EjemploDeLasPrincipalesInstruccionesDeSystem.IO.Port()

        Dim Contador As Integer

 

        Serie = My.Computer.Ports.OpenSerialPort("COM1")  'Llamar al constructor

        '

        'Definir las caracteristicas de la comunicacion

        Serie.BaudRate = 19200              'Fijar velocidad de comunicaciones

        Serie.DataBits = 8                  'Longitud en bits para Byte de datos

        Serie.Parity = Parity.Even          'Asignar paridad(enumeracion parity)

        Serie.StopBits = StopBits.Two       'Bits parada despues byte de datos

        '

        'Abrir/Control/Liberar Puerto

        Serie.Open()                        'Abrir el puerto Serie

        Serie.Close()                       'Cerrar el Puerto Serie

        Serie.Dispose()                     'Liberar objecto

        Dim SiNo As Integer

        SiNo = Serie.IsOpen                 'El Puerto esta abierto?

        Dim Puerto As String

        Puerto = Serie.PortName             'Nombre del puerto

        '

        'Manejo y Control de señales

        Dim Estado As Boolean               'True=Activa / False=Inactiva

        Estado = Serie.CDHolding            'Estado de la señal carrier detect

        Estado = Serie.CtsHolding           'Señal Clear to Send

        Estado = Serie.DsrHolding           'Señal Data Set Ready

        Serie.DtrEnable = True              'Activar de Data Terminal Ready

        Serie.RtsEnable = True              'Activar Request To Send

        '

        'Control Transmission/Recepcion

        Serie.ReadBufferSize = 1024         'Dimensionar tamaño buffer recepcion

        Serie.WriteBufferSize = 1024        'Dimensionar tamaño buffer envio

        Serie.ReadTimeout = 10              'Fuera de tiempo para las lecturas

        Serie.WriteTimeout = 10             'Fuera de tiempo para las escrituras

        Serie.Handshake = Handshake.XOnXOff 'Tipo control para recepcion/envio

        Serie.DiscardInBuffer()             'Borrar el buffer de entrada

        Serie.DiscardOutBuffer()            'Borrar el buffer de salida

        '

        'Enviar datos

        Contador = Serie.BytesToWrite       'Bytes en espera de ser escritos

        Serie.Write("Hola Mundo")           'Enviar una cadena de caracteres

        Serie.WriteLine("Hola Mundo")       'Enviar una linea

        '

        'Leer datos

        Contador = Serie.BytesToRead        'Bytes en espera de ser leidos

        Serie.ReadByte()                    'Leer un byte

        Serie.ReadChar()                    'Leer un char

        Serie.ReadLine()                    'Leer una linea

        Serie.ReadExisting()                'Leer los datos existentes en buffer

    End Sub

Saludos,
Pep Lluis

 

Posted by peplluis | 81 comment(s)
Filed under:

Pues SI!, tiramos la casa por la ventana.

Sorteamos una subscripcion por un año de MSDN. Todos los interesados en participar debereis enviar un correo electronico a spain_net@msn.com antes del 27.11.2006, indicando la palabra 'SORTEO' en el Asunto, completando el cuerpo del mensaje con vuestro Nombre, Direccion y Telefono de contacto.

ADVERTENCIA : Al ganador se le entregara un bono canjeable por una subscripcion a MSDN valida por un año. El bono caduda el 31.12.2006 y su materializacion es responsabilidad ultima del servicio de Subscripciones y el ganador del premio. Por lo que en ningun caso nos hacemos responsables de cualquier incidente derivado, por perdida o incapacidad de canjear el bono. Nuestra responsabilidad queda limitada a la entrega del Bono, siempre y cuando este nos sea librado por el servicio anteriormente mencionado.

 

Posted by peplluis | with no comments
Filed under:

Atendiendo a la solicitud de nuestro amigo Aaron Cuevas, os dejos este ejemplo de como manejar los valores o propiedades de una aplicación o sus controles, utilizando My.Settings, en este ejemplo contemplamos la creación de ajustes manualmente o de forma automatica desde el control.

Podeis descargarlo haciendo 'click' en Attachments. 

Resto a vuestra disposición para comentar lo que estimeis oportuno.
Pep Lluis,

 

Posted by peplluis | with no comments
Filed under:

Este ejemplo nos muestra como crear un conjunto de filas y columnas en un DataGridView sin estar enlazado a ninguna fuente de datos, puede ser util en situaciones donde nos interesa representar datos en una cuadricula de visualizacion. Para evitar que el usuario pueda añadir filas, hemos puesto su propiedad ‘AllowUserToAddRows’ a ‘Falso’ y para evitar la edicion de las celdas ‘enabled’ en ‘Falso’. Os podeis entretener un poquito y si os interesa podeis ocultar la fila y columna que hace de cabezera o si preferimos podemos ponerles titulos, tambien personalizar el ancho / alto, el color … en fin.

 

 

Public Class Form1

    Private _MiDGV As New DataGridView      'Nuestro DataGrid

 

    '

    'Construir el aspecto de nuestro DataGrid

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        _MiDGV.Dock = DockStyle.Fill            'Acoplar al form

        _MiDGV.Enabled = False                  'Impedir la edicion

        _MiDGV.AllowUserToAddRows = False       'Sin opcion añadir filas

        'Dimensionar el ancho automaticamente

        _MiDGV.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill

        Me.Controls.Add(_MiDGV)                 'Añadir el Grid al form

        Me.OrdenN(3, 3)                         'Empezar con un orden 3*3

    End Sub

 

    '

    'Al pulsar las teclas 1/2/3/4/5

    Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp

        Select Case e.KeyValue              'Al pulsar .. 1/2/3/4/5

            Case 49 : OrdenN(1, 1)          'Crear un cubo de 1*1

            Case 50 : OrdenN(2, 2)          '2*2

            Case 51 : OrdenN(3, 3)          '3*3

            Case 52 : OrdenN(4, 4)          '4*4

            Case 53 : OrdenN(5, 5)          '5*5

        End Select

    End Sub

    '

    'Crear un Grid de dimension f(ilas) c(columnas)

    Private Sub OrdenN(ByVal f As Integer, ByVal c As Integer)

        Me._MiDGV.Rows.Clear()          'Eliminar todas las filas

        _MiDGV.ColumnCount = c          'Dimensionar el numero de columnas

        Me._MiDGV.Rows.Add(f)           'Dimensionar el numero de filas

 

        Dim Numerar As Integer = 0      'Numerar el contenido de las celdas

        For Each row As DataGridViewRow In Me._MiDGV.Rows

            For Each col As DataGridViewColumn In Me._MiDGV.Columns

                Numerar += 1

                row.Cells(col.Index).Value = Numerar.ToString

            Next

        Next

    End Sub

End Class

Posted by peplluis | 1 comment(s)
Filed under: