RE:reportes2 (Mucho Mejor!!!!)
Hola Amigo, bueno aca buscando creo que encontre la solucion a tu problema, lo unico espero uses VFP 9 sino no estoy seguro de que funcionen, pero proba y avisame si te sirvio de algo. Toda esta informacion esta sacada de PortalFox.com, nada es mio, solo busque info.
Te paso un codigo fuente y en la otra te paso el LINK que esta muy bueno y el que lo hizo en es genio cesar Chalom que siempre nos sorprende con algo nuevo asi que sin dudas te tiene que Andar.
Aca Vamos:
El Link es:
http://www.portalfox.com/index.php?name=News&file=article&sid=2532
Proba este primero
y Sino te gusta o no funciona proba esto
Textos verticales en reports (informes)
Utilidad que permite imprimir textos verticales con posibilidad de adentrado por linea impresa.
Esta función, metodo o rutina, es llamada desde el report o label, y devuelve el texto / campo / valor pasado como parametro en varias lineas, tantas como caracteres tenga el texto pasado. Es para uso con cadenas no muy extensas.
************************************
* This.Vertical o Vertical() o oUtil.Vertical, etc.
*
* Recibe una cadena y la devuelve en vertical
* Para uso en reports
*
* Ej. This.Vertical('Notas',1)
* This.Vertical(Clientes.Nombre,0)
*************************************
* parametro comentario
* ---------- -------------------------------
* pcCadena Texto a mostrar en vertical
* pnTab Espacios a tabular entre lineas (Opcional)
PARAMETERS pcCadena, pnTab
LOCAL nLenCadena, m_i, lcvertical, lnTab, lnAcumuladoTab
IF Pcount()>1
lnTab = pnTab
ELSE
lnTab = 0
ENDIF
pcCadena = ALLTRIM(pcCadena)
nLenCadena = LEN(pcCadena)
lnAcumuladoTab = 0
FOR m_i = 1 TO nLenCadena
IF m_i = 1
lcVertical = SUBSTR(pcCadena,m_i,1)
ELSE
IF lnTab # 0
lnAcumuladoTab = lnAcumuladoTab + lnTab
ENDIF
lcVertical = lcVertical + CHR(13) + CHR(10) + ;
REPLICATE(' ',lnAcumuladoTab) + SUBSTR(pcCadena,m_i,1)
ENDIF
ENDFOR
RETURN lcVertical
Bueno amigo sebastian, Espero Sirva. Avisa
Suerte!!!!!!!!!!!!!