/* * Justificación de un Edit por F. Sagredo 12/2005. * Dedicado a Ramón Torra. */ function justilin(cLinea, nLargo) local nAntes, nLargo, nDif, cEspacio if (At(" ", Trim(cLinea)) > 0 .AND. right(Trim(cLinea), 1) != ".") //Por si hay punto y aparte nAntes=0 do while .t. // <------- Con este blucle se mantienen los espacios de delante. // P.Ej. cuando hay una sangría. if subs(cLinea,1,1)!=" " exit endif nAntes+=1 cLinea=subs(cLinea,2) enddo cEspacio:= " " cLinea:= Trim(cLinea) do while (nLargo - Len(cLinea) > 0) nDif:= nLargo - Len(cLinea) if (nDif > 0) cLinea:= strtran(cLinea, cEspacio, cEspacio + " ", 1, nDif) // Va añadiendo blancos en endif // pasadas sucesivas hasta // agotar existencia a insertar. enddo if nAntes>0 cLinea=spac(nAntes)+cLinea // Se aplica el resultado de los espacios por delante. endif endif return (cLinea)