silvagno Postado Janeiro 22, 2017 Denunciar Share Postado Janeiro 22, 2017 (editado) Bom dia, Tenho uma ferramenta para calculo, estou usando a função mid para identificar no campo text os dígitos das horas. Função completa: Dim X As Integer, Y As Integer, Z As Integer X = Mid(Text1.Text, 7, 2) Y = Mid(Text1.Text, 4, 2) Z = Mid(Text1.Text, 1, 1) segundos = X + Y * 60 + Z * 3600 (aqui estou convertendo horas em segundos, preciso converter para concluir o calculo) Ex: Y = Mid(Text1.Text, 4, 2) > nesse formato ele considera a hora no formato 11:02:32 Y = Mid(Text1.Text, 3, 2) > agora se mudo o 4 para 3 ele não le o primeiro digito da hora e considera 1:02:32 Gostaria que esse campo Text entendesse os dois formatos. Editado Janeiro 22, 2017 por silvagno Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Janeiro 23, 2017 Denunciar Share Postado Janeiro 23, 2017 Você está usando o VB6, certo? Seria mais fácil você usar a função Split(): dados = split(Text1.Text, ":") MsgBox(dados(0)) MsgBox(dados(1)) MsgBox(dados(2)) Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 silvagno Postado Janeiro 23, 2017 Autor Denunciar Share Postado Janeiro 23, 2017 @Graymalkin Não sou um esperto em visual basic6, não consegui aplicar essa função, leva em consideração que não é apenas aceitar os dois formatos no campo Text1, também tenho que fazer o calculo de horas para segundos. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Janeiro 23, 2017 Denunciar Share Postado Janeiro 23, 2017 Como fica o preenchimento da Text1? Você preenche com, por exemplo, "16:24:10"? Se for, você vai poder fazer do jeito que falei: dados = split(Text1.Text, ":") horas = val(dados(0)) minutos = val(dados(1)) segundos = val(dados(2)) totalsegundos = segundos + minutos * 60 + horas * 3600 MsgBox(totalsegundos) Seria isso? E pra quê a segunda textbox? Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 silvagno Postado Janeiro 24, 2017 Autor Denunciar Share Postado Janeiro 24, 2017 Bom dia Graymalkin, é isso mesmo, consegui fazer funcionar em um novo projeto, porem quando tento inserir no projeto que eu tenho ele fala que a variável não esta declarada. O campo Text2 é pra trazer o total em segundos. Vou montar em um novo projeto e te mostro para ver como funciona, mais deixo uma imagem dela funcionando no modo antigo( quando le somente 1:24:32) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Janeiro 24, 2017 Denunciar Share Postado Janeiro 24, 2017 Declara assim antes: Dim dados() As String Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
silvagno
Bom dia,
Tenho uma ferramenta para calculo, estou usando a função mid para identificar no campo text os dígitos das horas.
Função completa:
Dim X As Integer, Y As Integer, Z As Integer
X = Mid(Text1.Text, 7, 2)
Y = Mid(Text1.Text, 4, 2)
Z = Mid(Text1.Text, 1, 1)
segundos = X + Y * 60 + Z * 3600 (aqui estou convertendo horas em segundos, preciso converter para concluir o calculo)
Ex: Y = Mid(Text1.Text, 4, 2) > nesse formato ele considera a hora no formato 11:02:32
Y = Mid(Text1.Text, 3, 2) > agora se mudo o 4 para 3 ele não le o primeiro digito da hora e considera 1:02:32
Gostaria que esse campo Text entendesse os dois formatos.
Editado por silvagnoLink para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
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.