Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #58 da revista programar. Faz já o download aqui!

zeilmann

Capturar texto Richtextbox

Mensagens Recomendadas

zeilmann    0
zeilmann

Boa tarde, tenho um richtextbox com 600 linhas.

Preciso por gentiliza saber como capturar o texto da linha 489 por exemplo.

Desde já agradeço a ajuda. Obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
apocsantos    211
apocsantos

Boa noite,

Fazes bem isso com um ciclo for each

Dim i As Int32 = 0
Dim linha489 As String

For Each str As String In RichTextBox1.Lines
 i = i+1
 If (i=489) Then linha489 = RichTextBox1.Lines[i]
 Else
 End If
Next

Cordiais cumprimentos,

Apocsantos

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
apocsantos    211
apocsantos

Boa noite,

Podes usar parecido usando o contador para a condição que te valida o número da linha.

Em VB6, não me recordo de ter feito isto... Na altura do VB6 eu usava mais Delphi, mas não precisei de procurar muito para encontrar um snipet que me ajuda-se a tentar fazer algo que resolve-se esta questão. Se bem que o meu VB6 está com imensa "ferrugem".

Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lparam As Any) As Long
Private Const EM_GETLINECOUNT As Long = &HBA
Dim auxarr() as String
Dim linecount As Long
Dim index As Long
Dim str489 as String
Private Sub Botton1_Click()
linecount = SendMessage(RichTextBox1.hwnd, _ EM_GETLINECOUNT, 0, 0)
End Sub
auxarr = Split(RichTextBox1.Text, vbCrLf)
For i = 0 to linecount
If i = 489 Then
str489 = auxarr(i)
Else
Next
'Baseado no contador de linhas disponível em: http://www.vbforums.com/showthread.php?526203-RESOLVED-count-rich-textbox-line-number
 

Não testei o código, não tenho como testar. De qualquer forma fica a tentativa, apesar de estar com a ideia que existe forma mais eficiente de fazer isto.

Cordiais cumprimentos,

Apocsantos

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vikcch    15
vikcch

se ainda precisares fica aqui um codigo sem API's

Option Explicit

Private Sub Command1_Click()

   Dim myResult As String

   If tryGetTextFromRtbLine(6, Me.RichTextBox1, myResult) Then
    MsgBox myResult
   Else
    MsgBox "Linha não existente", vbExclamation
   End If

End Sub


Public Function tryGetTextFromRtbLine(ByVal nrLine As Long, ByVal rtb As RichTextBox, ByRef out As String) As Boolean

   Dim allLines() As String

   allLines = Split(rtb.Text, vbCrLf)

   If nrLine > 0 And nrLine - 1 <= UBound(allLines) Then
    out = allLines(nrLine - 1)
    tryGetTextFromRtbLine = True
   End If

End Function

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.