Mostrando entradas con la etiqueta Publicaciones. Mostrar todas las entradas
Mostrando entradas con la etiqueta Publicaciones. Mostrar todas las entradas

domingo, 20 de marzo de 2016

VB.NET AND ACCESS: 1. Conecxion y Loggin

Introducción
Aunque personalmente prefiero usar MySQL como motor de base de datos, por cosas del trabajo se me ha dado la oportunidad de trabajar con Access últimamente y aunque no me he tomado con mayores problemas hasta el momento, las cosas si son un poco diferentes, por lo cual voy a publicar una serie de ejemplos para fomentar el uso de estas tecnología en pequeños desarrollos.

En cuanto al desarrollo de software

Bueno en esta ocasión empezare a publicar un programa completo desarrollado en VB.NET y que se conecte a una base de datos (Access como ya sabemos).

Empezaremos por realizar el Loggin o formulario de inicio de sesión, así que una vez tengamos creado nuestro proyecto agregaremos un nuevo formulario pero del tipo “Formulario de inicio de sesion”

Si no sabes cómo se realiza esto, en el panel superior de VB.NET; esta la opción “Proyecto” y luego damos en “Agregar Windows Form…” y en la ventana que aparecerá seleccionar “Formulario de Inicio de Sesión”

Una vez creado esto, el siguiente paso es crear un modulo; Presionamos en “Proyecto”>”Agregar modulo…”


Ahora en el módulo que acabamos de crear vamos a agregar el siguiente código y debería quedarnos así:

Module Module1
    Public conn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\Camel\Desktop\HelloBD.mdb; Jet OLEDB:Database Password=Rosa1253;")

    Public Function conectarBD()
        Try
            conn.Open()
            Return True
        Catch ex As Exception
            'Return False
            MsgBox("Error en la conexion a DB" + vbCrLf + "Contacte al programador" + vbCrLf + "Error: " + ex.ToString)
        End Try
    End Function

End Module


En este módulo tenemos para iniciar la variable "conn" que será la que contiene la dirección y las credenciales de nuestra base de datos para posteriormente conectarnos a ella. No olvides cambiar C:\Users\Camel\Desktop\HelloBD.mdb por la ubicación de tu base de datos y Rosa1253 por la contraseña de la misma.

Como segundo elemento en el módulo tenemos una función pública que se llama conectarBD que como su nombre lo indica es la encargada de conectar nuestro programa a la base de datos.

Como segundo paso nos iremos al LoginForm que creamos antes y al final agregaremos el siguiente
método

Private Function Loggiar(ByVal user As String, ByVal pswd As String)
        Dim cmd5 As New OleDb.OleDbCommand
        Dim dr5 As OleDb.OleDbDataReader

        cmd5.Connection = conn
        cmd5.CommandType = CommandType.Text

        cmd5.CommandText = "Select * FROM Funcionarios Where Usuario='" & user & "' AND Pswd='" & pswd & "'"

        Try
            dr5 = cmd5.ExecuteReader()


            If dr5.HasRows Then

               
                Dim x = 0
                While dr5.Read

                   
                    'contraseña = (dr5(2).ToString)
                    'Iniciar(dr5(4).ToString, dr5(3).ToString, dr5(5).ToString)

                    x = x + 1
                    Return True
                End While


            Else
                Return False
            End If

            dr5.Close()
        Catch ex As Exception
            MsgBox(ex.ToString)
            End
        End Try

    End Function

Además de esto en el método FormLoad del formulario agregaremos la sentencia que llama a la
conexión a la base de datos y nos quedara algo como esto:

Private Sub LoginForm1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        conectarBD()

    End Sub

Ahora en el botón Ok agregaremos la sentencia que será la encargada de llamar y enviar parámetros a nuestro método de verificación que es Loggiar() y lo haremos de esta manera

Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
        If Loggiar(Me.UsernameTextBox.Text, Me.PasswordTextBox.Text) = True Then
            'Ingreso correctamente
            Form1.Show()
        Else
            'Datos incorrectos
            MsgBox("Error")
        End If

    End Sub

