Ir para conteúdo
Fórum Script Brasil
  • 0

problema com string com numeros


Dudu vb6

Pergunta

estou com um problema pro seguinte codigo;

fazer avançar naturalmente em um codigo com letra, acrescentando de 1 em 1, da seguinte maneira:

m001

m002

...

m009

m010

m011

... e por ae vai

tentei o seguinte codigo:

'----------------------------------

text1 = m001

text2 = Mid(text1, 2, 3) + 1

text3 = "m" & text2

'----------------------------------

(mudei as variaveis originais pra facilitar a compreensao.

caso sirva, tentei assim:

(...)

indice = Mid(rec1("indice_questao"), 2, 3) + 1

(...)

rec1("indice_questao") = Mid(Combo1.Text, 1, 1) & indice

(...)

onde indice_questao esta guardando m001)

só que na soma de "001" + "1" ele da como resposta "2".

se ele me retornar "002", o codigo fica certo, mas não sei como fazer isso.

caso alguém conheça uma forma mais fácil de fazer isso, ou como fazer que ele me retorne a resposta com os... "zeros à esquerda", ficarei muito grato.

Editado por Dudu vb6
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

tinha uma funcao no clipper chamada strzero() q fazia isso. como no visual basic nunca vi nd q faca isso, criei minha propria funcao strzero. esse é o codigo:

Public Function StrZero(ByVal X As String, ByVal tam As Integer, ByVal char As String, Optional ByVal posicao As Integer = 0) As String
    Dim i As Integer
        
    StrZero = X

    If posicao = 0 Then
        For i = Len(StrZero) To tam Step Len(char)
            StrZero = char & StrZero
        Next
        StrZero = Right(StrZero, tam)
    ElseIf posicao = 1 Then
        For i = Len(StrZero) To tam Step Len(char)
            StrZero = StrZero & char
        Next
        StrZero = Left(StrZero, tam)
    End If
End Function[/code] ela funciona assim, você passa uma string, e ele insere determinado caracter na esquerda ou na direita (assim você pode trasnformar "2" em "002"). o primeiro parametro X é a string original. o segundo, tam, é o tamanho q você quer q a string fique (no seu caso 3 caracteres). o tercero, char é o caracter com q você quer preencher (no seu caso "0"). o quarto parametro posicao é opcional e determina se o caracter deve ser inserido na frente ou atras. se você passa 0, ele insere na frente, se passar 1, insere atras. se não passar nd, ele considera 0. no seu caso, você faria assim:
[code]text3 = "m" & StrZero(text2, 3, "0")

Link para o comentário
Compartilhar em outros sites

  • 0

acho que isso me ajuda, vou tentar algo com esse código e edito aqui o resultado que deu.

com uma variável guardando após o acréscimo de 1, por exemplo, "3", o transformo em "003" e jogo logo no pro banco de dados.

problemas rídiculos como esse são os que mais dão dor de cabeça...

sua solução foi certa, consegui.

com o problema resolvido, agora é continuar com o projeto.

muito obrigado mesmo pela sua ajuda.

Editado por Dudu vb6
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...