Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

otra con respecto informes...

Estas en el tema de otra con respecto informes... en el foro de Visual Basic clásico en Foros del Web. supongamos que tengo un textbox con propiedad multiline que deseo imprimir y su contenido excede el ancho de la pagina...¿como hago para que la impresion ...
  #1 (permalink)  
Antiguo 24/08/2005, 11:05
Avatar de ccca001  
Fecha de Ingreso: agosto-2004
Mensajes: 388
Antigüedad: 19 años, 7 meses
Puntos: 0
Pregunta otra con respecto informes...

supongamos que tengo un textbox con propiedad multiline que deseo imprimir y su contenido excede el ancho de la pagina...¿como hago para que la impresion continue en la siguiente linea de la hoja?
mmm, veremos que se puede hacer...
si puedes aportar con algo...fantastico...

p.d. el informe es hecho a puro codigo (sin datareport ni crystal report ni nada de eso)
__________________
"How do you define Real?"
  #2 (permalink)  
Antiguo 24/08/2005, 11:58
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
bueno.... tendrías que contar la cantidad de caracteres por linea(Len) para y ver cuantos caben por lina dividir sobre la cantidad de letras y ver cuantas lineas te salen pero otra cosa es que tiene que continuar con la siguiente linea.. aunque se escucha bastante dificil pero no imposible...

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #3 (permalink)  
Antiguo 24/08/2005, 12:13
Avatar de ccca001  
Fecha de Ingreso: agosto-2004
Mensajes: 388
Antigüedad: 19 años, 7 meses
Puntos: 0
mira con esto me sale... pero obviamente corta las palabras en medio de las silabas y quisiera evitar eso... ¿como puedo saber donde termina una palabra, o sea, encontrar el espacio en blanco despues de la variable a?

largo=len(text1)/58
i = 1
For x = 1 To largo + 1
a = 58
impr = Mid(text1, i, a)
Debug.Print impr
' largo = Len(impr)
i = i + a
Next x
__________________
"How do you define Real?"
  #4 (permalink)  
Antiguo 24/08/2005, 16:12
Avatar de ccca001  
Fecha de Ingreso: agosto-2004
Mensajes: 388
Antigüedad: 19 años, 7 meses
Puntos: 0
numero es un textbox que tiene una gran cantidad de caracteres...
el problema es que si son dos lineas funciona pero con mas no, sigue cortando las silabas ...¿por que sera? ¿quieren revisarlo y ayudarme?


Private Sub Command1_Click()

largo = Len(numero) / 58
I = 1

If largo > 1 Then
For x = 1 To largo + 1
a = 58
impr = Mid(numero, I, a) '/ 10488
u = Mid(numero, a, 1)
If u <> "*" Or u = "" Then
Do While u <> " "
a = a - 1
impr = Mid(numero, I, a)
u = Mid(numero, a, 1)
Loop
End If
Debug.Print impr
I = I + a
'a = a + a
Next x
Else
impr = numero
Debug.Print impr
End If
end sub
__________________
"How do you define Real?"
  #5 (permalink)  
Antiguo 24/08/2005, 18:03
Avatar de ccca001  
Fecha de Ingreso: agosto-2004
Mensajes: 388
Antigüedad: 19 años, 7 meses
Puntos: 0
he aqui solucionado, por si a alguien le interesa:

largo = Len(Text3) / 60
i = 1

For x = 1 To Round(largo + 1, 0)
a = 60
impr = Mid(Text3, i, a)
If Len(impr) < 59 Then
Printer.FontBold = True
Printer.CurrentX = 5.5
Printer.CurrentY = y
Printer.Print UCase(impr)
Printer.FontBold = False
Exit For
End If
u = Mid(impr, a, 1)
If u <> "*" Then
Do While u <> " "
a = a - 1
impr = Mid(Text3, i, a)
u = Mid(impr, a, 1)
Loop
End If
Printer.FontBold = True
Printer.CurrentX = 5.5
Printer.CurrentY = y
Printer.Print UCase(impr)
Printer.FontBold = False
'Debug.Print impr
i = i + a
y = y + 0.5
Next x
__________________
"How do you define Real?"
  #6 (permalink)  
Antiguo 25/08/2005, 08:03
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
metelo a las faq's

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:52.