Y ahora como ultimo paso debemos configurar nuestro programa para que el formulario de inicio sea FormLogin y no Form1 como viene por defecto, para hacer esto lo que haremos es ir al panel superior, pinchar en “Proyeto” Seleccionar la última opción que dice “Propiedades de [Nombre de tu proyecto] y en la pestaña que dice “Formulario de inicio” cambiar por “LoginFomr1”

En cuanto a la base de datos

El criterio de la base de datos es suya, pueden manejar la estructura que más les convenga. En mi caso tengo una tabla Usuarios y contiene los campos Usuario (Nickname) y Passsword (La contraseña de dicho usuario)

cmd5.CommandText = "Select * FROM Funcionarios Where Usuario='" & user & "' AND Pswd='" & pswd & "'"

En caso de que tu estructura no sea igual solo modifica los campos y el nombre de la tabla y con eso será suficiente.




martes, 13 de mayo de 2014

Programación basica de una extensión para Google Chrome

Introducción
 En la programación de extensiones para Google Chrome se necesita crear una serie de archivos los cuales crean una estructura que es la que el navegador interpreta como la “Extensión”. Ya que las extensiones son como programas; pueden llegar  a realizar miles de funciones, la función o necesidad que satisfaga dicha extensión o programa depende total y enteramente del programador y del publico al cual valla dirigido, por lo cual es imposible para mi enseñarles a crear una extensión propiamente dicha, ya que como acabo de mencionar depende de lo que ustedes como programadores quieran hacer.

Pero si les voy a enseñar a realizar la estructura básica que debe tener toda extensión para este navegador y además les voy a dar unas pautas de programación para los que no tienen el conocimiento en programación tan avanzado

Información
ü  El lenguaje que se utiliza para las extensiones es un poco de HTML y mucho JavaScript, así que si no manejas este lenguaje de programación o si lo manejas muy básico, te recomendaría que antes de continuar con este tutorial investigues y practiques un poco este lenguaje.
Te recomiendo iniciar leyendo  “Introducción a JavaScript” escrito por Javier Eguiluz Que puedes encontrar en este sitio web:
O la versión PDF en:
En donde se da una breve explicación de todo lo que es  JavaScript y está muy bien explicado.

ü  Si tienes experiencia en programación web, seguramente tienes Dreamweaver instalado en tu ordenador, en caso de que no lo tengas puedes usar un editor de texto muy sencillo y liviano para la descarga llamado NotePad2. Puedes utilizar cualquiera de los dos programas, ya que el código en ambos es exactamente igual.

ü  Y lo último que debes tener en cuenta es que la documentación para extensiones de Google en español es muy escasa, por no decir inexistente, así que no estará de más manejar un poco el ingles, ya que las paginas de las que nos guiaremos están en este idioma


Contenido
Lo primero que vamos a hacer es crear una carpeta en el escritorio, esta carpeta la vamos a llamar “Mi_Extension” o si ya tienes un nombre pensado para tu extensión le puedes llamar de esa manera.

Archivo Manifiest

Una vez tengas la carpeta “Mi_Extension” creada nos vamos al NotePad2 y pegamos el siguiente código:
  {
  "manifest_version": 2,

  "name": "My Extension",
  "description": "Extencion que realiza tal funcion",
  "version": "1.0",
  "icons": { "16": "icon.png",
                     "48": "icon.png",
                     "128": "icon.png" },
  "author": "Tu nombre va aquí, blog: miprogramador.blogspot.com",
  "options_page": "Opciones.html",
  "background": {
       "persistent": true,
    "page": "background.html"
  },
 

  "permissions": [
             "tabs",
             "storage",
        "*://*/"
       ],
 
  "browser_action": {
    "default_icon": "iconpup.png",
    "default_popup": "popup.html"
  }
 
 }
