MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Calculadora de fita arredondando valores

    Compartilhe

    formiga10x
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 11/09/2013

    [Resolvido]Calculadora de fita arredondando valores

    Mensagem  formiga10x em Sex 09 Maio 2014, 19:24

    Após inserir o exemplo no meu programa fiz uns testes e me deparei com a seguinte situação:
    Exemplo: 8,3+2 = 10,3 correto? pois bem, se lanço no M+ ou M- e somo / subtraio outros valores ou apenas limpo com C o valor retorna arredondado = 10.

    Tentei acertar mas, não consegui peço a ajuda gostei muito da calculadora.
    Brigado.
    Anexos
    Calculadora Fita.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (117 Kb) Baixado 48 vez(es)

    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1819
    Registrado : 13/04/2012

    Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  Fernando Bueno em Sex 09 Maio 2014, 22:33

    Boa noite amigo, esta em topico errado..


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Você precisa estar registrado e conectado para ver esta imagem.]

    formiga10x
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 11/09/2013

    Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  formiga10x em Sab 10 Maio 2014, 12:18

    Bom dia Fórum bom dia Fernando.
    Então qual seria Fernando o correto?

    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1819
    Registrado : 13/04/2012

    Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  Fernando Bueno em Sab 10 Maio 2014, 12:24

    Bom dia Elias,

    Esse é so para exemplos, aparentemente você tem uma duvida..

    Acho que o de formulários talvez.


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Você precisa estar registrado e conectado para ver esta imagem.]

    formiga10x
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 11/09/2013

    Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  formiga10x em Sab 10 Maio 2014, 12:43

    E rapaz vc ta certo Very Happy
    Brigado e forte abraço encerrando aqui.

    PS. acho que deve ser em módulos e vba. Vlw Wink

    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1819
    Registrado : 13/04/2012

    Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  Fernando Bueno em Sab 10 Maio 2014, 21:58

    Beleza brother, um abraço pra você também..


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Você precisa estar registrado e conectado para ver esta imagem.]

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  HARYSOHN em Seg 12 Maio 2014, 23:26

    Boas Amigão.. Abriu outro tópico referente a esta dúvida?
    Caso não moverei este para a sala correta..
    Caso sim moverei este a uma sala sem visibilidade para não prejudicar o Ranking dos usuários.

    Cumprimentos.


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  HARYSOHN em Seg 12 Maio 2014, 23:40

    Boas Elias.. Não contive a curiosodade (como sempre) e vi o exemplo... Vamos lá...


    Numeros com casas decimais são armazenados em variáveis do tipo Double...

    Uma variável do tipo double para amarzenar um decimal é necessário que o mesmo esteja separado por , (vírgula). e não por . (ponto)
    Quanto tenta armazenar um número com decimal separado por ponto.. ele ignora o decimal..

    Portanto na função utilizamos o replace para a conversão.


    Eis:

    Private Function HandleMem(memAction As Byte) As Boolean
    Dim dblTxt As Double, dblMem As Double

    dblMem = Replace((lblMem.Caption), ".", ",")
    dblTxt = Val(lblReadOut.Caption)
    Select Case memAction
    Case 0 'Memory plus
    lblMem.Caption = dblMem + dblTxt
    Case 1 'Memory Minus
    lblMem.Caption = dblMem - dblTxt
    Case 2 'Recall memory
    lblReadOut.Caption = Replace(dblMem, ",", ".")
    LastInput = csStateNums
    Op1 = Val(lblReadOut.Caption)
    byteOpHolder = opClear
    Case 3 'Clear Memory
    lblMem.Caption = 0
    End Select
    lblMemInd.Visible = lblMem.Caption
    HandleMem = True
    End Function

    O que o


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    formiga10x
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 11/09/2013

    Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  formiga10x em Ter 13 Maio 2014, 02:15

    Pois é Piloto o amigo Fernando me alertou que eu havia postado no lugar errado. Então coloquei como resolvido e postei novamente noutro lugar a minha dúvida. Eu não sei se tem como excluir uma postagem por isso não o fiz. Desculpa ai.

    O código da calculadora...
    Deu certo não... Neutral


    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  HARYSOHN em Ter 13 Maio 2014, 18:03

    O problema maior no exemplo é a diferença de configurações regionais dos EUA para o Brasil...
    No brasil, decimais são separados por vírgula.. No código da calculadora quando aperta a vírgula aparece o ponto...

    O que fiz...
    Ao apertar a vírgula.. Exibirá a mesma ao invés do ponto.

    Private Sub HandleDecimalClick()
        If LastInput <> csStateNums Then
            lblReadOut.Caption = "0."
        ElseIf Not DecimalFlag Then
            lblReadOut.Caption = lblReadOut.Caption & ","
        End If
        DecimalFlag = False
        LastInput = csStateNums
    End Sub


    Na função: Private Sub HandleOperatorClick(strOp As String)
    Que é onde se processa as operações.. é necessário substituir o comando Val por Cdbl.. pois val ignora os decimais...
    Oras as variáveis Op1 e Op2 São do tipo Double.. se a carrega utilizando a expressão Val ele ignorará os decimais.

    Private Sub HandleOperatorClick(strOp As String)
        If LastInput = csStateNums Then
            NumOps = NumOps + 1
        End If
        If NumOps = 1 Then
            'Op1 = Val(lblReadOut.Caption)
            Op1 = CDbl(lblReadOut.Caption)
        ElseIf NumOps = 2 Then
            'Op2 = Val(Me.lblReadOut.Caption)
            Op2 = CDbl(Me.lblReadOut.Caption)
            Select Case OpFlag
                Case "+"
                    Op1 = Op1 + Op2
                   
                Case "-"
                    Op1 = CDec(Op1) - CDec(Op2)
                                 
                Case "*"
                    Op1 = Op1 * Op2
                   
                Case "/"
                    If Op2 = 0 Then
                        MsgBox "Não é possivel Dividir por Zero", _
                         vbExclamation, "Calculator"
                    Else
                        Op1 = Op1 / Op2
                    End If
                Case "="
                    Op1 = Op2
                Case "%"
                    Op1 = Op1 * Op2
            End Select
            lblReadOut.Caption = Format(Op1)
            NumOps = 1
        End If
        LastInput = csStateOps
        OpFlag = strOp
    End Sub


    Não fiz mais testes por me faltar tempo.. faça mais testes. qualquer coisa apite.

    [Você precisa estar registrado e conectado para ver este link.]


    Cumprimentos.


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    formiga10x
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 11/09/2013

    Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  formiga10x em Ter 13 Maio 2014, 19:13

    Ainda arredondando...

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  HARYSOHN em Ter 13 Maio 2014, 19:25

    Arrendondando em quais situações?

    Forneça detalhes para que eu reproduza aqui.


    Cumprimentos.


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    formiga10x
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 11/09/2013

    Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  formiga10x em Ter 13 Maio 2014, 20:23

    Por exemplo: 2+2,4= 4,4 então lanço este valor na memória M+ quando vou recuperar retorna 4 o mesmo acontece no M-

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  HARYSOHN em Ter 13 Maio 2014, 22:39

    Substitua a função HandleMem por esta:


    Private Function HandleMem(memAction As Byte) As Boolean
      Dim dblTxt As Double, dblMem As Double
     
      dblMem = CDbl(lblMem.Caption)
      If Len("" & Me.lblReadOut.Caption) = 0 Then
        dblTxt = 0
      Else
        dblTxt = Nz(lblReadOut.Caption, 0)
      End If
      Select Case memAction
        Case 0 'Memory plus
          lblMem.Caption = dblMem + dblTxt
        Case 1 'Memory Minus
          lblMem.Caption = dblMem - dblTxt
        Case 2 'Recall memory
          lblReadOut.Caption = dblMem
          LastInput = csStateNums
          Op1 = CDbl(lblReadOut.Caption)
          byteOpHolder = opClear
        Case 3 'Clear Memory
          lblMem.Caption = 0
      End Select
      lblMemInd.Visible = lblMem.Caption
      HandleMem = True
    End Function



    Cumprimentos.


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

      Data/hora atual: Qui 08 Dez 2016, 14:08