Hola Foro esta es una simple contribución de mi parte, cada uno podrá mejorar obviamente estos ejemplos.
1.- Primer paso crear una clase TStock.prg Recuerde una sola clase por prg
2.- crear el modulo de manejo
Abrir la tabla con las ordenes mencionada anteriormente
Ejemplo
Function Main()
Local Data1
Local oST
Data1 := Usar( oCone, "SELECT * FROM STOCK " )
oST := TStock():New( Data1 )
oST:Carga()
? oST:Codigo
REturn( Nil )
//----------------------------------------------------------------------------//
#Include "Fivewin.ch"
Class TStock
export:
data xTabla
data Registro
data Codigo
data Detalle
data Marca
data Existencia
data Costo
Method New // constructor
Method Carga // carga un registro
Method Nuevo // inicializa variables
Method Blanco // abre un registro en blanco
Method Graba
Method End()
EndClass
//----------------------------------------------------------------------------//
Method New( xData )
::xTabla := xData
Return SELF
//----------------------------------------------------------------------------//
Method Carga
If !Empty( ::xTabla )
If ::xTabla:Recordcount > 0
::Registro := ::xTabla:Fields("Registro"):Value
::Codigo := ::xTabla:Fields("Codigo"):Value
::Detalle := ::xTabla:Fields("Detalle"):Value
::Marca := ::xTabla:Fields("Marca"):Value
::Existencia := ::xTabla:Fields("Existencia"):Value
::Costo := ::xTabla:Fields("Costo"):Value
Else
::Registro := 0
::Codigo := Space(50)
::Detalle := Space(100)
::Marca := Space(30)
::Color := Space(20)
::Existencia := 0.00
::Costo := 0.00
::Blanco()
EndIf
Else
::Nuevo()
EndIf
Return Self
//----------------------------------------------------------------------------//
//----------------------------------------------------------------------------//
Method Nuevo
Local nR := 0
If ::xTabla:RecordCount > 0
::xTabla:MoveLast()
nR := ::xTabla:Fields("Registro"):Value + 1
Else
nR := 1
EndIf
::Registro := nR
::Codigo := Space(50)
::Detalle := Space(100)
::Marca := Space(30)
::Existencia := 0.00
::Costo := 0.00
Return SELF
//----------------------------------------------------------------------------//
Method Blanco //
::xTabla:AddNew()
Return SELF
//----------------------------------------------------------------------------//
Method Graba
::xTabla:Fields("Codigo"):Value := ::Codigo
::xTabla:Fields("Detalle"):Value := ::Detalle
::xTabla:Fields("Marca"):Value := ::Marca
::xTabla:Fields("Existencia"):Value := ::Existencia
::xTabla:Fields("Costo"):Value := ::Costo
::xTabla:UpDate()
Return SELF
cualquier duda consultarme por aqui... un abrazo a todos, y larga vida a fivewin.