miércoles, 4 de noviembre de 2009

Progamacion en Gambas

TIA
En este programa utilizamos un modulo (Modulo), y 5 formularios, acceso, inventario (Fmain), menuprincipal,protector, usuario, Y una base de datos con dos tablas, clave y producto.
Modulo
PUBLIC cn AS NEW connection
PUBLIC rs AS Result
PUBLIC SUB conectar()

'WITH Modulo.cn
cn.CLOSE
cn.type = "mysql"
cn.host = "localhost" ' 192.168.1.201
cn.login = "root"
cn.port = "3306"
cn.password = "root"
cn.name = "tia"
'evalua y devuelve errores
TRY cn.OPEN
IF ERROR THEN
Message("Error al abrir base de datos")
ELSE
Message("Ingresando a base de datos")
ENDIF

END
acceso
Tiene 3 Label , 2 textbox, y 2 button

PUBLIC c AS Integer
PUBLIC n AS String

PUBLIC SUB Form_Open()

ME.Center
modulo.conectar
' modulo.rs = modulo.cn.Exec("select * from clave")
n = "Administrador"

END

PUBLIC SUB Button1_Click()
DIM ban AS Integer
modulo.rs = modulo.cn.Exec("select * from clave")

DO WHILE modulo.rs.Available
n = modulo.rs["usuario"]
IF modulo.rs["usuario"] = Trim(TextBox2.Text) AND modulo.rs["contrasenia"] = Trim(TextBox1.Text) THEN
modulo.rs = modulo.cn.Exec("select * from clave where usuario = '" & Trim(TextBox1.Text) & "'")
Message.Info("Bienvenidos. " & n, "Aceptar")
ME.Hide
menuprincipal.Show
ban = 1
ENDIF
modulo.rs.MoveNext()
LOOP
IF ban = 0 THEN
c = c + 1
IF c = 3 THEN
Message.Warning("Error, El sistema debe cerrarse por seguridad.")
ME.Close
ELSE
limpiar()
TextBox1.SetFocus
Message.Error("Usuario no existe, intente de nuevo...", "Aceptar")
ENDIF
END IF

END
PUBLIC SUB limpiar()

Button1.Enabled = FALSE
Button2.Enabled = FALSE
TextBox1.Clear
TextBox2.Clear
TextBox2.Enabled = FALSE
TextBox1.SetFocus
END
INVENTARIO (Fmain)
Tiene 5 label, 3 texbox, 1 ValueBox, 6 button, 1 TabStrip, 1 GridView

PUBLIC con AS Integer
PUBLIC fil AS Integer
PUBLIC col AS Integer
PUBLIC SUB Form_Open()
Modulo.conectar
Modulo.rs = modulo.cn.Exec("select * from producto")
mostrar()
END

PUBLIC SUB Button6_Click()

ME.Close

END

PUBLIC SUB Button3_Click()

TRY Modulo.cn.Exec("insert into producto values('" & Trim(UCase(TextBox1.Text)) & "','" & Trim(UCase(TextBox2.Text)) & "','" & (TextBox3.Text) & "','" & (ValueBox1.Text) & "');")
IF ERROR THEN
Message.Error("Imposible presentar el registro")
ELSE
Message.Info("registro insertado")
ENDIF
Modulo.rs = Modulo.cn.Exec("Select * from producto")
mostrar()
desabilitar()
END
PUBLIC SUB desabilitar()
TextBox1.Enabled = FALSE
TextBox2.Enabled = FALSE
TextBox3.Enabled = FALSE
ValueBox1.Enabled = FALSE
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[0].width = 60
GridView1.columns[1].width = 180
GridView1.columns[2].width = 80
GridView1.columns[3].width = 80
GridView1[0, 0].Text = "codigo"
GridView1[0, 1].Text = "nombre"
GridView1[0, 2].Text = "cantidad"
GridView1[0, 3].Text = "precio unitatrio"
fil = 1
Modulo.rs.MoveFirst
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["cantidad"]
GridView1[fil, 3].Text = Modulo.rs["precio"]
fil = fil + 1
Modulo.rs.MoveNext()
LOOP
ENDIF

END


PUBLIC SUB Button4_Click()

SELECT Message.Question("Desea eliminar un Producto", "Si", "No")
CASE 1
TRY Modulo.cn.Exec("Delete from producto where codigo='" & Trim(UCase(TextBox1.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()
TextBox1.SetFocus
END

PUBLIC SUB Button5_Click()

TRY Modulo.cn.Exec("update producto set nombre='" & Trim(UCase(TextBox2.Text)) & "',precio='" & Trim(UCase(TextBox3.Text)) & "',cantidad='" & Trim(UCase(ValueBox1.Text)) & "' where=textbox1.text ")
IF ERROR THEN
Message.Error("Imposible actualizar el registro")
ELSE
Message.Info("Registro actualizado")
END IF
mostrar
'LIMPIAR

END

PUBLIC SUB Button2_Click()

TextBox1.Clear
TextBox2.Clear
TextBox3.Clear
TextBox3.Text = 0
ValueBox1.Clear
abilitar()
TextBox1.SetFocus

END
PUBLIC SUB abilitar()
TextBox1.Enabled = TRUE
TextBox2.Enabled = TRUE
TextBox3.Enabled = TRUE
ValueBox1.Enabled = TRUE
END

PUBLIC SUB Button1_Click()

DIM ban AS Integer
Modulo.rs = Modulo.cn.Exec("select * from producto")
DO WHILE Modulo.rs.Available

IF modulo.rs["codigo"] = Trim(UCase(TextBox1.Text)) THEN
Modulo.rs = Modulo.cn.Exec("select * from producto where codigo = '" & Trim(UCase(TextBox1.Text)) & "'")
TextBox2.Text = Modulo.rs["nombre"]
TextBox3.Text = Modulo.rs["precio"]
ValueBox1.Value = Modulo.rs["cantidad"]
ban = 1
ENDIF
MODULO.rs.MoveNext()
LOOP
IF ban = 0 THEN
Message.Error("Registro Invalido")
limpiar()
END IF

END
PUBLIC SUB limpiar()

TextBox1.Clear
TextBox2.Clear
TextBox3.Clear
TextBox3.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 TextBox1_KeyPress()

IF Key.Code = 65293 THEN
IF TextBox1.Text = "" THEN
Message.Info("Ingrese codigo de producto")
TextBox1.SetFocus
ELSE
TextBox2.SetFocus
ENDIF
ENDIF
END

PUBLIC SUB TextBox2_KeyPress()

IF Key.Code = 65293 THEN
IF TextBox1.Text = "" THEN
Message.Info("Ingrese codigo de producto")
TextBox2.SetFocus
ELSE
TextBox3.SetFocus
ENDIF
ENDIF
END








No hay comentarios:

Publicar un comentario