MANIPULACAO DE STRING BASICA
Pessoal, boa tarde, estou com uma necessidade aqui, se tiver como me ajudarem, vejam so, preciso manipular uma dterminada string, ( um textbox ) da seguinte forma, vamos supor que existem la variáveis fixas determinadas pelo usuario da seguinte forma..
VALOR REFERENTE COMPRA CONF. NF ######### DE FORNECEDOR FULANO DE TAL,
o que estou querendo fazer é o seguinte.. pegar nessa string os sinais de # e posicionar em cima deles dando a possibilidade de serem alterados sem o cara precisar ir com a setinha para frente ate chegar nessas variaveis para o mesmo trocar.. eu estou usando o seguinte codigo para fazer isso..
public Function fu_NavegarHistorico(txtHist As TextBox)
Dim iPosicao As Integer
iPosicao = InStr(txtTextoHistorico, [Ô]#######[Ô])
If iPosicao > 0 Then
With txtTextoHistorico
.SelStart = iPosicao - 1
.SelLength = 4
.SelLength = 6
.SetFocus
End With
End If
End Function
isso ai ate funciona bem, mas se o cara por exemplo tiver colocado 8 variaveis # eu tenho que fazer outra funcao para conseguir ir ate onde preciso para modificar os dados..
VALOR REFERENTE COMPRA CONF. NF ######### DE FORNECEDOR FULANO DE TAL,
o que estou querendo fazer é o seguinte.. pegar nessa string os sinais de # e posicionar em cima deles dando a possibilidade de serem alterados sem o cara precisar ir com a setinha para frente ate chegar nessas variaveis para o mesmo trocar.. eu estou usando o seguinte codigo para fazer isso..
public Function fu_NavegarHistorico(txtHist As TextBox)
Dim iPosicao As Integer
iPosicao = InStr(txtTextoHistorico, [Ô]#######[Ô])
If iPosicao > 0 Then
With txtTextoHistorico
.SelStart = iPosicao - 1
.SelLength = 4
.SelLength = 6
.SetFocus
End With
End If
End Function
isso ai ate funciona bem, mas se o cara por exemplo tiver colocado 8 variaveis # eu tenho que fazer outra funcao para conseguir ir ate onde preciso para modificar os dados..
Substitua os valores fixos por variaveis.....
Seguinte crie um FORM com um TEXTBOX e um BOTAO.
Coloque essa frase no TEXTBOX
VALOR REFERENTE COMPRA CONF. NF ######### DE FORNECEDOR FULANO DE TAL
Dentro de um MODULO coloque as funções abaixo
No botão do FORM coloque assim para chamar a função
é uma gambi mais dah pra ter uma ideia de como pode fazer
Coloque essa frase no TEXTBOX
VALOR REFERENTE COMPRA CONF. NF ######### DE FORNECEDOR FULANO DE TAL
Dentro de um MODULO coloque as funções abaixo
Public Function POS_ini_fim(texto As String, selecao As String) As String
Dim i As Byte, Temp As String, pINI As Integer, pFIM As Integer
[ô]Temp = texto
pINI = 0
pFIM = 0
For i = 1 To Len(texto)
If Mid(texto, i, 1) = [Ô]#[Ô] And pINI = 0 Then
pINI = CInt(i) - 1
pFIM = CInt(i) + 1
Else
If Mid(texto, i, 1) <> [Ô]#[Ô] And pINI <> 0 Then
pFIM = CInt(i) - 1
Exit For
End If
End If
[ô]Temp = Replace(Temp, Mid(Remover, i, 1), [Ô][Ô])
Next
POS_ini_fim = CStr(pINI) & [Ô];[Ô] & CStr(pFIM - pINI)
End Function
Public Sub seleciona(ByVal Inicial As Integer, ByVal Final As Integer, ByRef tBox As TextBox)
With tBox
.SelStart = Inicial
.SelLength = Final
.SetFocus
End With
End SubNo botão do FORM coloque assim para chamar a função
Private Sub Command1_Click()
Dim pos As Variant
pos = Split(POS_ini_fim(Text1.Text, [Ô]#[Ô]), [Ô];[Ô])
Call seleciona(pos(0), pos(1), Me.Text1)
End Subé uma gambi mais dah pra ter uma ideia de como pode fazer
pergunta vc está colocando no text box varias linhas tipo um documento que é preenchido automáticamente?
tipo mala direta do word?
tipo mala direta do word?
Tópico encerrado , respostas não são mais permitidas