Gracias a todos

0

Escrito en Enero 16, 2012 por Alex

Gracias a todos por sus comentarios, sobre todo los del área de .Net. En este post quiero decirles que por falta de tiempo no puedo contestar a sus preguntas y dudas y que el blog estará abierto para consultas un poco más tiempo.

Saludos Alex

Vote This Post DownVote This Post Up (No Ratings Yet)
Loading ... Loading ...

¿Porqué luchar si la derrota está anunciada?

0

Escrito en Abril 13, 2011 por Alex

Más de una vez me encuentro a mí mismo reprochándome el no haber sido capaz de sumergirme en el mundo de activismo y revolución que en mis sueños podría cambiar el mundo. La verdad que me gustaría poder decir que lo que hago tiene un impacto verdadero en nuestras vidas, que de verdad mi trabajo contribuye a hacer una sociedad mejor…
Y sin embargo me siento continuamente como un peón más que contribuye a mover la máquina capitalista. ¿Qué hace de mi trabajo algo distinto, algo verdaderamente positivo? Nada. Y sin embargo, mis prácticas de consumo contribuyen, como las de cualquier hijo de vecino, a hacer de este mundo un lugar cada día más insoportable.
Lo que más me acongoja son esas retahílas de: el mundo es así, total, que otra cosa quieres, los hombres son malvados demonios a los que no se les puede confiar nada, sólo se les puede controlar con cárceles, o dejarlo todo en el mercado invisible que lo controla todo (a pesar de no existir) o yo que sé. De corazón os digo que si me pongo a creerme todo estoy me echo de cabeza a luchar en el Rainbow Warrior para abogar por la desaparición del hombre en el mundo; o mejor me voy a las filosofías hindúes que dicen que debemos dejar al hombre que se destruya a sí mismo, que la naturaleza ya se regenerará después de la desaparición del hombre… vamos, de aquí a predicar el día del juicio final, un paso de los de Torrebruno.
En su infinita sabiduría Zen la cultura japonesa nos a arrojado metáforas e historias sobre la eterna lucha entre el hombre y la naturaleza. Un ejemplo muy hermoso de esto es una de las películas de animación más fantásticas de todos los tiempos: La Princesa Mononoke. Sen, la princesa Mononoke es una chica a la que han criado los lobos y ahora les ayuda a destruir a los humanos que gradualmente destruyen el bosque para extraer hierro.

Vote This Post DownVote This Post Up (No Ratings Yet)
Loading ... Loading ...

Parámetros en Crystal report y Visual Basic

16

Escrito en Septiembre 26, 2009 por Alex

Muchas veces necesitamos pasar el contenido de una variable al reporte de Crystal report sin necesidad de acudir a la base de datos.
En Visual Basic.Net esto es posible con la utilización de parámetros y aquí está un sencillo código de ejemplo:

Dim Ds As DataSet
Dim myReport As New ReportDocument
Dim sNombre as string="Juan Pérez"
 
 Try
Ds = fReporte("SELECT * FROM alumnos")
myReport.Load(My.Application.Info.DirectoryPath & "\MyReport.rpt")
myReport.SetDataSource(Ds)
 
'AQUI DECLARAMOS UN PARAMETRO
myReport.SetParameterValue("nombre", sNombre)
 
'CRV1 es el control Report Viewer donde se muestra el reporte
 CRv1.ReportSource = myReport

Como podemos ver he declarado un parámetro llamado “nombre” y le estoy pasando la variable sNombre.

Ahora dentro del diseñador de reportes de Crystal, es decir, dentro de MyReport.rpt, vamos a crear un “Campo de parámetro” y le ponemos un nombre y en texto de solicitud le ponemos el mismo nombre identico al que hemos puesto aquí: “nombre”.
Dentro del apartado “Campos de parámetro” ahora existirá nuestro campo el cual agregaremos al reporte y lo situaremos donde creamos conveniente como a cualquier otro campo.

Vote This Post DownVote This Post Up (2 rating, 2 votes)
Loading ... Loading ...

Reportes desde Mysql en Vb.net

35

Escrito en Julio 16, 2009 por Alex

Les pongo un ejemplo para crear reportes en Crystal reports utilizando una base de datos de Mysql.

