USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  TextBox Multiline
Moreti
SÃO PAULO
SP - BRASIL
Postada em 28/10/2005 12:03 hs            
Olá amigos, como eu conto o numero de linhas que existe digitadas no textbox multiline ?
 
Obrigado
     
rdeletric
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
Postada em 28/10/2005 12:21 hs            
'No form crie uma textbox com multiline=true como "Tetx1", outra textbox como "text2"
'e um botao como "command1"
'Cole no form:
 
Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const EM_GETLINECOUNT = &HBA
Private Const EM_LINEINDEX = &HBB
Private Const EM_LINELENGTH = &HC1
Private m_linhas() As String
Private m_numerolinhas As Long
Public Function SplitText(T As TextBox)
    Dim num_caracteres As Integer
    Dim comp_linha  As Long
    Dim linha As Integer, slinha As String, istart As Long
    On Error Resume Next
    ' Obtem o número de linhas da textbox
    m_numerolinhas = SendMessage(T.hwnd, EM_GETLINECOUNT, 0&, ByVal 0&)
    ' Dimensiona a matriz m_linhas
    ReDim m_linhas(m_numerolinhas)
    istart = 1
    For linha = 0 To m_numerolinhas - 1
        ' Obtem o número de caracteres até a enésima linha da textbox
        num_caracteres = SendMessage(T.hwnd, EM_LINEINDEX, linha, ByVal 0&)
     
        ' Obtem o comprimento da linha em relação ao seu deslocamento
        ' relativo (num_caracteres) dentro da textbox
        comp_linha = SendMessage(T.hwnd, EM_LINELENGTH, num_caracteres, ByVal 0&)

        ' Obtem o texto referente a linha da textbox
        ' e atribui a matrix m_linhas
        slinha = Mid(T.Text, istart, comp_linha)
        m_linhas(linha) = slinha
       
        ' Define o novo valor de istart.
        istart = istart + comp_linha
    Next linha
End Function
Public Function GetTextLine(index As Integer)
    Dim ret
   
    On Error Resume Next
   
    Err.Clear
   
    ret = m_linhas(index)
   
    If Err.Number <> 0 Then ret = Null
   
    GetTextLine = ret
   
End Function
Public Function GetNumLines() As Long
    GetNumLines = m_numerolinhas
End Function
Private Sub Class_Initialize()
    m_numerolinhas = 0
End Sub
'chamando a função:
Private Sub Command1_Click()
m_numerolinhas = SendMessage(Text1.hwnd, EM_GETLINECOUNT, 0&, ByVal 0&)
Text2 = m_numerolinhas
End Sub
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página