
Función de PB para Des/Proteger Campos(Column)
Power Builder
Publicado el 8 de Enero del 2003 por Victor Arreola (5 códigos)
21.333 visualizaciones desde el 8 de Enero del 2003
Función de PB para Des/Proteger Campos(Column) de una DW en una Window.
/**************** Funcion#02 Des/Proteger ****************************/
Comentario: No se ustedes, pero yo ya estaba hasta el copete de modificar
cada campo y tener que recordar cada nombre de los campos al codificar asi:
dw_captura.Modify('clave.protect=0') //Des/protege y permite capturar
dw_captura.Object.Nombre.Protect=1 //Protege y No permite capturar
dw_captura.Modify("importe.Protect='1~tIf(IsRowNew(),0,1)'") //el clasico
Funcion PB: Funcion de PB para Des/Proteger Campos(Column) de una DW en una
Window
Des/Protege todas las columnas de una DW, pero no las indicadas
como excepciones
Retorna : Nada
Ejemplo : wf_proteccion(dw_captura,0,'clave,fechalta')
//DESProtege todos los campos excepto CLAVE y FECHALTA
Autor : Lic. Victor Arreola //:-)
Sintaxis: none wf_proteccion(DataWindow{Reference} dwo , Integer{Value}
ai_si1no0 , String{Value} as_excepciones)
**************************************************************************/
//Mas Ejemplos:
//wf_proteccion(dw_captura,1,'') //Protege todos los campos
//wf_proteccion(dw_captura,0,'') //DesProtege todos los campos
//wf_proteccion(dw_captura,0,'clave,fechalta') //DesProtege todos los campos excepto CLAVE y FECHALTA
//wf_proteccion(dw_captura,1,'nombre') //Protege todos los campos excepto NOMBRE
Sintaxis: none wf_proteccion(DataWindow{Reference} dwo , Integer{Value}
ai_si1no0 , String{Value} as_excepciones)
string ls_campo='',ls_proteger
long ll_nro_columnas, ii
as_excepciones=lower(as_excepciones)
ll_nro_columnas = long(dwo.Describe("DataWindow.Column.Count"))
if ai_si1no0=1 then // 1 = Si proteger
for ii=1 to ll_nro_columnas
ls_campo = lower(dwo.Describe("#"+ string(ii) +".Name"))
if Pos(as_excepciones,ls_campo)=0 then //aqui puedes usar Match
dwo.Modify(ls_campo+".protect=1")//Protege
else
dwo.Modify(ls_campo+".protect=0")//DesProtege
end if
next
else
for ii=1 to ll_nro_columnas
ls_campo = lower(dwo.Describe("#"+ string(ii) +".Name"))
if Pos(as_excepciones,ls_campo)=0 then //aqui puedes usar Match
dwo.Modify(ls_campo+".protect=0")//DesProtege
else
dwo.Modify(ls_campo+".protect=1")//Protege
end if
next
end if
return
/*eof F2.Des/Proteger */
Comentarios sobre la versión: Versión 1 (4)
Disculpa la molestia me podrias indicar si hay una herramienta en que pueda yo ver los archivos PBD y modificarlos ya que no tengo PowerBuilder.
muchas gracias
Saludos