Utilizaremos una base de datos llamada “Mibase” con una tabla llamada “alumnos” con tres campos “nombre”, “apellidos” calificacion” .

Para este ejemplo lo primero que necesitamos hacer es crear un archivo XML con la estructura de la tabla. Para esto utilizamos el Dataset con su método WriteXml

'importar espacios de nombres
Imports MySql.Data
Imports MySql.Data.MySqlClient
 
'dentro de la clase
    Dim Ds As New DataSet
    Dim Con As New MySqlConnection
    Dim Cmd As New MySqlCommand
    Dim Da As New MySqlDataAdapter
 
'Esto puede estar dentro de un botón o dentro del procedimiento Load
Private Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
'variable cadena de conexión
        Con.ConnectionString = "server=localhost;uid=root;password=mipass;database=mibase"
        cmd.Connection = Con
        Con.Open()
 
'Aquí escribimos la query de la tabla que necesitamos con los datos que necesitamos
Cmd.CommandText = "select * from alumnos"
        Da.SelectCommand = cmd
        Da.Fill(Ds)
 
'aqui es donde creamos el archivo XML en la unidad C
        Ds.WriteXml("C:\productos.xml", XmlWriteMode.WriteSchema)
    End Sub

Ahora ya tenemos un archivo XML en la ruta que escribimos. Lo siguiente que tenemos que hacer es agregar las referencias a crystal Reports.
Para agregar las referencias Crystal reports nos vamos al menu Proyecto-Agregar referencia…
y en la pestaña de .Net seleccionamos las siguientes:

CrystalDecisions.CrystalReports.Engine
CrystalDecisions.ReportSource
CrystalDecisions.Shared
CrystalDecisions.VsDesigner
CrystalDecision.Web
CrystalDesicions.Windows.Forms

Agregamos un segundo formulario llamado form2 donde insertaremos el reporte, despues en el cuadro de herraminetas agregamos el componente CrystalReportViewer. Le ponemos de nombre CRV1

Tambien insertamos un CrystalReportDocument al que llamaremos CR1.

Dentro ya del CrystalReportDocument nos vamos al explorador de campos y damos clic derecho sobre el, dentro del menu que aparece damos clic en el Asistente de Base de datos.

Ya dentro del asistente desplegamos la carpeta “Crear nueva conexión” dentro de esta desplegamos “ADO.Net”. Se abrirá una nueva ventana donde nos pidde la ruta del archivo; es ahi donde le diremos donde se encuentra el archivo que acabamos de crear de tipo XML. Damos clic en finalizar.
Despues seleccionamos la tabla que apareció y la mandamos con el boton “>” a la columna de la derecha para agregarla y damos clic en aceptar.

Como podemos ver ya tenemos agregados los campos a la lista desplegable en el explorador de campos. Solo nos queda arrastrar al contenido del reporte los campos y acomodarlos a nuestro gusto.

Ahora para llamar al reporte escribimos estas lineas en el form2:

mports System.Data
Imports MySql.Data.MySqlClient
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.ReportSource
Imports CrystalDecisions.Shared
 
Public Class Form2
    Dim Ds As New DataSet
    Dim Con As New MySqlConnection("server=localhost;uid=root;password=mipass;database=alumnos")
 
    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim Cmd As New MySqlCommand(sql, Con)
        Dim Da As New MySqlDataAdapter(Cmd)
 
        Dim myReport As New ReportDocument
        Da.Fill(Ds)
 
        myReport.Load(My.Application.Info.DirectoryPath & "\CR1.rpt")
        myReport.SetDataSource(Ds)
        CRV1.ReportSource = myReport
 
    End Sub
    Public Function LeerColumna(ByVal nTabla As String, ByVal nColumna As String, ByVal Valores As ComboBox) As Boolean
        Dim Sql As String = "SELECT * FROM " & nTabla
        Dim DR As MySqlDataReader
        Dim Comando As New MySqlCommand("SELECT " & nColumna & " FROM " & nTabla, Con)
 
        Try
            If Not Con Is Nothing Then Con.Close()
            Con.Open()
            DR = Comando.ExecuteReader()
 
            If DR.HasRows = False Then
                Return Nothing
                Exit Function
            End If
 
            While DR.Read()
                Valores.Items.Add(DR(nColumna))
            End While
 
            Return True
        Catch ex As Exception
            Return False
 
        Finally
            DR = Nothing
            Comando = Nothing
            Con.Close()
        End Try
    End Function
 
