MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


2 participantes

    [Resolvido]Calculadora de fita arredondando valores

    formiga10x
    formiga10x
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Calculadora de fita arredondando valores Empty [Resolvido]Calculadora de fita arredondando valores

    Mensagem  formiga10x 9/5/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
    [Resolvido]Calculadora de fita arredondando valores AttachmentCalculadora Fita.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (117 Kb) Baixado 85 vez(es)
    Fernando Bueno
    Fernando Bueno
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Calculadora de fita arredondando valores Empty Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  Fernando Bueno 9/5/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
    [Resolvido]Calculadora de fita arredondando valores 16rzeq
    formiga10x
    formiga10x
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Calculadora de fita arredondando valores Empty Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  formiga10x 10/5/2014, 12:18

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


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Calculadora de fita arredondando valores Empty Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  Fernando Bueno 10/5/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
    [Resolvido]Calculadora de fita arredondando valores 16rzeq
    formiga10x
    formiga10x
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Calculadora de fita arredondando valores Empty Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  formiga10x 10/5/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
    Fernando Bueno
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Calculadora de fita arredondando valores Empty Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  Fernando Bueno 10/5/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
    [Resolvido]Calculadora de fita arredondando valores 16rzeq
    avatar
    Convidado
    Convidado


    [Resolvido]Calculadora de fita arredondando valores Empty Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  Convidado 12/5/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.
    avatar
    Convidado
    Convidado


    [Resolvido]Calculadora de fita arredondando valores Empty Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  Convidado 12/5/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
    formiga10x
    formiga10x
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Calculadora de fita arredondando valores Empty Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  formiga10x 13/5/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

    avatar
    Convidado
    Convidado


    [Resolvido]Calculadora de fita arredondando valores Empty Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  Convidado 13/5/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.

    https://dl.dropboxusercontent.com/u/26441349/CalculadoraRSA.zip


    Cumprimentos.
    formiga10x
    formiga10x
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Calculadora de fita arredondando valores Empty Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  formiga10x 13/5/2014, 19:13

    Ainda arredondando...
    avatar
    Convidado
    Convidado


    [Resolvido]Calculadora de fita arredondando valores Empty Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  Convidado 13/5/2014, 19:25

    Arrendondando em quais situações?

    Forneça detalhes para que eu reproduza aqui.


    Cumprimentos.
    formiga10x
    formiga10x
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Calculadora de fita arredondando valores Empty Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  formiga10x 13/5/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-
    avatar
    Convidado
    Convidado


    [Resolvido]Calculadora de fita arredondando valores Empty Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  Convidado 13/5/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.

    Conteúdo patrocinado


    [Resolvido]Calculadora de fita arredondando valores Empty Re: [Resolvido]Calculadora de fita arredondando valores

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 07:32