Les debería quedar algo como esto:
Ahora damos click en Archivo, Guardar Como, y guardamos el archivo en la carpeta que acabamos de crear  con el nombre “manifest.json”
Y lo que acabamos de crear es el archivo manifest, el cual lo describiría yo como la “Cabeza” de la extensión, ya que es donde se guarda la información básica de dicha extensión. Les explicare lo que representa cada línea para que de esta manera ya lo puedan modificar según la necesidad que tengan para su extensión
  1. Name: En la línea número cuatro esta la etiqueta “Nombre” que es en donde especificamos el nombre de nuestra extensión.
  2.  Description: Mas abajo esta la etiqueta “Descripción” que es donde incluimos una breve descripción de nuestra aplicación para que el usuario final pueda ver de qué se trata nuestra extensión
  3.   Version: La versión de nuestra extensión, en este caso 1.0 porque es la primera
  4. Icons: Aquí especificamos las imágenes que nuestra extensión utilizara como iconos, como vemos necesitamos diferentes tamaños de la misma imagen para ubicar en distintos lugares, se puede utilizar la misma para todos los tamaños pero es recomendable usar la misma imagen con sus respetivos tamaños
  5.   Author: Le sigue la etiqueta “Autor” En este lugar ponemos nuestro nombre y también un correo electrónico o sitio web para que los usuarios puedan contactar con nosotros si así lo deseamos
  6.   Options_page: En este lugar especificamos la dirección de una página que se abrirá cuando el usuarios desee acceder a las opciones de la extensión, hay que tener en cuenta que esto es opcional, si no quieres poner una página de configuración o opciones; elimina esta etiqueta de tu archivo. Otra cosa a tener en cuenta es que esta página debe estar dentro de la carpeta, mas adelante programaremos una para los que deseen tenerla.
  7.   Background: En  este espacio es donde especificamos el archivo principal de la extensión.
  8. Permissions: En este espacio es donde especificamos los permisos que nuestra extensión debe tener, si nuestra extensión debe utilizar un recurso, pero el permiso para dicho recurso no se encuentra especificado en este espacio entonces se producirá un error ya que el navegador no permitirá el uso del recurso necesitado.
  9. browser_action: cuando tenemos una extensión instalada en el navegador, nos aparece un icono en la esquina superior izquierda del navegador, que en algunas ocasiones nos muestra información sobre la extensión


En donde “default_icon” seria donde especificamos el icono con extensión .png y “default_popup” el archivo html que se expandirá cuando se haga click sobre el icono
Puedes consultar más información sobre el archivo manifiest en:



Archivo background.js

Nuevamente abrimos el NotePad2 y creamos un documento nuevo y pegamos este código

<html>
<head></head>
<body>
<script src="background.js"></script>
<script>
</script>
</body>
</html>

Y lo guardamos con el nombre background.html (Nótese que este nombre concuerda con el especificado en la línea Background del archivo manifiest)

Archivo background.js

Para crear este archivo volvemos a crear un documento nuevo y lo guardamos con el nombre background.js (Nótese que concuerda con el nombre en la línea 4 del archivo background.html) pero ¿que se pone en este archivo?
Este es el archivo en donde se plasmara el código de nuestra extensión, como les mencione anteriormente esto depende de lo que quieras que realice tu extensión, pero aquí les dejo un pequeño ejemplo:

chrome.tabs.onUpdated.addListener(OnLoginHandler);
if(localStorage['Registro']==undefined){
            var user = prompt('Introduzca su Nombre');
            localStorage['User']=user;
}
Else {
            alert ("Bienvenido"+ localStorage.User);
}
Tener en cuenta:
La primera línea es un evento originario de de Google Chrome, para programas extensiones necesitamos manejar y conocer todos estos eventos, puedes aprender más de estos eventos en este link https://developer.chrome.com/extensions/events

El resto de código no es mas JavaScript simple utilizando el Local Storage, el cual si me hicieron caso al inicio de este artículo y leyeron un poco sobre javascript o si eres programador de este, ya lo debes de conocer e interpretar perfectamente.

Archivo Opciones.html

