Hola buen dia
lo puedes hacer de dos formas
1,, poner dos columnas en la primera columna poner
if(field->ximporte<0,xfield->ximporte," ")
en la segunda columna poner
if(field->ximporte>0,xfield->ximporte," ")
y queda sin problema
pero si quieres ponerla en la misma columna ay te va el codigo
- Code: Select all Expand view
@ 1, 1 LISTBOX oLbx FIELDS CFACTURA->MFOLIO,;
DTOC(CFACTURA->MFECHA),;
CFACTURA->MNOMBRE,;
alinea(CFACTURA->MIMPORTE,40000,12),;
CHOLO(CFACTURA->MSTATUS);
FIELDSIZES 40,80,370,190,80;
HEADERS "Folio", "fecha","Nombre","Importe","Estatus";
ON LEFT DBLCLICK (mrec:=recno(),M1016(ODLG,"F", CFACTURA->MFOLIO),Tvamos(mrec));
ON CHANGE ( ASAMPLE:=HOLALA(ODLG,ASAMPLE,"F",CFACTURA->MFOLIO),oBrw:aArrayData := asample, obrw:refresh() );
COLOR "B+/G+,R,B,B,B+" SIZE 420, 150 font oletras OF oDlg
aunque le puse en listbox funciona en xbrowse
la funcion alinea es la que hace a la izquierda o a la derecha segun sea el importe en este cao le puse 40000 ay le pones cero y se hace la machaca y el doce es el tamaño a alinear
funcion de alinea
- Code: Select all Expand view
Function alinea(ximporte,xnum,mtama)
local dev:="", mlen:=0, mlen2
ximporte:=alltrim(str(ximporte,14,2))
ximporte:=space(mtama-len(ximporte))+ximporte
if val(ximporte)<xnum
dev:=ximporte // esto lo acomoda a la izquierda automaticamente al quitarle todo los espacios
else
dev:=space(mtama)+ximporte // aqui agregarle los espacios que desese de separacion
endif
return dev
y ya esta probado anexo imagen en una columa ,, ojo segun el tipo de letra queda alineado otros tipos no alinean bien
Benjamin Casarrubias Moreno
Cd. Obregon, Sonora, Mexico
chino72vale@hotmail.comFivewin 16.05, Harbour 3.2, xharbour 1.2.1, Fivelinux, visual estudio 2013