Arduino - Blogger - Cinema 4D - Electrónica - Hardware - IPod Touch - Photoshop - Programación - Programas - Revisiones - Windows

Quitar la protección contra escritura a memorias USB, SD, Discos Duros

Tienen problemas con su memoria USB, SD o Disco Duro, no pueden copiarle archivos, bórralos o formatearlo, pues sus problemas se acabaron con este tutorial, es un procedimiento bastante sencillo que funciona con todos los dispositivos, en el tutorial les explico paso a paso todo el procedimiento necesario.

Aprender a Formatear cualquier Pc e instalar Windows [Curso]

En el curso se explica de manera clara y paso a paso todo lo que hay que tener en cuenta antes, durante y después de formatear una computadora, incluyendo ejemplos prácticos de todos los temas vistos.

Mostrando entradas con la etiqueta Programación. Mostrar todas las entradas
Mostrando entradas con la etiqueta Programación. Mostrar todas las entradas

24 de abril de 2017

Inicio de Sesión (Login) con C Sharp y SQL Server



















Un tutorial sobre cómo desarrollar una aplicación en Visual Studio con el lenguaje de programación C Sharp que permita iniciar sesión e identificar al tipo de usuario en una base de datos, utilizando el sistema de bases de datos Microsoft SQL Server.



Código Fuente 

Script Base de Datos
1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
USE master
CREATE DATABASE escuela
GO
USE escuela
CREATE TABLE usuario
(
nombreUsuario nvarchar(20) PRIMARY KEY not null,
contrasena nvarchar(20) not null,
nombre nvarchar(50) not null,
apellidoPaterno nvarchar(50) not null,
apellidoMaterno nvarchar(50),
tipoUsuario nvarchar(20) not null
)
GO
INSERT INTO usuario VALUES('jesus', '123A', 'Jesús', 'Morales', 'Campos', 'Administrador')
INSERT INTO usuario VALUES('roberto', '123456', 'Roberto', 'Castro', 'Morales', 'Profesor')
GO

Clase BaseDatos.cs
1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Data.SqlClient;

namespace InicioSesion
{
    class BaseDatos
    {
        private string cadenaConexion = "Data Source=JEOVANI-PC; Initial Catalog=escuela; Integrated Security=true;";

        public static string nombreCompleto = "";
        public static string tipoUsuario = "";

        public Boolean iniciarSesion(string nomus, string con)
        {
            nombreCompleto = "";
            tipoUsuario = "";

            SqlConnection conexion = new SqlConnection(cadenaConexion);
            conexion.Open();

            SqlParameter parnomus = new SqlParameter("@nomus", nomus);
            SqlParameter parcon = new SqlParameter("@con", con);

            SqlCommand comando = new SqlCommand("SELECT nombre, apellidoPaterno, apellidoMaterno, tipoUsuario FROM usuario WHERE nombreUsuario = @nomus AND contrasena COLLATE Latin1_General_CS_AS = @con", conexion);
            comando.Parameters.Add(parnomus);
            comando.Parameters.Add(parcon);

            SqlDataReader lector = comando.ExecuteReader();
            while (lector.Read())
            {
                nombreCompleto = lector.GetString(0) + " " + lector.GetString(1) + " " + lector.GetString(2);
                tipoUsuario = lector.GetString(3);
            }

            lector.Close();
            conexion.Close();

            if (String.IsNullOrEmpty(tipoUsuario))
            {
                return false;
            }
            else
            {
                return true;
            }
        }
    }
}

Form1.cs
1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace InicioSesion
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btiniciarsesion_Click(object sender, EventArgs e)
        {
            if (!String.IsNullOrEmpty(tbnombreusuario.Text) && !String.IsNullOrEmpty(tbcontrasena.Text))
            {
                try
                {
                    BaseDatos bd = new BaseDatos();

                    Boolean res = bd.iniciarSesion(tbnombreusuario.Text, tbcontrasena.Text);

                    if (res)
                    {
                        Principal p = new Principal();
                        p.Show();
                        this.Hide();
                    }
                    else
                    {
                        MessageBox.Show("Datos Incorrectos");
                    }
                }
                catch
                {
                    MessageBox.Show("Error");
                }
            }
            else
            {
                MessageBox.Show("Complete los datos");
            }
        }
    }
}