End Class

Con esto desde el form1 llamamos al form2 con form2.show() y se mostrara el reporte.

Vote This Post DownVote This Post Up (2 rating, 2 votes)
Loading ... Loading ...

Cuidado de las baterías de Litio-Ion

5

Escrito en Abril 10, 2009 por Alex

Sólo hay una forma correcta de cargar una batería de litio: cargándola a menudo. De hecho, lo cierto es que la batería durará más cargándola cada poco que haciendo ciclos completos.

El sistema usado por las baterías de litio no es igual que el de las de níquel, la principal diferencia radica en que éstas no necesitan de ningún tipo de preparación previa, la primera carga es exactamente igual que la quinta o la número 50. Asimismo, el pensamiento generalizado de que la primera carga de la batería ha de ser de 8 horas o más es sólo una idea anticuada y equivocada que pertenece a los ya pasados días de las viejas baterías de níquel.

A diferencia de las baterías de níquel y plomo, las actuales de litio no necesitan de ciclos completos de carga y descarga. La preparación previa o “rodaje” que necesitaban las viejas baterías de níquel no será efectiva en las de litio ya que su capacidad máxima está a nuestra disposición desde el principio.Es completamente falso el pensamiento de que estas baterías alcanzan su máximo potencias después de unas cargas. Al igual que tampoco necesitan ser descargadas al completo para mejorar la capacidad, de hecho se debe evitar usar la batería hasta que se agote por completo. Lo recomendado es simplemente descargarlas hasta un 80% y recargarla más a menudo. Sin embargo, la descarga completa y su posterior carga reiniciarán el circuito de la batería y mejorará la precisión del estado de carga de ésta, es decir, el indicador de la batería será más preciso. Sin embargo, una descarga completa de la batería podría dañar los circuitos y dejarla inservible. Es importante aclarar que esta recomendación es sólo válida para aquellas baterías que tienen incorporado un mecanismo de “control de carga”, como pueden ser las baterías de gran tamaño como la de los portátiles. Sólo se ha de proceder de esta forma cuando se detecte que el aparato indica incorrectamente el estado de carga de la batería.

¿Cómo debería preparar mi nueva batería?
Las baterías de litio ya vienen parcialmente cargas por lo que se pueden usar inmediatamente y cargarlas cuando sea necesario. No necesitan de un periodo de “rodaje” ni de de ningún tipo de “ritual” previo.

¿Podría estropear mi batería con una incorrecta preparación previa?
No. No importa que la primera carga sea parcial o completa, y no necesita ningún tipo de preparación previa. Este tipo de baterías tienen su máximo de capacidad desde el primer día, por tanto no necesitan de un periodo de “rodaje”, es un falso mito el que las baterías de litio necesitan de varias cargas para alcanzar su máximo potencial. La batería pierde su capacidad con el tiempo, tanto si se usa como si no, su duración en tiempo ronda sobre los tres años y tiene un aguante máximo de unos 500 ciclos.

¿Cómo ajusto el indicador de carga?
Se debe hacer una descarga y carga completa cada 30, aproximadamente. Esto se debe repetir cuando el indicador se vuelve impreciso.

¿Debería agotar la carga de la batería antes de cargarla?
No. Es mejor recargarla a menudo evitando las descargas completas. Las baterías que incluyen su propio indicador de batería puede realizarse una descarga completa cada mes para reiniciar dicho indicador.

¿Debería cargar la batería al completo o sólo parcialmente?
No importa, se puede cargar por partes. La carga total de la batería se detiene automáticamente cuando se alcanza el nivel máximo del voltaje por lo que cargar la batería al máximo es seguro y no se estropeará.

¿Pierde la batería su carga con el tiempo?
Sí. En esto influyen muchos factores, como la temperatura a la que esté sometida la batería pero, aproximadamente, la batería sufre una descarga diaria de un 0,2%.

