miércoles, 6 de mayo de 2009

Windows 7 Release Candidate disponible para todos

Pues si quieren probar la versión RC de Windows 7, ya pueden descargarlo desde aquí, esta versión caducará todavía en junio del 2010, así que a probarlo, pero teniendo cuidado de las recomendaciones.

sábado, 10 de enero de 2009

Windows 7 Beta para todos los interesado

Para todos los interesados en probar Windows 7, ya pueden descargarlo para realizar pruebas, apúrense que solo serán 2,5 millones de descargas y luego será bloqueado, pueden bajarlo de aquí

viernes, 19 de diciembre de 2008

Probando Ubuntu 8.10 Intrepid

Pues solamente para contarles que estuve sin actividad por motivos que estoy probando La ultima version de Ubuntu 8.10, y pues parece parece que voy a migrar todos los clientes de la empresa a Ubuntu 8.10, para ser primera vez que entro a este mundo, pues no me pareció demasiado hostil el entorno, claro que aún tengo un pequeño inconveniente por el sistema que está hecho para windows y aún no logro hacerlo funcionar del todo bien, pero creo que es cuestion de horas nada mas para estar corriendo sobre Ubuntu, tengo ya unidos los clientes al dominio con active directory, suite ofimática OpenOffice.org 3.0 y clientes de correo Thunderbird que es muy bueno y pues ahora a desarrollar con Monodevelop todo lo que venga de aqui en adelante.

Espero que todo salga bien y en un par de semanas les estaré contano mis experiencias, alegrías y desilusiones de este nuevo sistema operativo (nuevo para mí) y haber que cosas buenas me salga de todo esto.

martes, 28 de octubre de 2008

Microsoft da a conocer su Plataforma de Servicios Windows® Azure™ que aprovecha el desarrollo de la nube

Windows Azure Logo

La arquitectura y el entorno Windows® Azure™ dará a los desarrolladores capacidades integrales de diseño, desarrollo e implementación a través de aplicaciones y servicios con el uso de herramientas y tecnologías familiares

Microsoft presenta el prototipo del sistema operativo para aplicaciones basadas en web en el que está trabajando la compañía, que se espera que esté disponible en 2010.

Aquí les dejo el link a la nota de prensa 

Página oficial de Windows Azure

lunes, 14 de julio de 2008

Procedimientos Almacenados en Access y Vb2005

Bien, sé que el título no es el mas adecuado para este artículo, porque como todos sabemos MS Access, no soporta los Procedimientos Almacenados como SQL Server, pero podemos hacer algunas "cositas parecidas", claro que bastante limitadas, como puede ser el caso de agregar, actualizar, eliminar y consultar registros en las tablas. Sé que muchos dirán que en estos tiempos podemos usar SQL Express, pero hay quienes aún prefieren usar MS Access y sus motivos deben tener.

Ahora, si estamos haciendo una aplicación en capas, pues verán que si lo hacemos como les mostraré, no encontrarán mucha diferencia ni demasiado trabajo al momento de pasarse a un motor como SQL Server, pues trataremos en lo posible que la codificación sea casi idéntica como si estuviéramos usando SQL Server, y de esta manera, al cambiar de motor, solamente cambiaríamos en nuestra capa de acceso a datos la cadena de conexión y un par de líneas mas y no soplarnos toda la codificación como normalmente sería usando access.

Bueno para no aburrirlos mas acá va un par de pantallazos de la "aplicación" de ejemplo, debo aclarles que no soy un experto en estas materia, así que espero encuentre de su agrado lo que voy a compartir con todos ustedes y espero sus críticas constructivas que siempre son bienvenidas y bueno, las destructivas también. jejejeje.

Clie1

Este el formulario bastante sencillo solamente para efectos de prueba de inserción y consultar datos por motivos de tiempo, la idea es ver los procedimientos y no el formulario.

El código del Botón Aceptar que es donde inserto los registros

