INFORMATICA Y OCIO

Foros de informática
  Inicio    Normas    Buscar   Miembros   Clanes   Regístrese   Perfil   Conéctese para revisar sus mensajes   Conectarse 
[informatica] + [videos graciosos] + [ultimos mensajes] + [top usuarios] + [contacto]
Leer un TextBox "Linea a Linea"

 
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Foroz comunity :: Programación
Ver tema anterior :: Ver siguiente tema  
Autor Mensaje
DarkSigma
Conociendo Foroz
Conociendo Foroz


Registrado: 23 Sep 2004
Mensajes: 24

MensajePublicado: Vie Sep 24, 2004 3:35 am    Título del mensaje: Leer un TextBox "Linea a Linea" Responder citando
La declaración tendrán que ponerla en la parte general del formulario y para usar el procedimiento, tendrán que pasar en el parámetro el textbox multiline que quieras imprimir.

Por supuesto, si no lo desean imprimir, pueden usarlo para leer línea a línea.

Código:

' Función del API de Windows de 32 bits de múltiple uso
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
    (ByVal hWnd As Long, ByVal wMsg As Long, _
    ByVal wParam As Long, ByVal lParam As Long) As Long


Private Sub ImprimirPorLinea(qControl As TextBox)
    ' Este procedimiento tomará cada línea de un textbox multiline
    ' y lo imprimirá en la impresora predeterminada
    '
    ' El parámetro qControl, será el TextBox a usar, en este caso no es necesario
    ' ya que sólo tenemos un TextBox, pero si se usaran varios...
    ' sería un procedimiento de uso genérico...
    '
    Dim i As Long, k As Long
    Dim L1 As Long, L2 As Long
    ' Constantes para usar con SendMessage
    Const EM_GETLINECOUNT = &HBA
    Const EM_LINEFROMCHAR = &HC9
    Const EM_LINELENGTH = &HC1
    Const EM_LINEINDEX = &HBB   '-# Faltaba esta declaración       (21/Abr/00)

    ' Número de líneas del TextBox
    k = SendMessage(qControl.hWnd, EM_GETLINECOUNT, 0, 0&)

    Printer.Print ""
    For i = 0 To k - 1
        ' Primer carácter de la línea actual
        L1 = SendMessage(qControl.hWnd, EM_LINEINDEX, i, 0&) + 1
        ' Longitud de la línea actual
        L2 = SendMessage(qControl.hWnd, EM_LINELENGTH, L1, 0&)
        ' Imprimimos el trozo de texto que representa a una línea
        Printer.Print Mid$(qControl.Text, L1, L2)
    Next
    ' Le indicamos que ya no hay más que imprimir
    Printer.EndDoc
End Sub

_________________
.:: DarkSigma ::.

[Wenn Sie Hier Hineingehen... Sie Beloren Den Himmel...]

.:: SigmaSystem ::.
Volver arriba
Ver perfil del usuario Enviar mensaje privado
Mostrar mensajes anteriores:   
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Foroz comunity :: Programación Todas las horas están en GMT + 1 Hora
Página 1 de 1
Saltar a:  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
 
Articulos relacionados
En Lanzamientos, galerias personales, tus diseños >> uno de los mejores wallpapers de anim...
En General >> ¿Me roban espacio? Ayuda, "poco ...
En Internet >> ganar dinero por leer mails! 3 cent p...
En General >> ganar dinero por leer mails? 3 cent p...
En Juegos PC >> GTA 3 Mision " golpe amañado"
 

 
Foroz comunity Tema RSS 




by phpBB  
informatica Videos graciosos webmasters theme by Scott Stubblefield Top foroz