Principal.cs
1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace InicioSesion
{
    public partial class Principal : Form
    {
        public Principal()
        {
            InitializeComponent();

            labelusuario.Text = BaseDatos.nombreCompleto;

            if (BaseDatos.tipoUsuario == "Administrador")
            {
                paneladministrador.Visible = true;
                panelprofesor.Visible = false;

            }
            else if (BaseDatos.tipoUsuario == "Profesor")
            {
                paneladministrador.Visible = false;
                panelprofesor.Visible = true;
            }

        }

        private void Principal_FormClosed(object sender, FormClosedEventArgs e)
        {
            Application.Exit();
        }
    }
}

22 de abril de 2017

Convertir el Texto a Voz en C Sharp



Un Video Tutorial donde muestro como convertir el texto a voz en un proyecto de Visual Studio con el lenguaje de programación C Sharp.



Código Fuente

1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Speech.Synthesis;
using System.Threading;

namespace TextoVoz
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void bthablar_Click(object sender, EventArgs e)
        {
            Thread tarea = new Thread(new ParameterizedThreadStart(hablar));
            tarea.Start(rtexto.Text);
        }

        private void hablar(object texto)
        {
            SpeechSynthesizer voz = new SpeechSynthesizer();
            voz.SetOutputToDefaultAudioDevice();
            voz.Speak(texto.ToString());
        }
    }
}

21 de abril de 2017

Captura de Pantalla en C Sharp


Un Video Tutorial donde muestro como hacer una captura de pantalla en un proyecto de Visual Studio con el lenguaje de programación C Sharp.


Código Fuente

1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing.Imaging;

namespace CapturarPantalla
{
    public partial class Form1 : Form
    {
        int contador = 0;
        public Form1()
        {
            InitializeComponent();
        }

        private void btcapturar_Click(object sender, EventArgs e)
        {
            contador = 0;
            timer1.Start();

            this.Visible = false;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (contador == 1)
            {
                Rectangle limites = Screen.GetBounds(Point.Empty);
                Bitmap imgb = new Bitmap(limites.Width, limites.Height);
                Graphics graf = Graphics.FromImage(imgb);
                graf.CopyFromScreen(Point.Empty, Point.Empty, limites.Size);
                pictureBoximg.Image = imgb;

                this.Visible = true;
                timer1.Stop();
            }
            contador++;
        }

        private void btguardar_Click(object sender, EventArgs e)
        {
            SaveFileDialog dg = new SaveFileDialog();
            dg.Filter = "Imagen | .png";

            if (dg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                ImageFormat formato = ImageFormat.Png;
                pictureBoximg.Image.Save(dg.FileName, formato);
            }
        }
    }
}

17 de julio de 2014

Control de Aparatos Eléctricos por medio de la PC, Comandos de Voz, y Control Remoto (Domótica)




Hola que tal, en esta ocasión les quiero mostrar una serie de videos de proyectos sobre la Domótica (conjunto de sistemas capaces de automatizar una vivienda), dichos proyectos consisten en el control de aparatos eléctricos (en este caso un ventilador y un foco de 120 volts) por medio de la computadora, de comandos de voz, y de control remoto.

En este video podemos observar cómo se controla un foco y ventilador por medio de un control remoto, cabe mencionar que se puede utilizar cualquier control remoto de televisiones estéreos, etc.


En el siguiente video se controlan los mismos aparatos eléctricos (foco y ventilador), pero en este caso por comandos de voz, por medio de un Software diseñado especialmente, una computadora y el reconocimiento de voz de Windows.


Por último, podemos observar en este video el control de aparatos eléctricos por medio de la computadora, de comandos de voz, y de control remoto.

