Todas las entradas de: peplluis

¡CatDotNet!

Venga! Venga! CATDOTNET


Ayer 26.03.2008 pudimos asistir al nacimiento oficial de CatDotNet, un grupo con un increíble potencial humano dispuesto a comerse  «la Catalunya Central» a base de ilusión y pasión por divulgar la tecnología que nos ocupa la mayor parte de nuestro tiempo, eso sí! En compañía de personas con mucho ‘talante’ como el recién estrenado Presidente José Miguel Torres  y como no soportado por el artífice Lleonar del Rio. A falta de nombrar el resto de plantilla por temor a que la memoria se despiste de alguno, decir que el mejor aval de CatDotNet esta en el gran equipo que han sido capaces de formar y comprometer.


¡FELICIDADES! …  sin duda esta noticia refuerza la estupenda experiencia que brinda poder participar y pertenecer a la gran familia de grupos que en España alcanza ya casi su veintena.


Estaremos al tanto de sus gestas.
http://www.catdotnet.org/


PD. Para variar fue un placer compartir mesa con Vicenç Masanas y Marc Rubiño, peazo apasionaos capaces de conducirse durante dos Horas para arrimarse dando soporte a una comunidad donde compartir y colaborar se convierte en prioridad.

Vacaciones de Semana Santa

Hola a todos,


Algunos de vosotros estáis contactando a través de este blog para resolver alguna que otra consulta… en Semana Santa algunos tenemos la suerte de poder hacer un paréntesis y tomarnos un adelantado descanso. En tanto volvamos de vacaciones estaré respondiendo a todas las consultas pendientes, aproximadamente a partir del próximo Martes.


Hasta la vuelta y que disfrutéis de este paréntesis… sobre todos los que podáis tomaros estas «mini vacaciones»
Pep Lluis,

Yo de Tu/Ti no me lo perderia… forastero :-))

Heroes Community Launch 


En 2001 y de la mano de Anders Helsjberg asistimos al nacimiento de un nuevo entorno y filosofia de desarrollo llamado .NET, desde entonces en 2002/2003 afianzamos su posicionamiento como mejor entorno integrado, en 2005 disfrutamos de la fiabilidad, solidez y madureza. Ven a conocer de primera mano el mejor de los entornos integrados de todos los tiempos para desarrollo rapido de aplicaciones y saborea los nuevos algoritmos con la integracion de consultas en lenguaje, o los nuevos paradigmas orientados a servicios.

¿como puedo saber las propiedades disponibles del «user» en mi LDAP?

