Longitud de una columna
Publicado: Mié Jun 20, 2007 10:07 am
Curioso, tengo un DBBrowse con unas columnas que tomo de un DataSet que
más concretamente es un MemDataSet al que le adoso unas columnas en base a
METHOD MemEnviadoCreate( oSender ) CLASS TFormEditUsuarios
oSender:GetStructFrom
({{"Fecha","C",7,0},{"Empresa","C",50,0},{"Puesto", "C",30,0},{"Contrato","L",1,0},{"Comentario","C",100,0}})
::oDbfEnviado:SetScope(::cIDUsuario,,.T.)
oSender:Open(::oDbfEnviado:SaveToArray({"Fecha","Empresa", "Puesto","Contrato","Comentario"}),{"Fecha","Empresa ","Puesto","Contrato","Comentario"})
ASort( oSender:aData,,, {| x, y | Right(x[1],4)+Left(x[1],2) <
Right(y[1],4)+Left(y[1],2) } )
RETURN Nil
Como se puede ver asigno las longitudes concretas a cada campo y todo
funciona pero de repente me doy cuenta de que empiezo a escribir en
cualquiera de las columnas de tipo beGet con tipo de campo "C" y me deja
escribir no la longitud indicada sino hasta el infinito, aunque luego
los trunca al grabar lógicamente.
Lo soluciono con nEditLenght pero esto no debería de ser necesario no?
Salu2.
más concretamente es un MemDataSet al que le adoso unas columnas en base a
METHOD MemEnviadoCreate( oSender ) CLASS TFormEditUsuarios
oSender:GetStructFrom
({{"Fecha","C",7,0},{"Empresa","C",50,0},{"Puesto", "C",30,0},{"Contrato","L",1,0},{"Comentario","C",100,0}})
::oDbfEnviado:SetScope(::cIDUsuario,,.T.)
oSender:Open(::oDbfEnviado:SaveToArray({"Fecha","Empresa", "Puesto","Contrato","Comentario"}),{"Fecha","Empresa ","Puesto","Contrato","Comentario"})
ASort( oSender:aData,,, {| x, y | Right(x[1],4)+Left(x[1],2) <
Right(y[1],4)+Left(y[1],2) } )
RETURN Nil
Como se puede ver asigno las longitudes concretas a cada campo y todo
funciona pero de repente me doy cuenta de que empiezo a escribir en
cualquiera de las columnas de tipo beGet con tipo de campo "C" y me deja
escribir no la longitud indicada sino hasta el infinito, aunque luego
los trunca al grabar lógicamente.
Lo soluciono con nEditLenght pero esto no debería de ser necesario no?
Salu2.