miércoles, 4 de noviembre de 2009

8. TIA


Código: Módulo Mmain

PUBLIC cn AS NEW Connection

PUBLIC rs AS Result

'WITH MODULO.cn


PUBLIC SUB conectar()

cn.CLOSE

cn.Type = "mysql"

cn.host = "localhost" '192.160.1.1

cn.login = "root"

cn.Port = "3306"

cn.password = "root"

cn.name = "tia"


TRY cn.OPEN

IF ERROR THEN

Message("Error al Abrir Base de Datos")

ELSE

Message("Ingresando a Base de Datos")

ENDIF

END


Formulario Mmain

PUBLIC con AS Integer

PUBLIC fil AS Integer

PUBLIC col AS Integer


PUBLIC SUB _new()


END


PUBLIC SUB Form_Open()


Modulo.conectar

Modulo.rs = Modulo.cn.Exec("select * from producto")

codigo_txt.SetFocus

mostrar()

bloquear_texto()

END


PUBLIC SUB guardar_bt_Click()


TRY Modulo.cn.Exec("Insert into producto values('" & Trim(UCase(codigo_txt.Text)) & "','" & Trim(UCase(nombre_txt.Text)) & "','" & Trim(preciounitario_txt.Text) & "','" & Trim(ValueBox1.Text) & "');")

IF ERROR THEN

Message.Error("Imposible insertar el registro")

ELSE

Message.Info("Registro Insertado")

END IF

Modulo.rs = Modulo.cn.Exec("Select * from producto")

mostrar()

limpiar()


END


PUBLIC SUB mostrar()

Modulo.rs.MoveFirst

IF Modulo.rs.Count > 0 THEN

GridView1.Columns.Count = 4

GridView1.Rows.Count = Modulo.rs.Count + 1

GridView1.Columns[1].Width = 30

GridView1.Columns[1].Width = 30

GridView1[0, 0].Text = "Codigo"

GridView1[0, 1].Text = "Nombre"

GridView1[0, 2].Text = "Cantidad"

GridView1[0, 3].Text = "Precio Unitario"

fil = 1

Modulo.rs.MoveFirst

'con = Modulo.rs.count

DO WHILE Modulo.rs.Available

GridView1[fil, 0].Text = Modulo.rs["codigo"]

GridView1[fil, 1].Text = Modulo.rs["nombre"]

GridView1[fil, 2].Text = Modulo.rs["precio"]

GridView1[fil, 3].Text = Modulo.rs["cantidad"]

fil = fil + 1

Modulo.rs.MoveNext()

LOOP

ENDIF

END


PUBLIC SUB salir_bt_Click()


ME.Close


END


PUBLIC SUB eliminar_bt_Click()


SELECT Message.Question("Desea eliminar un Producto", "Si", "No")

CASE 1

TRY Modulo.cn.Exec("Delete from producto where codigo='" & Trim(UCase(codigo_txt.Text)) & "'")

IF ERROR THEN

Message.Error("Imposible borrar el registro")

ELSE

Modulo.rs = Modulo.cn.Exec("select * from producto")

mostrar()


END IF

CASE 2

Message.Info("Registro no Eliminado")

CASE 3

END SELECT

limpiar()

END


PUBLIC SUB buscar_bt_Click()


DIM ban AS Integer

Modulo.rs = Modulo.cn.Exec("select * from producto")

DO WHILE Modulo.rs.Available


IF Modulo.rs["codigo"] = Trim(UCase(codigo_txt.Text)) THEN

Modulo.rs = Modulo.cn.Exec("select * from producto where codigo = '" & Trim(UCase(codigo_txt.Text)) & "'")

nombre_txt.Text = Modulo.rs["nombre"]

preciounitario_txt.Text = Modulo.rs["precio"]

ValueBox1.Value = Modulo.rs["cantidad"]

ban = 1

ENDIF

Modulo.rs.MoveNext()

LOOP

IF ban = 0 THEN

Message.Error("Registro no Encontrado")

limpiar()

codigo_txt.SetFocus

END IF