Creamos el archivo Opciones.html este es un archivo que sirve para que el usuario pueda especificar opciones o configuración de la extensión o si deseas mostrar alguna información al usuario. Lo podemos crear si lo deseamos, si queremos ahorrarnos el trabajo o no lo necesitamos solo eliminamos la etiqueta del archivo mafiest y listo. Nótese que como su extensión lo dice; el lenguaje en este archivo debe ser HTML. Y nótese también que el nombre de este archivo concuerda con la etiqueta “options_page” en el archivo manifiest.

Imagen iconpup.png

Este es la imagen que se mostrara como icono de la extensión que será visible en la esquina superior derecha del navegador

Archivo popup.html

Este es un documento HTML que se ejecutara cuando el usuario haga click en el icono de la extensión que se ubica en la esquina superior derecha, que acabamos de ver como iconpup.png
Este archivo es opcional, y puede ser utilizado para mostrar información o para lo que el programador dese.

Imagen icon.png

Cuando vamos a la lista de extensiones instaladas en Google Chrome nos aparasen las extensiones con una serie de información que habremos ingresado anteriormente en el archivo manifiest
Pero vemos también que cada extensión nos parece con un icono o una imagen, esta es la imagen que guardamos con el nombre icon.png (Nótese que este nombre concuerda con el especificado en el espacio “icons” del archivo manifiest)

Empaquetar extensión
Una vez tengamos todos nuestros archivos listos y que la extensión haga lo que queremos que haga sin errores, entonces estamos listo para empaquetar la extensión, que vendría siendo algo así como la compilación para que podamos crear de estos un solo archivo que será el que instalaremos en los otros ordenadores donde queramos tener nuestra extensión
Para hacerlo solo vamos a la lista de extensión instaladas y pulsamos sobre el botón que dice “Empaquetar extensión”
Una vez hecho esto nos apareceré un mensaje como este:
En “Directorio Raíz” Examinaremos y colocaremos la dirección de nuestra carpeta “Mi_extension” y el campo “Clave privada” lo dejaremos en blanco, pulsamos “Empaquetar extensión” y listo.
Al realizar estas operaciones nos aparecerán dos archivos, uno con extensión .crx y otro con .pem
El archivo con extensión .crx es nuestra extensión, la que podremos instalar y el archivo .pem es la Clave privada de nuestra extensión (Especifico lo que es esto al final del articulo)
Instalar extensión
Para instalar la extensión que acabamos de empaquetar, solo tomamos el archivo que se genero en el empaquetado y lo arrastramos hasta la lista de extensiones instaladas y listo, el navegador nos instalar la extensión.

Y si deseas subir tu extensión a la Google Store aquí les dejo el link de un video que explica como

Clave privada
La clave privada es un archivo que el navegador nos solicita si queremos realizar una segunda versión o superiores de nuestra extensión, es como una llave que asegura que se trata de una versión más reciente de la primera extensión, de este manera podemos asegurar que mas nadie haga o suplante nuestra extensión, así que aseguren bien este archivo.






lunes, 3 de febrero de 2014

Calcular signo zodiacal VB.NET

Hola amigos y amigas hoy les traigo un problema muy común entre los estudiantes que están aprendiendo condicionales y toma de decisiones, que es un programa que te dirá que signo zodiacal eres basado en tu fecha conocimiento
Primero que todo solicitamos al usuario el dia y el mes de nacimiento

  Dim dia = InputBox("Dijite el dia de nacimiento")
        Dim mes = InputBox("Dijite el mes de nacimiento")

        MsgBox("Tu eres " & calcular(dia, mes))

Aquí lo estoy haciendo por medio de un msgbox pero pueden hacerlo por TextField para los que trabajan con interfaz grafica, seria de esta manera:

        Dim Dia As String = Me.TextBox1.Text
        Dim Mes As String = Me.TextBox2.Text
  MsgBox("Tu eres " & calcular(dia, mes))

Este código lo ponen en el evento Click del botón o donde quieran y de esta manera capturara los datos de dichas cajas de texto.
Y a continuación el método que se encarga de calcular el signo zodiacal

