Me enfoqué en realizar este programa para aquellas personas que se están iniciando en el mundo de Visual Foxpro y muy especialmente para una persona que en el forum indicaba de estaba aprendiendo este lenguaje y quería un programa que le enseñe como llenar un Grid.
Este programa es bastante básico pero puedes agregar,eliminar,modificar,grabar,buscar ,funciones básicas para realizar un programa.También te enseña como crear una tabla libre.
Hubo mucha redundancia en ciertos procedimientos los cuales se debieron hacer en métodos pero no quise ahondar en el tema por considerar que es para aquellas personas que se inician en este mundo.
Pasos aseguir :
Paso 1: En el Evento Load del Formulario creamos la tabla "Prueba".
IF !FILE("PRUEBA.DBF")
CREATE TABLE prueba (cod_pro c(10),concepto c(25),precio n(8,2))
ENDIF
El programa comprueba si existe la tabla, si no existe el programa crea la tabla.
Paso 2 : En el Evento Init de tu formulario creamos lo siguiente :
SET TALK OFF
SET scor off
SET SAFETY OFF
PUBLIC sw as Number,xreg as Number
CLEAR
thisform.Caption ="Como llenar un Grid"
thisform.text1.Enabled =.f.
thisform.text2.Enabled =.f.
thisform.text3.Enabled =.f.
thisform.text1.DisabledBackColor =RGB(255,255,255)
thisform.text1.DisabledForeColor =RGB(0,0,0)
thisform.text1.Value=""
thisform.text2.Value=""
thisform.text3.Value =0.00
xreg=0
thisform.grid1.COLUMN3.Alignment = 1 && Alinea la derecha
thisform.grid1.Enabled =.f.
thisform.container2.Visible =.f.
thisform.container2.Enabled =.F.
Paso 3:
En el evento Keypress colocamos lo siguiente :
If nKeyCode=27
sw=0
Thisform.text1.Enabled =.F.
Thisform.text2.Enabled =.F.
Thisform.text3.Enabled =.F.
Thisform.text1.DisabledBackColor =Rgb(255,255,255)
Thisform.text1.DisabledForeColor =Rgb(0,0,0)
Thisform.text1.Value=""
Thisform.text2.Value=""
Thisform.text3.Value =0.00
thisform.container2.Enabled =.F.
thisform.container2.Visible =.f.
thisform.container1.command1.SetFocus
Endif
Paso 4:
En el command1 en el evento click colocamos el siguiente procedimiento :
thisform.text1.Enabled =.t.
thisform.text2.Enabled =.t.
thisform.text3.Enabled =.t.
thisform.text1.Value=""
thisform.text2.Value=""
thisform.text3.Value =0.00
sw=1
thisform.text1.SetFocus
En el Command2 en el evento click se agrega lo siguiente :
If xreg>0
mensaje = ' Confirmar La Eliminacion '
i=Messagebox(mensaje,4,' Alerta ')
If i=7
Return
Else
Delete
Messagebox("Registro Borrado con Exito...!")
Thisform.grid1.RecordSource="prueba"
Thisform.text1.Enabled =.F.
Thisform.text2.Enabled =.F.
Thisform.text3.Enabled =.F.
Thisform.text1.DisabledBackColor =Rgb(255,255,255)
Thisform.text1.DisabledForeColor =Rgb(0,0,0)
Thisform.text1.Value=""
Thisform.text2.Value=""
Thisform.text3.Value =0.00
sw=0
xreg=0
Thisform.container1.command1.SetFocus
Endif
ELSE
MESSAGEBOX("No Datos para Eliminar")
Endif
En el Command3 se agrega lo siguiente :
If !Empty(Thisform.text1.Value) And !Empty(Thisform.text2.Value) And !Empty(Thisform.text3.Value)
Thisform.text1.Enabled =.T.
Thisform.text2.Enabled =.T.
Thisform.text3.Enabled =.T.
sw=2
Thisform.text1.SetFocus
Endif
En el command4 en el evento click
cod=Thisform.text1.Value
des=Thisform.text2.Value
pre=Thisform.text3.Value
If !Empty(cod) And !Empty(des) And !Empty(pre)
If sw=1
Insert Into prueba (cod_pro,concepto,precio) Values (cod,des,pre)
ENDIF
If sw=2
UPDATE prueba set cod_pro=cod,concepto=des,precio=pre WHERE RECNO()=xreg
ENDIF
Select prueba
Go Top
Thisform.grid1.RecordSource="prueba"
Thisform.text1.Enabled =.F.
Thisform.text2.Enabled =.F.
Thisform.text3.Enabled =.F.
Thisform.text1.DisabledBackColor =Rgb(255,255,255)
Thisform.text1.DisabledForeColor =Rgb(0,0,0)
Thisform.text1.Value=""
Thisform.text2.Value=""
Thisform.text3.Value =0.00
sw=0
xreg=0
Thisform.container1.command1.SetFocus
ELSE
mensa="Error:Recuerde rellenar todos los campos..."
MESSAGEBOX(mensa,0+64,"Alerta")
thisform.text1.SetFocus
Endif
En el command5 se agrega el siguiente paso:
thisform.container2.Visible =.t.
THISFORM.container2.Enabled =.t.
thisform.container2.list1.Requery
thisform.container2.list1.SelectedID(1)=.t.
thisform.container2.list1.SetFocus
Al descomprimir los archivos rar me dicen que estan dañados. que puedo hacer?
ResponderEliminar