Ir para o conte√ļdo
  • Revista PROGRAMAR: J√° est√° dispon√≠vel a edi√ß√£o #60 da revista programar. Faz j√° o download aqui!

taniaalves

aparecer numeros automaticamente

Mensagens Recomendadas

taniaalves

estou a fazer um programa de conversao de litros para metros cubicos e de kilowates para cavalos e de kilogramas para libras .queria um codigo que fize-se aparecer o resultado automaticamente quando quise-se converter em vez de clicar em botoes.. ūüė≤ajuda :down:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
José Ferro

Você pode programar o cálculo no evento "Change" de um TextBox e colocar a resposta em outro TextBox.

Assim, ao teclar qualquer n√ļmero, o c√°lculo √© feito sem necessidade de apertar bot√Ķes.

[]'s

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
taniaalves

gostava de saber mesmo como o utilizar isso que voçes me dizemporque nao tou a perceber como  fazer :down:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Tuntankamon

No form se fizeres duplo clique em cima da textbox,  vais ter acesso ao evento textchanged da mesma, só tens de colocar lá o código...

... Wrong Code ...¬† ūüė≥

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
FreiNando

O nome do Evento é Change usado assim: Private Sub Text1_Change() .  Estamos num tópico de VB e não de VB.NET.

E depois Não se pode alterar o proprio textbox que dispara o evento, ou o programa vai entrar em ciclo infinito até atingir o limite máximo da variavel.

Correto ser√° colocar textboxes aos pares uma para litros ou para metros c√ļbicos, e etc.

Um exemplo de código será mais explicito:

'Flag para indicar que textbox tem o foco
'afim de n√£o entrar em ciclo
Dim F As Integer

Private Sub Form_Load()
    F = 0 '1=Litros  2=M3
    txtLitros = ""
    txtM3.Text = ""
End Sub


'TextBox LITROS
Private Sub txtLitros_GotFocus()
    F = 1
End Sub

Private Sub txtLitros_Change()
    If F <> 1 Then Exit Sub
    Dim L As Double, M As Double
    
    If IsNumeric(txtLitros.Text) Then
        L = Val(txtLitros.Text)
        M = L / 1000
        txtM3.Text = M
    Else
        txtM3.Text = ""
    End If
    
End Sub

Private Sub txtLitros_LostFocus()
    F = 0
End Sub


'TextBox METROS CUBICOS
Private Sub txtM3_GotFocus()
    F = 2
End Sub

Private Sub txtM3_Change()
    If F <> 2 Then Exit Sub
    Dim L As Double, M As Double
    
    If IsNumeric(txtM3.Text) Then
        M = Val(txtM3.Text)
        L = M * 1000
        txtLitros.Text = L
    Else
        txtLitros.Text = ""
    End If
End Sub
Private Sub txtM3_LostFocus()
    F = 0
End Sub

Agora √© so repetir para as outras convers√Ķes e refazer os calculos.


O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
vbtipo

Por acaso essas tab's que estas a utilizar n√£o tem um index a ela associado.


Lema: Se eu n√£o saber de alguma coisa n√£o se preocupem porque tento sempre ajudar alguma coisita, nem¬†que seja, por palpites/sugest√Ķes.

Partilhar esta mensagem


Ligação 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.