bloquear_texto()

'bloq_botones()

END


PUBLIC SUB limpiar()


codigo_txt.Clear

nombre_txt.Clear

preciounitario_txt.Clear

preciounitario_txt.Text = 0

ValueBox1.Clear


END


PUBLIC SUB GridView1_DblClick()


IF GridView1.Current = NULL THEN RETURN

SELECT Message.Question("Desea eliminar un Producto", "Si", "No", "Ayuda")

CASE 1

TRY Modulo.cn.Exec("Delete from producto where codigo='" & Trim(UCase(GridView1.Current.Text)) & "'")

IF ERROR THEN

Message.Error("Imposible borrar el registro")

ELSE

Modulo.rs = Modulo.cn.Exec("select * from producto")

mostrar()


END IF

CASE 2

Message.Info("Registro no eliminado")

CASE 3

END SELECT

GridView1.Columns.Width = 100


END


PUBLIC SUB modificar_bt_Click()


TRY Modulo.cn.Exec("update producto set nombre='" & Trim(UCase(nombre_txt.Text)) & "',precio='" & Trim(UCase(preciounitario_txt.Text)) & "',cantidad='" & Trim(UCase(ValueBox1.Text)) & "' ,where codigo='" & Trim(codigo_txt.Text) & "'")

IF ERROR THEN

Message.Error("Imposible actualizar el registro")

ELSE

Message.Info("Registro Actualizado")

Modulo.rs = Modulo.cn.Exec("select * from producto")

mostrar()

END IF

mostrar()

desbloquear_texto()


END


PUBLIC SUB codigo_txt_KeyPress()


IF Key.Code = 65293 THEN

IF codigo_txt.Text = "" THEN

Message.Info("Ingrese Valor")

codigo_txt.SetFocus

ELSE

nombre_txt.SetFocus

ENDIF

ENDIF


END


PUBLIC SUB nuevo_bt_Click()


codigo_txt.SetFocus

limpiar()

desbloquear_texto()

bloq_botones()

END


PUBLIC SUB nombre_txt_KeyPress()


IF Key.Code = 65293 THEN

IF nombre_txt.Text = "" THEN

Message.Info("Ingrese Valor")

nombre_txt.SetFocus

ELSE

preciounitario_txt.SetFocus

ENDIF

ENDIF


END


PUBLIC SUB preciounitario_txt_KeyPress()


IF Key.Code = 65293 THEN

IF nombre_txt.Text = "" THEN

Message.Info("Ingrese Valor")

preciounitario_txt.SetFocus

ELSE

ValueBox1.SetFocus

ENDIF

ENDIF


END


PUBLIC SUB bloquear_texto()

'codigo_txt.Enabled = FALSE

nombre_txt.Enabled = FALSE

preciounitario_txt.Enabled = FALSE

ValueBox1.Enabled = FALSE

END


PUBLIC SUB desbloquear_texto()

codigo_txt.Enabled = TRUE

nombre_txt.Enabled = TRUE

preciounitario_txt.Enabled = TRUE

ValueBox1.Enabled = TRUE

guardar_bt.Enabled = TRUE

END


PUBLIC SUB desbloq_botones()

guardar_bt.Enabled = TRUE

eliminar_bt.Enabled = TRUE

modificar_bt.Enabled = TRUE

END


PUBLIC SUB bloq_botones()

'guardar_bt.Enabled = FALSE

eliminar_bt.Enabled = FALSE

modificar_bt.Enabled = FALSE

END


PUBLIC SUB ValueBox1_KeyPress()


IF Key.Code = 65293 THEN

IF ValueBox1.Text = "" THEN

Message.Info("Ingrese Valor")

ValueBox1.SetFocus

ELSE

guardar_bt.SetFocus

ENDIF

ENDIF


END


Formulario Acceso

PUBLIC c AS Integer

PUBLIC n AS String


PUBLIC SUB Form_Open()


Modulo.conectar

Modulo.rs = Modulo.cn.Exec("select * from claves")

usuario_txt.SetFocus

END