Como se puede observar en los videos, esta aplicación de la domótica es de mucha utilidad, y permite automatizar la vivienda de una manera económica y práctica. Parece ser algo complicado, pero no lo es, así mismo este sistema se puede aplicar a los hogares de una manera muy práctica, no es necesario una inversión muy fuerte de dinero, se pueden agregar muchos sistemas más, así mismo los sistemas se pueden controlar de manera remota, por medio de celulares, y de muchas otras maneras. Todo lo que se ve en los que parecen ser los hogares del futuro, es posible realizarse, de una manera muy práctica y está al alcance de notros.

EXPLICACIÓN DEL PROYECTO

Bien para todos los que les es de interés saber más sobre el proyecto, veremos una breve explicación del proyecto, así como los materiales necesarios, como comente anteriormente será una explicación breve por lo que se requieren ciertos conocimientos en electrónica, electricidad y programación.
IMPORTANTE: Se trabajara con voltajes de 120 o 240 voltios, por lo que se debe tener cierta precaución y conocimientos básicos de conexiones eléctricas. 

MATERIAL NECESARIO PARA LA REALIZACIÓN DEL PROYECTO

Computadora: indispensable para la programación de la placa Arduino y para el uso de comandos de voz, también puede ser usada para controlar directamente los aparatos eléctricos.
1 Placa Arduino: es la encargada de controlar el sistema, puede ser programada para que se enciendan los aparatos eléctricos según la función deseada.
Relevadores (es necesario uno por cada aparato eléctrico que se desea controlar): permiten manejar aparatos eléctricos de 120 o 240 voltios, que es el voltaje que comúnmente llega a los hogares, con los relevadores se puede controlar prácticamente cualquier aparato eléctrico.
Módulo receptor IR (receptor infrarrojo): permite recibir la señal emitida por los controles remotos.
1 Control remoto (se puede utilizar cualquiera de los que se utilizan en los televisores, estéreos, etc.): Permite controlar los aparatos eléctricos a distancia.
Extensiones eléctricas o cable: se utilizan para conectar los aparatos eléctricos a los relevadores, se puede utilizar cualquier cable apto para estas conexiones.
NOTA: Se trabajara con voltajes de 120 o 240 voltios, por lo que se debe tener cierta precaución y conocimientos básicos de conexiones eléctricas.
Cable para realizar las conexiones de Arduino a los relevadores.
Aparatos eléctricos a controlar, en este caso ventilador y foco.
Software: el software de control está programado en Microsoft Visual Studio, en este caso en el lenguaje de programación C Sharp, se requiere el Software para programar en Arduino (Se puede descargar en: http://arduino.cc/en/Main/Software).

PROCESO DE CONSTRUCCIÓN

Bien después de tener todos los materiales vamos a ver como conectar el sistema, los cables para activar los relevadores los conectaremos a los pines digitales 11 y 12 de Arduino (para el foco y ventilador respectivamente), el módulo receptor IR lo conectaremos al pin digital número 8 de la placa Arduino para la señal. Dependiendo de los módulos por lo general es necesario conectarlos a  los pines 5V y GND de la placa Arduino.


En la siguiente imagen podemos ver la conexión de los relevadores a los aparatos eléctricos:
IMPORTANTE: Es necesarios realizar estas conexiones con precaución y por alguien con conocimientos en electricidad.

El siguiente programa también permite el control por medio de la computadora y comandos de voz, permite saber en todo momento el estado de los aparatos eléctricos, así como programar su encendido y apagado, también cuenta con una interfaz gráfica

En el siguiente enlace pueden descargar el código para la placa Arduino, así como la librería para el uso del receptor IR y la aplicación de control para Windows. Las instrucciones vienen anexas en la descarga, así mismo el sketch contiene comentarios sobre la función de las líneas de código para su mejor comprensión.
Gracias por visitar esta página y por su interés en el proyecto, Saludos.

13 de enero de 2012

Añadir Gadget de Facebook en Blogger

Hola que tal, aquí les dejo un videotutorial sobre como poner un gadget de Facebook en Blogger, explicado paso a paso.