Dim EntradasEnElDirectorio As New DirectoryEntry(«LDAP://mi.servidor.com»)
Dim BusquedaEnElDirectorio As New DirectorySearcher(EntradasEnElDirectorio)
BusquedaEnElDirectorio.Filter = «(ObjectClass=user)»
Dim EntradaEnDirectorio As DirectoryEntry
    For Each Busqueda As SearchResult In BusquedaEnElDirectorio.FindAll()
         EntradaEnDirectorio = Busqueda.GetDirectoryEntry
         For Each propiedad As String In EntradaEnDirectorio.Properties.PropertyNames
              Me.ListBox1.Items.Add(propiedad)
         Next

     Next


 


Saludos,


Pep Lluis

Saber de nuestros Usuarios en LDAP, Rerellando un GridView desde una Consulta.

LDAP

‘Saber de los Usuarios en nuestro LDAP
Imports System.DirectoryServices        ‘Espacio de nombres
Public Class Form1
    Private Datagrid As New DataGridView
    ‘Constructor para nuestro DataGridView
   
    ‘ Nuestra particular clase para definir un Usuario
    Private Class UserInfo
       
        ‘Leer/Asignar su nombre
        Private m_Nombre As String
        Public Property Nombre() As String
            Get
                Return m_Nombre
            End Get
            Set(ByVal value As String)
                m_Nombre = value
            End Set
        End Property
       
        ‘Leer/Asignar su Descripcion
        Private m_Descripcion As String

        Public Property Descripcion() As String
            Get
                Return m_Descripcion
            End Get
            Set(ByVal value As String)
                m_Descripcion = value
            End Set
        End Property
    End Class
   
    ‘ Al Cargar el Formulario
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ‘Incorporar el DataGridView a nuestro form
        Me.Controls.Add(Datagrid)
        Me.Datagrid.Dock = DockStyle.Fill           ‘Ocupar toda el area del form
        Me.Datagrid.AllowUserToAddRows = False      ‘No se puede añadir celdas
        Me.Datagrid.AllowUserToDeleteRows = False   ‘No se puede eliminar celdas
        Me.Datagrid.EditMode = DataGridViewEditMode.EditProgrammatically
        ‘Nuestros apuntes en el directorio del Servidor
        Dim EntradasEnElDirectorio As New DirectoryEntry(LDAP://Servidor)
        ‘Nuestro buscador
        Dim BusquedaEnElDirectorio As New DirectorySearcher(EntradasEnElDirectorio)
      
 ‘Filtro de busqueda
        BusquedaEnElDirectorio.Filter = «(ObjectClass=user)»
    
   ‘Leer las entradas de usuario
        Dim Entradas = From usuario As SearchResult In BusquedaEnElDirectorio.FindAll() _
                       Select usuario.GetDirectoryEntry
        ‘Rellenar el DataGridView con el resultado de la consulta, con la info requerida
        Datagrid.DataSource = _
        (From usuario In Entradas _
        Select New UserInfo() With {.Nombre = usuario.Properties(«name»).Value, _
                                    .Descripcion = usuario.Properties(«description»).Value}).ToList
    End Sub
End Class 

Saber de nuestros Usuarios en el LDAP, con DataGrid desde Consulta integrada

 

‘Saber de los Usuarios en nuestro LDAP
Imports System.DirectoryServices        ‘Espacio de nombres Public Class Form1
    Private Datagrid As New DataGridView
    ‘Constructor para nuestro DataGridView
   
    ‘ Nuestra particular clase para definir un Usuario
    Private Class UserInfo
       
        ‘Leer/Asignar su nombre
        Private m_Nombre As String
        Public Property Nombre() As String
            Get
                Return m_Nombre
            End Get
            Set(ByVal value As String)
                m_Nombre = value
            End Set
        End Property
       
        ‘Leer/Asignar su Descripcion
        Private m_Descripcion As String

        Public Property Descripcion() As String
            Get
                Return m_Descripcion
            End Get
            Set(ByVal value As String)
                m_Descripcion = value
            End Set
        End Property
    End Class
   
    ‘ Al Cargar el Formulario
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ‘Incorporar el DataGridView a nuestro form
        Me.Controls.Add(Datagrid)
        Me.Datagrid.Dock = DockStyle.Fill           ‘Ocupar toda el area del form
        Me.Datagrid.AllowUserToAddRows = False      ‘No se puede añadir celdas
        Me.Datagrid.AllowUserToDeleteRows = False   ‘No se puede eliminar celdas
        Me.Datagrid.EditMode = DataGridViewEditMode.EditProgrammatically
        ‘Nuestros apuntes en el directorio del Servidor
        Dim EntradasEnElDirectorio As New DirectoryEntry(LDAP://Servidor)
        ‘Nuestro buscador
        Dim BusquedaEnElDirectorio As New DirectorySearcher(EntradasEnElDirectorio)
      
 ‘Filtro de busqueda
        BusquedaEnElDirectorio.Filter = «(ObjectClass=user)»
    
   ‘Leer las entradas de usuario
        Dim Entradas = From usuario As SearchResult In BusquedaEnElDirectorio.FindAll() _
                       Select usuario.GetDirectoryEntry
        ‘Rellenar el DataGridView con el resultado de la consulta, con la info requerida
        Datagrid.DataSource = _
        (From usuario In Entradas _
        Select New UserInfo() With {.Nombre = usuario.Properties(«name»).Value, _
                                    .Descripcion = usuario.Properties(«description»).Value}).ToList
    End Sub
End Class 

 

Saber sobre los Usuarios registrados en nuestro LDAP

En determinadas situaciones resulta de gran utilidad poder saber mas acerca de nuestros usuarios preguntando al LDAP de nuestro dominio.


Espero que os sea de utilidad.

‘Saber de los Usuarios de nuestro LDAP 
Imports System.DirectoryServices ‘Espacio de nombres
 Public Class ServiciosDeDirectorio
    Private listBox1 As New ListBox() ‘Constructor del ListBox
    Private Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ‘Nuestros apuntes en el direccio
        Dim EntradasEnElDirectorio As New DirectoryEntry(«LDAP://miServidor»)
        ‘Nuestro buscador
        Dim BusquedaEnElDirectorio As New DirectorySearcher(EntradasEnElDirectorio)
        ‘Filtro de busqueda, en nuestro caso usuarios
        BusquedaEnElDirectorio.Filter = «(ObjectClass=user)»
        ‘Nuestra entrada de usuario en cuestion
        Dim EntradaEnDirectorio As DirectoryEntry
        ‘Incorporar el listbox a nuestro form
        Me.Controls.Add(listBox1)
        Me.listBox1.Dock = DockStyle.Fill ‘Ocupar toda el area del form
        ‘Para cada entrada en el directorio
        For Each Busqueda As SearchResult In BusquedaEnElDirectorio.FindAll()
            ‘Obtenerla
            EntradaEnDirectorio = Busqueda.GetDirectoryEntry
            ‘Añadir la informacion (en nuestro caso nombre/descripcion)
            Me.listBox1.Items.AddRange(New Object() { _
                EntradaEnDirectorio.Properties(«name»).Value, _
                Space(12) + «->» + _
                EntradaEnDirectorio.Properties(«description»).Value _
                })
        Next   
    End Sub
 
End Class

 

Un año mas!

Saludo Navideño


La llegada de la Navidad, y en sí, el inicio de un nuevo año, hace despertar en una mayoría de nosotros diversas e incontenibles emociones y sentimientos. Sin saber exactamente porque razón, invaden nuestro interior, haciendo de estos, unos días muy especiales. Cuando se tiene la oportunidad de dirigirse a una comunidad en pro de transmitir un saludo, uno no puede evitar de pensar en frases sencillas entorno a la paz, la salud, el amor y todo lo relacionado con la felicidad, nuestro esfuerzo personal para conseguirlo, a demás de hacernos mejores personas en ese sentido, hace que este, nuestro mundo,  sea un mundo mejor.


Hoy he mirado a las estrellas y en mi pequeñez intento buscar la humildad consciente de saberme un privilegiado que puede ocupar parte del día en compartir y divulgar su granito de conocimiento técnico con una inmensa comunidad que entiende un lenguaje común, la generosidad.


Desde esta pequeña ventana, no hay mejores fechas para demostrar mi admiración y reconocimiento a todos los anónimos, a todos esos incansables desinteresados que con su trabajo, entrega y participación hacen posible que este hilo sea una realidad por donde circula la energía hispana en forma de pasión por la tecnología.


Feliz Navidad y los mejores deseos para este 2008.
Pep Lluis.

Una alternativa al SerialPort.ReadLine

Atendiendo algunas dudas sobre como optimizar la recepción de datos utilizando ‘ReadLine’, y a falta de un ejemplo completo os facilito una alternativa.

La idea es llamar a la funcion de recepcion siempre que se reciben datos y disparar el evento de trama completa cuando se cumple la condicion de carácter final.

Imports
System.IO.Ports 
Public Class PortsSerie       
 ‘
   
 ‘Declarar el evento disparo fin de recepcion
   
 Public Event RxFin(ByVal Trama As String)
   
 ‘   
 ‘String de recepcion utilizado como buffer   
 Private PortSerie_Recepcion As String = «»
   
 ‘Anadir el manipulador de recepcion en la sub New, Load…
   
 AddHandler
PortSerie.DataReceived, AddressOf Rx
 
 Protected
Sub Rx(ByVal sender As Object, _
                  ByVal e As serialDataReceivedEventArgs)
       
   Try
    
‘Añadir la recepcion actual al buffer           
     
PortSerie_Recepcion += PortSerie.ReadExisting           
    
If PortSerie_Recepcion.Contains(Chr(13)) Then
               
        
RaiseEvent RxFin(PortSerie_Recepcion)               
        
PortSerie_Recepcion = «»
           
    
End If       
  
Catch ex As Exception
    
‘En caso de excepción        
 
End Try
   
 End Sub
End Class


Espero que esto os sirva de idea, esperando dejaros un ejemplo para descargar tan pronto como me sea posible.
Saludos,
Pep Lluis,