PUBLIC SUB aceptar_bt_Click()


DIM ban AS Integer

Modulo.rs = Modulo.cn.Exec("select * from claves")

DO WHILE Modulo.rs.Available

n = Modulo.rs["usuario"]

IF Modulo.rs["usuario"] = Trim(usuario_txt.Text) AND Modulo.rs["contrasena"] = Trim(clave_txt.Text) THEN

Modulo.rs = Modulo.cn.Exec("select * from claves where usuario = '" & Trim(usuario_txt.Text) & "'")

Message.Info("Bienvenido al sistema Sr(a). " & n, "Aceptar")

ME.Hide

MENU.Show

ban = 1

ENDIF

Modulo.rs.MoveNext()

LOOP

IF ban = 0 THEN

c = c + 1

IF c = 3 THEN

Message.Warning("Lo sentimos, El sistema se cerrar� por seguridad.")

ME.Close

ELSE

limpiar()

usuario_txt.SetFocus

Message.Error("Usuario desconocido, intente nuevamente...", "Aceptar")

ENDIF

END IF

END


PUBLIC SUB limpiar()


aceptar_bt.Enabled = FALSE

cancelar_bt.Enabled = FALSE

usuario_txt.Clear

clave_txt.Clear

clave_txt.Enabled = FALSE

usuario_txt.SetFocus

END

PUBLIC SUB cancelar_bt_Click()


limpiar()


END



PUBLIC SUB usuario_txt_Change()


clave_txt.Enabled = TRUE


END


PUBLIC SUB clave_txt_KeyPress()


IF Key.Code = 65293 THEN

IF usuario_txt.Text = "" THEN

Message.Info("Ingrese Clave de Usuario...")

usuario_txt.SetFocus

ELSE

aceptar_bt.Enabled = TRUE

clave_txt.Enabled = TRUE

aceptar_bt.SetFocus

ENDIF

ENDIF


END


Formulario Menu

PUBLIC SUB Salir_Click()


ME.Close

END


PUBLIC SUB Inventario_Click()


FMain.Show


END


PUBLIC SUB usuarios_Click()


Usuarios.Show

END


Formulario Protector

PUBLIC x AS Integer

PUBLIC y AS Integer

PUBLIC r AS Integer

PUBLIC g AS Integer

PUBLIC b AS Integer


PUBLIC SUB Timer1_Timer()


x = Int(Rnd * 800)

y = Int(Rnd * 600)

r = Int(Rnd * 255)

g = Int(Rnd * 255)

b = Int(Rnd * 255)

Draw.Begin(DrawingArea1)

Draw.FillColor = Color.Blue

Draw.FillColor = Color.RGB(200, 200, 100)

Draw.FillStyle = Fill.Solid

Draw.Circle(200, 200, 00)

Draw.Circle(x, y, 80)

Draw.Rect(100, 100, 100, 50)

Draw.End


END


PUBLIC SUB Button1_Click()


Timer1.Enabled = TRUE


END


PUBLIC SUB Timer2_Timer()


x = Int(Rnd * 800)

y = Int(Rnd * 600)

r = Int(Rnd * 255)

g = Int(Rnd * 255)

b = Int(Rnd * 255)

Draw.Begin(DrawingArea1)

Draw.FillColor = Color.Blue

Draw.FillColor = Color.RGB(200, 200, 100)

Draw.FillStyle = Fill.Solid

Draw.Circle(200, 200, 00)

Draw.Circle(x, y, 80)

Draw.Rect(100, 100, 100, 50)

Draw.End


END


Formulario Usuarios

PUBLIC fil AS Integer


PUBLIC SUB nuevo1_bt_Click()


habi()

usuario1_txt.Clear

clave1_txt.Clear

usuario1_txt.SetFocus

habotones()

END


PUBLIC SUB guardar1_bt_Click()


TRY modulo.cn.Exec("insert into claves values('" & (0) & "', '" & Trim(usuario1_txt.Text) & "', '" & Trim(clave1_txt.Text) & "' )")

IF ERROR THEN