Public Function calcular(ByVal Dia, ByVal Mes)

        If Dia >= 21 And Mes = 3 Or Dia <= 20 And Mes = 4 Then
            Return ("Aries")
        End If


        If Dia >= 21 And Mes = 4 Or Dia <= 21 And Mes = 5 Then
            Return ("Tauro")
        End If

        If Dia >= 22 And Mes = 5 Or Dia <= 21 And Mes = 6 Then
            Return ("Geminis")
        End If

        If Dia >= 21 And Mes = 6 Or Dia <= 27 And Mes = 7 Then
            Return ("Cancer")
        End If

        If Dia >= 24 And Mes = 7 Or Dia <= 23 And Mes = 8 Then
            Return ("Leo")
        End If

        If Dia >= 24 And Mes = 8 Or Dia <= 23 And Mes = 9 Then
            Return ("Virgo")
        End If

        If Dia >= 24 And Mes = 9 Or Dia <= 23 And Mes = 10 Then
            Return ("Libra")
        End If

        If Dia >= 24 And Mes = 10 Or Dia <= 22 And Mes = 11 Then
            Return ("Escorpio")
        End If

        If Dia >= 23 And Mes = 11 Or Dia <= 21 And Mes = 12 Then
            Return ("Sagitario")
        End If

        If Dia >= 22 And Mes = 11 Or Dia <= 20 And Mes = 1 Then
            Return ("Capricornio")
        End If

        If Dia >= 21 And Mes = 1 Or Dia <= 19 And Mes = 2 Then
            Return ("Acuario")
        End If

        If Dia >= 20 And Mes = 2 Or Dia <= 20 And Mes = 3 Then
            Return ("Picis")
        End If

    End Function


Y listo eso es todo, aquí está el programa completo, espero les sirva y cualquier duda no piensen en dejar su comentario o en comunicarse conmigo a mi cuenta de TW.


Ver ejemplo en Java

martes, 7 de enero de 2014

Poner el modo incognito como modo predeterminado


Buenas amigos, en esta ocasión hago una publicación sobre una pregunta que veo algo un poco frecuente y es como hacer para que los navegadores (Este caso Internet Explorer y Google Chrome) se inicien siempre o con iconos aparte en modo de incógnito

Listo sin más charla empecemos, usaremos algo llamado línea de comandos o parámetros que usan todos los programas o al menos la gran mayoría de estos.
Vamos al icono del navegador que queremos que inicie en modo incognito (Ya sea que este se encuentre en el menú inicio o en el escritorio o donde sea) le damos click drecho y luego propiedades


  

Se nos abriera la ventada de las propiedades como esta:

En la opción llamada Destino dice:
“C:\Program Files\Google\Chrome\Application\chrome.exe”
 y este lo vamos a remplazar por:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --incognito
Y presionamos aceptar y listo, al dar click sobre el icono se nos abrirá la ventana en modo incognito


 En el caso de internet explorer es exactamente lo mismo, solo que esta vez reemplazaremos
"C:\Program Files\Internet Explorer\iexplore.exe"
Por este:
"C:\Program Files\Internet Explorer\iexplore.exe" –private


En caso de que no nos guste la ventana en blanco o quieras que inicie directamente en un sitio web, agregas la dirección o url del sitio seguido del parámetro de incógnito. Ejemplo:

"C:\Program Files\Google\Chrome\Application\chrome.exe" --incognito miprogramador.blogspot.com
"C:\Program Files\Internet Explorer\iexplore.exe" –private miprogramador.blogspot.com

Eso es todo amigos, espero haberles ayudado y no olviden dejar sus comentarios

Nota importante: Varias personas se han comunicado a decirme que el comando para Google Chrome no les funciona, para que les funcione recuerden que es "--incognito" y no "-incognito", es decir; antes de la palabra incognito van dos signos menos (--) no un guion (-). No se confundan

Error al montar disco duro en Linux

¿Te ha ocurrido frecuentemente este error al intentar montar un disco duro en tu sistema Linux? A mi me sucede mucho y note qu...