PEGAR AS 05 PRIMEIRAS LETRAS DO COMBOBOX
tenho num combobox alguns nomes que sempre começar com PGTO: ou VENC:.
exemplo:
PGTO: Maria da Silva
VENC: Raimundo Jose
VENC: Pedro Barroso
PGTO: Maria do Carmo
gostaria de criar um condigo que verificasse as 05 primeiras do texto exibido no combobox...
exemplo:
if combo1.text = "PGTO:" then
coisa tal
elseif combo1.text = "VENC:" then
coisa tal
end if
esse condigo nao funciona pq ele pega todo conteudo do text do combobox... quero q ele verifique somente as 5 primeiras letras se sao aqueles q coloquei na comando.
exemplo:
PGTO: Maria da Silva
VENC: Raimundo Jose
VENC: Pedro Barroso
PGTO: Maria do Carmo
gostaria de criar um condigo que verificasse as 05 primeiras do texto exibido no combobox...
exemplo:
if combo1.text = "PGTO:" then
coisa tal
elseif combo1.text = "VENC:" then
coisa tal
end if
esse condigo nao funciona pq ele pega todo conteudo do text do combobox... quero q ele verifique somente as 5 primeiras letras se sao aqueles q coloquei na comando.
if left(combo1.text,5) = "PGTO:" then
coisa tal
elseif left(combo1.text,5) = "VENC:" then
coisa tal
end if
coisa tal
elseif left(combo1.text,5) = "VENC:" then
coisa tal
end if
exemplo:
if mid(combo1.text,1,5) = "PGTO:" then
coisa tal
elseif mid(combo1.text,1,5) = "VENC:" then
coisa tal
end if
tenta ai
if mid(combo1.text,1,5) = "PGTO:" then
coisa tal
elseif mid(combo1.text,1,5) = "VENC:" then
coisa tal
end if
tenta ai
qual a diferença do MID pro LEFT ?
O left é mais rápido. Claro, isto é humanamente imperceptivel. Mas funciona assim:
O MID precisa de um ponto de partida, assim, toda vez que e executado, ele percorre a string até o ponto de partida, para depois ajuntar o total de caracteres previstos, por exemplo MID('Teste',2,1) ele irá percorrer até o caracter 2 e depois separar 1 caracter.
O Left sempre começa do 0
O MID precisa de um ponto de partida, assim, toda vez que e executado, ele percorre a string até o ponto de partida, para depois ajuntar o total de caracteres previstos, por exemplo MID('Teste',2,1) ele irá percorrer até o caracter 2 e depois separar 1 caracter.
O Left sempre começa do 0
left pega os 5 da esquerda para direita
o mid você especifica da onde comeca e aonde termina
no caso acima left(combo1.text,5) ele pega da esquerda para direita 5 caracter.
mid(combo1.text,1,5) ele pega da esquerda para direita 5 caracter mas se eu quisesse pegar do segundo até o quinto eu colocaria mid(combo1.text,2,5) no caso o left não faz isso.
Entendeu?
o mid você especifica da onde comeca e aonde termina
no caso acima left(combo1.text,5) ele pega da esquerda para direita 5 caracter.
mid(combo1.text,1,5) ele pega da esquerda para direita 5 caracter mas se eu quisesse pegar do segundo até o quinto eu colocaria mid(combo1.text,2,5) no caso o left não faz isso.
Entendeu?
MID - Exemplo:
Dim s as String
s = "Teste"
msgbox mid(s,1,3) 'Resposta: Tes
LEFT - Exemplo
Dim s as String
s = "Teste"
msgbox left(s,3) 'Resposta: Tes
Como pode observar o LEFT pega uma string em função do tamanho que você especifica a partir da primeira posição àesquerda, já o MID, pega uma string, a partir de uma posição inicial, e o tamanho que você deseja obter.
Dim s as String
s = "Teste"
msgbox mid(s,1,3) 'Resposta: Tes
LEFT - Exemplo
Dim s as String
s = "Teste"
msgbox left(s,3) 'Resposta: Tes
Como pode observar o LEFT pega uma string em função do tamanho que você especifica a partir da primeira posição àesquerda, já o MID, pega uma string, a partir de uma posição inicial, e o tamanho que você deseja obter.
Tópico encerrado , respostas não são mais permitidas