Message.Error("Imposible Ingresar el usuario...")

ELSE

Message.Info("Usuario Ingresado...")

ENDIF

Modulo.rs = modulo.cn.Exec("select * from claves")

mostrar()

limpiar()


END

PUBLIC SUB limpiar()

usuario1_txt.Clear

clave1_txt.Clear

END


PUBLIC SUB eliminar1_bt_Click()


SELECT Message.Question("Desea eliminar un Producto", "Si", "No")

CASE 1

TRY Modulo.cn.Exec("Delete from claves where idclave ='" & (0) & "'")

IF ERROR THEN

Message.Error("Imposible borrar el registro")

ELSE

Modulo.rs = Modulo.cn.Exec("select * from claves")

mostrar()

END IF

CASE 2

Message.Info("Registro no eliminado")

CASE 3

END SELECT


END


PUBLIC SUB usuario1_txt_Change()


clave1_txt.Enabled = TRUE


END


PUBLIC SUB usuario1_txt_KeyPress()


IF Key.Code = 65293 THEN

IF usuario1_txt.Text = "" THEN

Message.Info("Ingrese Nombre de Usuario...")

usuario1_txt.SetFocus

ELSE

clave1_txt.SetFocus

ENDIF

ENDIF


END


PUBLIC SUB clave1_txt_KeyPress()


IF Key.Code = 65293 THEN

IF usuario1_txt.Text = "" THEN

Message.Info("Ingrese Clave de Usuario...")

usuario1_txt.SetFocus

ELSE

habotones()

editar1_bt.SetFocus

ENDIF

ENDIF


END


PUBLIC SUB desbotones()


guardar1_bt.Enabled = FALSE

editar1_bt.Enabled = FALSE

eliminar1_bt.Enabled = FALSE

buscar1_bt.Enabled = FALSE

END


PUBLIC SUB habotones()

editar1_bt.Enabled = TRUE

eliminar1_bt.Enabled = TRUE

buscar1_bt.Enabled = TRUE

END


PUBLIC SUB habi()

guardar1_bt.Enabled = TRUE

END


PUBLIC SUB desa()

guardar1_bt.Enabled = FALSE

END


PUBLIC SUB mostrar()

Modulo.rs.MoveFirst

IF modulo.rs.Count > 0 THEN

GridView1.Columns.Count = 3

GridView1.Rows.Count = modulo.rs.Count + 1

GridView1.Columns[0].Width = 50

GridView1.Columns[1].Width = 250

GridView1.Columns[2].Width = 250

GridView1[0, 0].Text = "Idclave"

GridView1[0, 1].Text = "Usuario"

GridView1[0, 2].Text = "Password"

fil = 1

Modulo.rs.MoveFirst

DO WHILE Modulo.rs.Available

GridView1[fil, 0].Text = Modulo.rs["idclave"]

GridView1[fil, 1].Text = Modulo.rs["usuario"]

GridView1[fil, 2].Text = modulo.rs["contrasena"]

fil = fil + 1

Modulo.rs.MoveNext()

LOOP

ENDIF

END


PUBLIC SUB Form_Open()


ME.Center

Modulo.conectar

Modulo.rs = Modulo.cn.Exec("select * from claves")

mostrar()

desbotones()


END


PUBLIC SUB Button1_Click()


MENU.Show

ME.Hide


END

sábado, 12 de septiembre de 2009

¿Que es una firma digital?

La firma digital es un mecanismo utilizado para asegurar la integridad del mensaje y la autenticación del emisor. Este método (figura 1) consiste en la obtención de un valor hash (concepto explicado mas adelante) del mensaje y su posterior encriptación con la clave privada del emisor. En recepción se desencripta el hash con la clave pública del emisor y se compara con otro valor hash obtenido en recepción de forma independiente a partir del mensaje recibido.

La firma digital permite soportar el no repudio, característica esencial en entornos de comercio electrónico, ya que la verificación de la firma garantiza que ésta sólo puede haber sido generada por el poseedor de la clave privada; o sea, su usuario legítimo.