Private Sub BtnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAceptar.Click
       If MessageBox.Show("¿Seguro de Grabar los Datos ?", "Responda", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
            Try
               

Dim Cone As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Pruebas\Pruebas.mdb;Persist security info=false")

                Dim Comando As New OleDbCommand
               With Comando
                    Cone.Open()
                    .CommandText = "PA_Agrega_Clientes"
                    .CommandType = CommandType.StoredProcedure
                    .Connection = Cone
                    .Parameters.Add("@Codigo", OleDbType.Char, 10).Value = Me.TxtCodigo.Text
                    .Parameters.Add("@Nombre", OleDbType.VarChar, 50).Value = Me.TxtNombre.Text
                    .Parameters.Add("@Direccion", OleDbType.VarChar, 50).Value = Me.TxtDireccion.Text
               End With
                Dim Bien As Integer = Comando.ExecuteNonQuery
               If Bien = 0 Then
                    Throw New Exception("Falló la operacion de inserción")
               End If
                Comando.Dispose()
                Cone.Close()
                Cone.Dispose()
                MessageBox.Show("Datos Ingresados con éxito", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Catch ex As Exception
                MessageBox.Show(ex.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error)
           End Try
       Else
            MessageBox.Show("Operacion cancelada por el usuario", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
       End If
    End Sub

Alli está el código bastante sencillo con eso estamos insertando los registros (3) de lo cual solo quería comentarles este par de lineas:

.CommandText = "PA_Agrega_Clientes"
.CommandType = CommandType.StoredProcedure

el "PA_Agrega_Cliente", como se podrán dar cuenta vendría a ser el nombre de nuestro procedimiento almacenado, y el CommandType=CommandType.StoreProcedure, lo estoy dejando como si realmente se tratara de un procedimiento almacenado y no como CommandText que es lo normal que hacemos en access, y después los parámetros lo pasamos tan igual que como si fuera en SQL Server.

Ahora en la Base de datos (Access) tengo estos 4 Procedimientos, que no son otra cosa que consultas de accion, de las cuales tambien les haré ver el código que contiene.

Clie2

Estos son mis "Procedimientos" con los cuales estoy trabajando, ahora el código no es nada extraño como verán en la siguiente imagen.

Clie3 

Eso es todo, solo falta el código de como devuelvo los datos al Datagridview (Botón buscar)

Private Sub BtnBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBuscar.Click
       Try
           Dim Cone As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Pruebas\Pruebas.mdb;Persist security info=false")
            Dim DBComando As New OleDbCommand
            Cone.Open()
            If Me.TxtCodigo.Text <> "" Then
                With DBComando
                    .CommandText = "PA_BuscarCliente_X_Codigo"
                    .CommandType = CommandType.StoredProcedure
                    .Parameters.Add("@Codigo", OleDbType.VarChar, 10).Value = Me.TxtCodigo.Text
                    .Connection = Cone
                End With
           ElseIf Me.TxtNombre.Text <> "" Then
                With DBComando
                    .CommandText = "PA_BuscarCliente_X_Nombre"
                    .CommandType = CommandType.StoredProcedure
                    .Parameters.Add("@Nombre", OleDbType.VarChar, 50).Value = Me.TxtNombre.Text
                    .Connection = Cone
               End With
           End If
           Dim Adaptador As New OleDbDataAdapter(DBComando)
            Dim oCliente As New Cliente.ClientesDataTable
            Adaptador.Fill(oCliente)
            Cone.Dispose()
            Me.DtgLista.DataSource = oCliente
        Catch ex As Exception
            Throw New Exception(ex.Message)
        End Try
     End Sub

Clie4

Ese es el resultado de ejecutar el botón buscar, si se fijan estoy usando un esquema (XSD) de la tabla clientes que usé para el ejemplo y con eso es súper fácil como dije al principio si están haciendo su aplicación en capas no tendrán casi nada de trabajo al cambiar a un motor como SQL Server.

Espero les sirva de algo y las disculpas del caso por si encuentran algo de malo, mi excusa será el tiempo, jajajajaja.

Saludos

miércoles, 18 de junio de 2008

Reseteando temporalmente Impresora Canon

Bien, como dice el título, algunas veces (muchas) nos hemos encontrado en apuros porque teníamos que imprimir algún documento con suma urgencia en nuestra querida impresora Canon, y de pronto nos encontramos con que no podemos hacerlo y solamente obtenemos como respuesta un bendito mensaje que dice : "depósito de desecho de tinta lleno".

¿Que hacer ante esta situación?, tiramos la impresora y nos compramos otra?, llamamos a un técnico cada vez que nos sale el bendito mensaje?, pues hay una manera de evitarnos ese bendito mensaje y poder imprimir nuestros documentos sin problemas, claro que la solución es temporal, pero nos saca de apuros además debemos aclarar que esto se aplica a los modelos IP-1200, 1500 y 1600, en otros modelos no sé si funcionará o no sé si tendrán este problema, también aclarar que estos problemas se han presentado en los casos que los recargan manualmente los cartuchos utilizando jeringas y cosas así, usando cartuchos originales al menos no he visto ese problema, en fín vamos a los pasos que es lo que nos interesa.

Pasos:

  1. Apagar la impresora y desconectarlo, tanto el cable de poder como el cable que conecta al computador.

  2. Presionar el botón de Encendido, sin dejar de presionar conectamos el cable de poder.

  3. Sin dejar de presionar el botón de encendido presionar el segundo botón (leed).

  4. Sin dejar de presionar el botón de encendido, soltar el segundo botón(leed).

  5. Sin dejar de presionar el botón de encendido, presionar nuevamente el segundo botón (leed), y finalmente soltamos ambos botones al mismo tiempo.

Hecho esto ya podemos utilizar la impresora nuevamente, por supuesto como ya dije líneas arriba, esta es una solución temporal, ya que es posible que siempre que encendamos nuestra impresora será necesario realizar todo este procedimiento.

Buscando en internet, tambíen encontré un artículo llamado Extender el tiempo de vida de nuestro impresor Canon, que me parece muy bueno, espero lo disfruten.

martes, 10 de junio de 2008

INVITACION A FORMAR PARTE DE TECHNET

http://www.microsoft.com/latam/technet/welcome/

"En 2007 compartiste con nosotros tu preocupación por tres cuestiones fundamentales para tu desempeño profesional: el manejo de la seguridad, la calidad de los sistemas de IT y la simplificación de los esquemas de licenciamiento para que sean más adecuados a tus necesidades.
Gracias a tus comentarios tenemos una agenda de trabajo llena de desafíos y proyectos para mejorar nuestra oferta. Contamos con gran cantidad de recursos y tecnologías nuevas para compartir con nuestra comunidad,
y estamos en constante desarrollo para satisfacer tus intereses.

Conócelas: ¡TechNet es tu comunidad!"

Aqui encontrarás info sobre

  • Centro de Formación de Technet (capacitación para ItPros)
  • Microsoft Virtual Academy (MVA)
  • Profesional Cinco Estrellas (PCE)
  • Newsletters (boletines).

http://www.microsoft.com/latam/technet/welcome/