Page 2 of 2
Re: Como Calcular Ancho en Pixeles de una Variable "FrancicoA"
Posted:
Sun Jun 14, 2020 3:14 am
by FranciscoA
remtec wrote:Me di cuenta de un error, el primer dato oSay1, en algunas ocaciones se imprime en blanco aun cuando el campo en la DBF tiene datos, me he podido dar cuenta, que esto ocurre, cuando el registro anterior el campo de oSay1 no tiene dato, al mostrar el siguiente produce el error.
El ultimo codigo que posteaste funciona bien aqui.
remtec wrote:Le hare una mdificacion, ya que cuando el campo esta vacio, muestra una linea paralela
Parece que el error te daba al intentar quitar lo que defines como linea paralela, que es el "BORDER" con anchura 0.
He procedido a ocultar el oSay (BORDER) cuando el dato está vacío. Para ello cambia la function RefreshData(), como sigue:
- Code: Select all Expand view
Function RefreshData(aoSay, alBorder)
AEval(aoSay,{|o,n| o:Refresh(),;
if( Len(alltrim(o:cCaption)) > 0 ,;
( o:nWidth := GetTextWidth( 0, Alltrim(o:cCaption), o:oFont:hFont ) + if(alBorder[n],6,0), o:Show() ) ,;
o:Hide() ) })
Return nil
Saludos.
Re: Como Calcular Ancho en Pixeles de una Variable "FrancicoA"
Posted:
Sun Jun 14, 2020 4:33 am
by remtec
Hola Francisco
Aun cuando en la DBF el primer campo mostrado tiene una dato, el oSay1, muestra el rectando del largo del campo, pero sin dato.
Mira, cambie la DBF y el problema se produce en el oSay1 cuando el campo anterior no contiene dato, en ese caso, el registro siguiente aun cuando en la dbf tiene dato este campo, en la pantalla lo muestra en blanco, como lo indico en la linea de arriba..
Muchos Saludos
Antonio.
Re: Como Calcular Ancho en Pixeles de una Variable "FrancicoA"
Posted:
Sun Jun 14, 2020 3:23 pm
by FranciscoA
Antonio,
He modificado la tabla PLANIL.DBF con la que hago las pruebas de este codigo, agregándole un registro vacío, y me funciona sin ningún problema.
Puedes enviarme tu .DBF del problema a:
falegria230349@yahoo.es ?
Saludos.
Editado: Comprimela y renombra fichero a .ZOP
Re: Como Calcular Ancho en Pixeles de una Variable "FrancicoA"
Posted:
Sun Jun 14, 2020 7:11 pm
by remtec
Hola Francisco
Muchas gracias por toda tus molestias.
Te lo he enviado a tu correo, claro que va como PRG y DBF, 2 archivos chicos.
Muchos Saludos
Antonio
Re: Como Calcular Ancho en Pixeles de una Variable "FrancicoA"
Posted:
Sun Jun 14, 2020 9:32 pm
by FranciscoA
Antonio,
El problema lo tienes en la tabla PROFESIO en el campo RUT_PRO (CHAR) cuyos datos tienen la inconsistencia de que algunos contienen 1 espacio en blanco al inicio.
Usualmente yo utilizo el VFP para examinar las tablas DBF.
Puedes hacer un REPLACE ALL rut_pro WITH LTRIM(rut_pro) y listo.
Es altamente recomendable hacer respaldo antes de ejecutar esta opcion.
Saludos.
Re: Como Calcular Ancho en Pixeles de una Variable "FrancicoA"
Posted:
Sun Jun 14, 2020 10:08 pm
by remtec
Amigo
Grande Maestro, tremendo error, además considerando lo importante que es este dato.
Nunca he aplicado este tipo de programas para revisar.
Mil gracias por todas las molestias que te has tomado, te agradezco de corazón.
Muchos Saludos.
Antonio
Re: Como Calcular Ancho en Pixeles de una Variable "FrancicoA"
Posted:
Mon Jun 15, 2020 10:16 am
by JESUS MARIN
Hola a todos
¿ no sería mejor hacer el refresh después de establecer el nuevo ancho ?
ANTES
AEval(aoSay,{|o,n| o:Refresh() ,o:nWidth := GetTextWidth( 0, Alltrim(o:cCaption), o:oFont:hFont ) + if(alBorder[n],6,0) })
AHORA
AEval(aoSay,{|o,n| o:nWidth := GetTextWidth( 0, Alltrim(o:cCaption), o:oFont:hFont ) + if(alBorder[n],6,0), o:Refresh() })