elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Mandato Print
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Mandato Print  (Leído 1,112 veces)
ActiveSheet


Desconectado Desconectado

Mensajes: 389


Feeling Jazz


Ver Perfil WWW
Mandato Print
« en: 29 Diciembre 2007, 07:15 am »

Es rutina es para comprender un poco de como utilizar el mandato print de una forma muy peculiar ;)

'Rutina que da formato a la salida del mandato Print
Private Sub Form_Paint()
Dim mensaje As String, pos As Long, PosEspacio As Long
mensaje = "Utilizará con frecuencia los métodos TextWidth y TextHeight" _
& "para ver si un mensaje cabe dentro  de un área determinada." _
& vbCrLf & "Esto es especialmente necesario cuando" _
& "imprima en un formulario, porque el método Print no" _
& "se ocupa automáticamente de dividir las líneas largas, y" _
& "será usted mismo quien tenga que resolver este problema" _
& "utilizando líneas de código."

Cls
Do While pos < Len(mensaje)
    pos = pos + 1
If Mid$(mensaje, pos, 2) = vbCrLf Then
    ' Un par de CR-LF imprime la cadena mas allá
    ' y redefine las variables.

    Print Left$(mensaje, pos - 1)
    mensaje = LTrim$(Mid$(mensaje, pos + 2))
    pos = 0
    PosEspacio = 0
    ElseIf Mid$(mensaje, pos, 1) = " " Then
    ' Si este es un espacio, recuerda su posición.
    PosEspacio = pos
    End If
'verifica la anchura del mensaje.
If TextWidth(Left$(mensaje, pos)) > ScaleWidth Then
    ' El mensaje es demasiado largo, hay que dividirlo.
    ' Si se localiza un espacio, divídelo aquí.

    If PosEspacio Then pos = PosEspacio
    ' Imprime el mensaje hasta el puno de división.
    Print Left$(mensaje, pos - 1)
    ' Descartar caracteres impresos, y volver a definir las variables.
    mensaje = LTrim$(Mid$(mensaje, pos))
    pos = 0: PosEspacio = 0
End If
   
Loop
' Imprime los caracteres restantes, si es que hay alguno.
If Len(mensaje) Then Print mensaje
End Sub
Private Sub Form_Resize()
Refresh
End Sub



« Última modificación: 30 Diciembre 2007, 00:49 am por ActiveSheet » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
comillas en vb6 print
Programación Visual Basic
asdexiva 4 2,913 Último mensaje 18 Enero 2013, 18:00 pm
por asdexiva
ayuda rute print?
Seguridad
colcrt 0 1,867 Último mensaje 28 Marzo 2014, 06:32 am
por colcrt
Software para Print Serve
Software
bob 0 977 Último mensaje 28 Abril 2014, 23:44 pm
por bob
Print pictureBox
Programación C/C++
pikoc 8 2,987 Último mensaje 3 Mayo 2016, 16:49 pm
por pikoc
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines