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

como exibir resultado de calculo automaticamente?


Adriano Arruda

Pergunta

Olá pessoal,

Esté meu primeiro post aqui no forum e espero que o pessoal me ajude a sanar várias duvidas de VB.

Estou com dificuldades em fazer com que uma label retorne o valor de uma soma automaticamente, ou seja, assim que forem alimentados os dois valores , a label vai exibir o calculo. só estou conseguindo fazer com que o calculo seja realizado se for clicado encima da label.

-------------------------------------------------------------------------------

Dim valor1 As Currency
Dim valor2 As Currency
Dim valorsoma As Currency
Private Sub Label1_click() ' o problema deve estar aqui!
valor1 = Text1.Text
valor2 = Text2.Text
valorsoma = valor1 + valor2
Label1.Caption = valorsoma
End Sub

-------------------------------------------------------------------------------

Grato desde já!

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

o evento Label1_click só vai acontecer mesmo no clique do label. se você quer q o codigo aconteca quando ele digitar algo no text box, faca no Text1_Change (de um duplo clique no textbox na janela de design para chama-lo) ou ainda no Text1_Validate (q acontece depois q ele tirar o foco do textbox).

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado kuroi e matheus-vb6, consegui fazer o programa rodar depois desses toques!

Agora os problemas são outros,meu programa possui 15 textbox e 15 labels entitulado-as, quando ele está rodando, se eu passo o mouse por cima das textbox, mesmo elas não tendo nenhum atributo ainda (estou fazendo os cálculos por um botão ainda), as labels ficam piscando.

Tambem estou tentando descobrir qual o código que faz o cáclulo do LN(logaritmo neperiano) no VB6, estou migrando cálculos de uma planilha de excel e não aprendi a usar esta função.

Dim ds As Currency 'densidade da particula
Dim d50 As Currency 'tamanho médio da particula
Dim er As Currency 'fator de correção 
Dim cw As Currency '% de solido

Private Sub Command3_Click()

'captação de dados:
ds = Text1.Text
cw = Text3.Text
d50 = Text5.Text

'calculos:

er = (1 - (0.000385 * cw * (ds - 1) * (ds + 4) * LN(d50 / 0.23) / ds))

Label39.Caption = er
End Sub

Espero que possam me dar uma luz!

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0
pra calcular Ln(), use a funcao Log(): http://scriptbrasil.com.br/forum/index.php?showtopic=94555

a parte de piscar não sei direito. você ta usando o eventos MouseMove(), etc??

kuroi, só de criar um formulário do zero, sem nenhuma linha de código, contendo as 15 textbox e as 15 labels já ocorre o problema de piscar. tem idéia do que pode ser?

Agora uma pergunta de novato, é possível criar no visual basic um programa .exe a partir de um arquivo do excel? sem que o Excel seja exibido?, ou seja, estaria atribuindo textbox as celulas Excel com os dados de entrada , e uma label atribuída a celula aonde é realizado o calculo e exibido o resultado. Só para que o programa aparente uma interface totalmente desligada ao excel.

Espero que tenha entendido minha perguta!

PS: A função log() funcionou certinho!

mais uma vez, obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0
kuroi, só de criar um formulário do zero, sem nenhuma linha de código, contendo as 15 textbox e as 15 labels já ocorre o problema de piscar. tem idéia do que pode ser?

muito estranho, nunca vi isso... qual exatamente a configuracao do sistema (qual versao do windows, quantidade de memoria, etc)??

Agora uma pergunta de novato, é possível criar no visual basic um programa .exe a partir de um arquivo do excel? sem que o Excel seja exibido?, ou seja, estaria atribuindo textbox as celulas Excel com os dados de entrada , e uma label atribuída a celula aonde é realizado o calculo e exibido o resultado. Só para que o programa aparente uma interface totalmente desligada ao excel.

é sim, acho q o codigo seria mais ou menos esse:

Dim xapplication, xarquivo, xplanilha

xapplication.Visible = False 'a planilha é aberta, mas não fica visivel pro usuario

Set xapplication = CreateObject("Excel.Application")
Set xarquivo = xapplication.Workbooks.Open("C:\Caminho\Arquivo.xls")
Set xplanilha = xarquivo.Worksheets(1) '1 é a primeira planilha do arquivo

Label1.Caption = xplanilha.Range("A1").Value 'valor da celula A1
Label2.Caption = xplanilha.Range("B1").Value 'valor da celula B1

xa.Quit 'quando termina, fecha o excel[/code]

mas tb é possivel acessar o excel como se fosse um banco de dados.

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal, Após o ultimo post do kuroi o projeto baseou na dica de código base que ele postou, mas ficou um tempo engavetado mas agora ele voltou a tona.

Fiz meu programinha quase todo baseado no excel como o "cerebro" do programa, ele faz os cálculos, decide qual a melhor escolha entre várias opções, etc. O VB entra só como uma "capa bonitinha" pra aplicação.

Estou novamente com problemas, o arquivo excel onde o vb linka os dados (escreve valores em celulas e depois lê outras celulas e mostram em uma labels)não aciona um suplemento( "XlXtrFun") que dá ao excel a opção de interpola valores, sem este suplemento rodando meus cálculos não funcionam. Se abro o arquivo .xls manualmente e mudo os valores, o suplemento roda normal. Existe algum código que faça o VB abrir este suplemento junto com a planilha?

tipo:

Set xarquivo = xapplication.Workbooks.Open("C:\Arquivos de Programas\office12\XlXtrFun.xll")

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal, estou tentando abrir o suplemento via comando shell, mas ao compilar aparece o erro:

"invalid procedure call or argument"

estou tentando usar o seguinte codigo(lembrando que o suplemento está dentro do destino mostrado no programa):

Dim xapplication, xarquivo, xplanilha, var

Set xapplication = CreateObject("Excel.Application")  'algoritmo que libera a interface excel com o visual basic
Set xarquivo = xapplication.workbooks.open("C:\D.E.M\dim.xls")  ' deve-se, obrigatoriamente, usar o diretorio especificado aqui
Set xplanilha = xarquivo.Worksheets(1) '1 é a primeira planilha do arquivo

var = Shell("c:\d.e.m\XlXtrFun.xll")

xapplication.Visible = False 'a planilha é aberta, mas não fica visivel pro usuario

xapplication.workbooks("dim.xls").Close savechanges:=False
xapplication.Quit 'quando termina o calculo, fecha o excel e não salva os valores informados

Grato desde já!

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal, consegui resolver o problema do suplemento que não ativava, não sei que alguém já teve o mesmo problema mas fica a dica:

Entrei no excel e através de uma macro onde seleciona o suplemento que prescisava e coloquei o algoritmo gerado no "Private Sub Workbook_Open()"

Kuroi, como posso modificar o código que me mandou para que a tabela do excel abra junto com o programa, seja modificada e retorne os valores quando clikado no botão calcular e fechar só quando fechar o programa?

Tentei modificar de várias maneiras,mais até o momento sem exito. Se puder me ajudar, ficaria muito grato!

Abraços!

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...