¿Debería quitar la batería del cargador cuando se ha terminado de cargar?
Tampoco importa ya que el cargador para de cargar automáticamente cuando la batería está llena. De todas formas no conviene dejarlas siempre en estado “cargando” (como suceden con los portátiles) ya que el transformador podría fallar o algún corte en la corriente podría dañar el cargador o la batería.

¿Cómo debo almacenar mi batería?
Si no vamos a usar nuestra batería debemos guardarla en un lugar seco y a temperatura ambiente, alejada de las fuentes extremas, tanto de calor como de frío. Lo ideal es dejar cargada la batería sobre un 40% de su capacidad, por eso las baterías vienen cargadas de fábrica con una pequeña carga. Una batería con media carga mantendrá mucho mejor su carga que si está cargada al completo. NUNCA se ha de almacenar completamente descargada.

¿Y qué pasa con mi portátil?
En el caso de un ordenador portátil el principal enemigo es la temperatura. Por esta razón no se debe dejar la batería del portátil metida cuando no estamos funcionando con ella. Un portátil debería estar conectado a la red eléctrica cuando no está en uso puesto que el calor que desprenden estos aparatos reduce considerablemente la vida de las baterías. Un caso hipotético: si conserváramos nuestra batería del portátil al 100% a unos 60ºC después de 3 meses conservaría sólo el 60% de su capacidad total. Las baterías de Litio son mucho más sensibles a la temperatura que sus predecesoras de níquel.

Si hablamos de la duración de una carga, entonces dependerá de las características de cada batería y dispositivo, pero aquí tienes siete medidas que nos ayudarán a maximizarla y solo en caso que queramos trabajar con la bateria y no necesitemos de estas funciones:

  • Aléjalas del calor: Las baterías de Li-Ion son sumamente susceptibles a las altas temperaturas, por lo que usar tus dispositivos en un ambiente fresco extenderá su funcionalidad.
  • Apaga las transmisiones inalámbricas: Los infrarrojos (IrDA), Bluetooth y Wi-Fi son verdaderos vampiros de electricidad, siendo equivalentes a mantener un celular en uso todo el tiempo. Apaga estas funciones cuando no sean necesarias.
  • Evita usar tu unidad de CD o DVD: El gasto no sólo corre por cuenta del láser, sino también del motor que hace girar el disco. Y mejor ni hablar de los grabadores…
  • Reduce el brillo de la pantalla: Algunos equipos lo hacen en forma automática pues, entre menos luz generen, menos energía demandarán.
  • Retira tarjetas de memoria o llaves USB: No dejes que sus dimensiones reducidas te engañen, pues energizarlas requiere un flujo adicional de electricidad. Esto es especialmente válido para dispositivos pequeños, como teléfonos o PDAs.
  • Evita usar aplicaciones de audio: Aún con audífonos, la generación de sonido requiere un gasto constante de energía. Peor todavía si se alimentan parlantes externos.

Al final hay que mencionar que debemos evitar ser paranoicos y cuidarlas en exceso de manera obsesiva ya que si tenemos un equipo portátil es para sacarle ventaja a su portabilidad y sin duda lo que más consumimos es la bateria. Así que si una bateria te dura durante dos años es bueno y a comprar otra.

Parte de este artículo esta tomado del blog del francotirador.cl y se recomienda leer el artículo completo ahí publicado Baterías de Litio-Ion: Mitos y Leyendas

Vote This Post DownVote This Post Up (1 rating, 1 votes)
Loading ... Loading ...

Reproducir audio con Visual Basic .Net

78

Escrito en Marzo 8, 2009 por Alex

Con visual Basic .Net podemos reproducir archivos de audio como mp3 o Wav.

Lo único que necesitamos es agregar el componente Windows Media Player al cuadro de herramientas. Para esto, damos clic derecho sobre el cuadro de herramientas y seleccionamos la opción “Elegir elementos”.

Hacemos clic en la ficha “Componentes COM” y buscamos el componente “Windows Media Player” que en su ruta de acceso apunte hacia: msdxm.ocx.
Continar leyendo! »

Vote This Post DownVote This Post Up (1 rating, 1 votes)
Loading ... Loading ...