1. TugaTech » Programação, Scripts e Webmasters » Programação, Scripts e Webmasters
  Login     Registar    |                      
Siga-nos

Realize o Login na sua conta ou Registe-se para participar.

Ir à página : Anterior  1, 2

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 2 de 2]

#51PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 16:00

Boa tarde,

Eu estou a criar a calculadora, e deparei-me com uma situação, a calculadora em alguns casos dá-me valor arredondado e em outros casos não.

Por exemplo se eu fizer 3*4 a calculadora dá 0,75, mas se eu inserir 3*pi ela dá 9 em vez de dar 9,4247(..) 

Haverá alguma coisa que eu possa fazer quanto a isso?

Cumps

Conectado

#52PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 16:49

Qual é exactamente o código que possui? Wink


____________________________________________

TugaTech || Host TugaTech
https://tugatech.com.pt https://www.facebook.com/DJPRMF https://twitter.com/dj_prmf DJPRMF

#53PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 17:25

Está a referir-se ao código da form?

#54PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 18:15

Se a calculadora dá resultados corretos com valores considerados normais (não são constantes importantes como o pi ou o número de Neper), fazia algum sentido que o problema fosse na atribuição de um valor ao pi.

Aliás, se fizer as contas vê que:

3*pi=9 <=>
<=> pi = 9/3 <=>
<=> pi = 3       (<- não está correcto!) 

Ou seja, pi, por razões que ainda desconheço, está a assumir um valor errado. Como pi toma o valor 3 (diferente de 3.0), a razão poderá estar por detrás de ter associado o pi como um inteiro, o que estaria errado. O pi deve ser representado com um float ou double (de preferência double, porque tem o dobro da precisão).

Pode verificar esta situação?

Se por acaso tiver tudo bem, agradecia que fizesse como o DJPRMF disse, e colocar aqui o código do form da calculadora. Smile

http://goncalotomas.com

#55PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 18:30

Deixe ver se percebi, então eu teria de criar uma var do tipo:

pi As Double

Depois dizer que:

pi = "3,14159265358979323846264338327950288"

E que:

TxtCalc.Text = TxtCalc.Text + "pi" 

Não esta a funcionar, devo estar a fazer algo errado.. Sad

#56PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 18:50

A primeira parte está correta. A partir de agora já tem uma variável (podia também ser uma constante) com o valor de pi. Agora esta linha baralhou-me um pouco:

TxtCalc.Text = TxtCalc.Text + "pi" 

Traduzindo para português, o que se lê é:

O novo valor de TxtCalc.Text é o resultado de (TxtCalc.Text + "pi")

Por não ser costume programar na linguagem que está a usar, não tenho a certeza do que estou a dizer, mas julgo que (TxtCalc.Text + "pi") apenas coloca o valor de pi junto ao que já estava anteriormente, o que piora as coisas e não resolve nada.

Como é que fez para os outros números? (Veja o código, por exemplo, quando é feito o produto entre dois números.) Não consegue utilizar o mesmo processo para a soma/produto/divisão/subtração seguindo os mesmos passos mas utilizando a variável que criou?

Se pretender ajuda mais detalhada deve colocar o código para que possamos ajudar melhor... Very Happy

http://goncalotomas.com

#57PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 19:27

Tá ai o código dos botões + - / * =

http://pastebin.com/U47xsrfE

E sim, o que estava a dizer é um bocado confuso, já reparei que não esta lá muito certo.

#58PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 19:38

O pi é um botão na sua calculadora?

Se sim, tudo bem, se não, devia ser (confira na calculadora do Windows se existe ou não um botão para o pi) Very Happy

Uma vez que tenha definido o botão pi, basta apenas dizer que quando for clicado:

a = pi OU b = pi (depende de como quiser implementar, tem de completar o resto do código mas dá das duas formas... Smile)

Vejo também que no código que apresentou não consigo ver o valor de pi, não se esqueça de lhe dar valor antes de testar!

Experimente e volte a dizer qualquer coisa Very Happy

http://goncalotomas.com

#59PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 20:16

Peço imensa desculpas, mas fiquei sem perceber :$

Se eu for fazer como fiz para o caso da soma, tinha d estar a assumir que eu iria ter de fazer uma conta do género x + pi , pois eu teria de dizer que:

 resultado = a + pi
 TxtCalc.Text = resultado 

Mas isto estaria errado, pois se eu quisesse fazer x * pi ja não daria..

Deixo aqui o codigo da form toda:

http://pastebin.com/yV9FmP9H

#60PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 20:34

Sem problemas.

Voltamos uns passos atrás. Experimente fazer exatamente o que estava a dizer
(TxtCalc.Text = TxtCalc.Text + "pi") mas sem aspas no pi, ou seja:

TxtCalc.Text = TxtCalc.Text + pi 

Tinha razão quando estava a dizer isso, só lhe faltava era perceber que quando se usa algo entre aspas é para definir na altura o que vai ser escrito. Como já tinha escrito

pi As Double

Depois dizer que:

pi = "3,14159265358979323846264338327950288"

O seu programa agora já sabe que quando se refere a pi refere-se a "3,14159265358979323846264338327950288".

Isto significa que não precisa de usar as aspas quando se refere ao pi, quando estiver a dar o novo valor a TxtCalc.Text Smile

Resumindo: tinha razão, eu é que me confundi todo e pensei que estivesse a fazer uma coisa quando já estava no bom caminho e faltava só um pouco.

TxtCalc.Text = TxtCalc.Text + pi 

À partida, agora deverá funcionar.

http://goncalotomas.com

#61PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 20:40

Depois de mandar a minha ultima mensagem fui tentar desta forma:

De facto não deu erro, mas quando fui fazer um teste: 3*pi deu um resultado de 9, e seria suposto dar algo como 9,424777960(..)

Irei tentar da forma que estávamos a tentar agora. 

#62PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 21:04

Aprendiz escreveu:

Sem problemas.

Voltamos uns passos atrás. Experimente fazer exatamente o que estava a dizer
(TxtCalc.Text = TxtCalc.Text + "pi") mas sem aspas no pi, ou seja:

TxtCalc.Text = TxtCalc.Text + pi 

Tinha razão quando estava a dizer isso, só lhe faltava era perceber que quando se usa algo entre aspas é para definir na altura o que vai ser escrito. Como já tinha escrito

pi As Double

Depois dizer que:

pi = "3,14159265358979323846264338327950288"

O seu programa agora já sabe que quando se refere a pi refere-se a "3,14159265358979323846264338327950288".

Isto significa que não precisa de usar as aspas quando se refere ao pi, quando estiver a dar o novo valor a TxtCalc.Text Smile

Resumindo: tinha razão, eu é que me confundi todo e pensei que estivesse a fazer uma coisa quando já estava no bom caminho e faltava só um pouco.

TxtCalc.Text = TxtCalc.Text + pi 

À partida, agora deverá funcionar.

Desta forma dá erro. Sad 
Parece-me que não é assim.

#63PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 21:19

Com a teimosia que tenho vai ser difícil desistir por isso não se preocupe... Very Happy

Pode fornecer novamente o código de toda a form, incluindo a parte em que declara e atribui valor a pi?

http://goncalotomas.com

#64PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 21:26

O código do PI esta em comentário porque tenho estado a testar de algumas maneiras.

http://pastebin.com/KEviWCT8

#65PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 21:31

Pode indicar-me o que sucede quando clica no botão, se acontece alguma coisa ou se aparece alguma mensagem de erro?
Se aparecer uma mensagem de erro gostaria de saber o que diz, por favor.

http://goncalotomas.com

#66PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 21:43

Penso que se esteja a referir a isto:

http://pictagem.jpo.96.lt/contas/bugs/0-477309735535c1a50f1b278.64865127.png

#67PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 21:49

Obrigado, era mesmo esse erro que queria ver. O erro traduz-se para:

"Não consegui converter "" de TxtCalc.Text para Double para fazer a soma"

(o compilador pensa que está a somar dois Doubles, o TxtCalc e pi, e não está a conseguir converter TxtCalc para Double, com toda a razão... Smile)

O problema aqui é que está a fazer TxtCalc.txt = TxtCalc.text + pi , o que significa que quer acrescentar pi ao que já lá estiver... Se alguém inserir um número com uma vírgula (imagine-se, "0,5"), depois de adicionar pi iria gerar um erro sempre que tentasse fazer uma operação com esse número.

Por esse mesmo caso sugiro substituir completamente o que lá estiver, por pi.

Ou seja:

TxtCalc.Text = pi

Caso queira manter a função e ficar com esse possível erro (se alguém fizer isso propositadamente o seu programa irá crashar...), por favor veja estas instruções em vez das de cima.

Nesse caso, experimente fazer um cast para String de pi.

Experimente:

TxtCalc.Text = TxtCalc.Text + (String)pi

Volto a sugerir que a aconselho utilizar a primeira alternativa, já que é mais segura.

Nota: Uma vez que esta situação sugeriria também verificar as ações do método que trata dos cliques na vírgula... Quem é que impede de alguém introduzir um número "0,,0,,0" e realizar uma operação com ele? Certamente iria crashar... Felizmente, existem formas de tratar destas situações, que, a seu tempo e se for de sua vontade certamente poderemos abordar... Wink



Última edição por Aprendiz em Sáb 26 Abr 2014 - 21:59, editado 2 vez(es)

http://goncalotomas.com

#68PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 21:56

A primeira alternativa que seria usar " TxtCalc.Text = pi " certo? 

Vou testar Smile

#69PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 21:59

Exato, é a forma mais segura de resolver as coisas. Leia apenas as notas finais da minha última resposta relativamente a outros problemas que poderá ter no futuro, caso alguém queira propositadamente crashar o seu programa.

http://goncalotomas.com

#70PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 22:06

Ok, irei testar.

Em relação à nota se for algo que não lhe ocupe muito tempo, aceitaria muito a sua ajuda Smile

#71PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 22:32

Não é caso de ser algo que ocupe muito ou pouco tempo, é algo que enquanto técnico de sistemas informáticos deveria saber. Tenho um familiar num curso parecido e por pena dele não aprendeu uma fracção do que podia ter aprendido, e existem alguns conceitos chave que têm de ficar bem assentes porque não tenha dúvidas: se começar a desenvolver aplicações vai sempre haver alguém disposto a testá-las e achar falhas de segurança. Se forem feitos alguns esforços para evitar essas coisas então certamente essa pessoa irá ter dificuldades. Esses esforços não são nada de mais, é apenas um conjunto de tácticas de boa programação aliado a uma mente que consiga procurar com facilidade por onde pode o programa rebentar. Smile
Escusado será dizer que em caso algum deverá um programa seu crashar (e note-se que crashar é completamente diferente de terminar o programa e notificar o utilizador da razão do fecho)...

Sem me querer alongar por enquanto, vamos tentar primeiro resolver a questão do pi, e depois passaremos à próxima... Very Happy

http://goncalotomas.com

#72PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 23:26

Boa noite,

Bem o ' TxtCalc.Text = pi ' funcionou, mas quando testei '3*9' continuou a dar o valor 9. Voltando ao mesmo 

#73PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 23:41

Novamente, vamos por outro lado.

Consegue localizar a linha:

b = Val(TxtCalc.Text) ?

O que acontece aqui é que parece que a função Val apenas consegue converter o 3, o que dá a entender que o sistema decimal pode estar implementado com ponto "." em vez de ser com vírgula "," (ele não reconhece a vírgula como possível parte de um número, mas pode ser que reconheça o ponto).

Se assim, for, declare pi como "3.1415927...." (utilizando um ponto), substitua todas as ocorrências em que é acrescentado uma vírgula por um ponto e tente novamente... Smile

http://goncalotomas.com

#74PAP - Página 2 Empty Re: PAP - Sáb 26 Abr 2014 - 23:55

Penso nao possuir ' b = Val(TxtCalc.Text) ' no código.

Ao substituir a virgula pelo ponto o programa dá o mesmo erro que mostrei na imagem de a pouco.

#75PAP - Página 2 Empty Re: PAP - Dom 27 Abr 2014 - 0:09

De acordo com o pastebin das 21:26, possuí. Smile

Passo a citar: link

Esse é o código do botão de igual, e era a segunda linha que aparece nesse excerto que interessa... Smile

Substituiu apenas no pi? Guarde a versão em que lhe dava 3 e depois aplique a mudança das vírgulas todas para pontos. Teste novamente.

Se der, ótimo. Se não der, voltamos à versão das vírgulas, e iremos substituir a linha que lhe disse por:


b = Double.MinValue.ToString()

If Double.TryParse(TxtCalc.Text, b) Then 'sucesso

Else 'erro

End If
 

http://goncalotomas.com

#76PAP - Página 2 Empty Re: PAP - Dom 27 Abr 2014 - 11:49

Com o ponto deu o seguinte erro:

http://pictagem.jpo.96.lt/contas/bugs/0-154599323535ce0538e6241.64556810.png

Quanto a segunda versão:

b = Double.MinValue.ToString()

If Double.TryParse(TxtCalc.Text, b) Then 'sucesso

Else 'erro

End If

Ainda não testei, mas estava a pesquisar e encontrei está informação, ao que parece estamos a fazer mal a declaração do Pi. Passo a citar:

"Constantes 
Uma constante consiste num nome que é dado a um valor numérico ou a uma cadeia de 
caracteres, e que pode ser usado dentro do programa na vez desses valores. Funciona como 
uma espécie de sinónimo. 
A utilização de constantes em substituição dos valores que representa justifica-se pelo seguinte 
facto: se um dado valor constante for utilizado muitas vezes ao longo dum programa, caso 
ocorra a necessidade de o modificar, haverá necessidade de corrigir manualmente todas as 
ocorrências desse valor, correndo, além disso, o risco de se enganar. Se, ao invés, for definida 
uma constante com esse valor, bastará modificar essa definição inicial para que tal mudança 
automaticamente se repercuta em todas as ocorrências dessa constante no decurso do 
programa. 
A sintaxe da definição de constantes é a seguinte: 
Const nome As tipo = expressão 
Por expressão entende-se um valor numérico, uma cadeia de caracteres, ou uma expressão 
cujo resultado seja um destes tipos de valores. 
Aqui ficam alguns exemplos de declarações de constantes: 
Const Pi As Double = 3.14159265358979 
Const Raio As Single = 12.5 
Const Perímetro As Double = 2 * Pi * Raio "

Nota: Fui testar declarando " Const Pi As Double = 3.14159265358979 " e no botão do Pi usei " TxtCalc.Text = pi ". Continua a dar o valor 9 certo Sad

#77PAP - Página 2 Empty Re: PAP - Dom 27 Abr 2014 - 23:14

Boa noite!

Já testou com o excerto de código acima? Apenas referiu ter substituido o pi de variável para constante, o que não corresponde ao que tentei fazer.

Fui à procura na biblioteca pré-definida do Visual Basic e encontrei a função TryParse. A função TryParse tenta ler um número (Double neste caso) a partir de uma String.

No nosso caso, poderíamos escrever:

b = Val(TxtCalc.Text)

Double.TryParse(TxtCalc.Text, b)

Deve encontrar a primeira linha deste excerto ( b = Valc(TxtCalc.Text) ) e acrescentar a que eu referi em baixo.

Apenas depois disso tente usar tanto a vírgula como o ponto. Experimente primeiro o ponto Smile

http://goncalotomas.com

#78PAP - Página 2 Empty Re: PAP - Qui 1 maio 2014 - 12:50

Bom dia,

Peço desculpa, mas não consegui mesmo vir aqui nestes dias.. Sad

Mas voltando a este problema do Pi ahah

Comecei por declarar : Const pi As Double = 3.14159265358979

Depois no código do botão ' = ' inseri: 

 b = Val(TxtCalc.Text)
        Double.TryParse(TxtCalc.Text, b)

E no botão do Pi inseri:  TxtCalc.Text = pi

E posso dizer que finalmente funcionou!! enlightenedenlightenedenlightened

#79PAP - Página 2 Empty Re: PAP - Dom 4 maio 2014 - 19:19

Boa tarde,

Parece que nos aconteceu o mesmo então... Very Happy

De qualquer das formas ainda bem que ficou resolvido, e fica com mais mérito por ter lá chegado sozinho... Smile

Melhores cumprimentos,

http://goncalotomas.com

#80PAP - Página 2 Empty Re: PAP - Ter 6 maio 2014 - 20:53

Estou é com um pequeno problema.. Sad

Alguém me consegue dizer que botões devo inserir mais na calculadora?

A calculadora é 'supostamente' cientifica mas eu ainda só tenho os botões: 

http://pictagem.jpo.96.lt/contas/bugs/2-150729145553693d6c9b66a6.25615840.png

Estou com algum problema em inserir mais botões. Alguém tem alguma ideia? Smile

Cumps

Conectado

#81PAP - Página 2 Empty Re: PAP - Ter 6 maio 2014 - 21:34

Um excelente exemplo encontra-se na propria calculadora do Windows:


____________________________________________

TugaTech || Host TugaTech
https://tugatech.com.pt https://www.facebook.com/DJPRMF https://twitter.com/dj_prmf DJPRMF

#82PAP - Página 2 Empty Re: PAP - Qua 7 maio 2014 - 0:14

Pois, só que estou com alguns problemas, por exemplo não consigo meter os botões da memoria a funcionar e não faço a mínima de como faço o botão dos parênteses Sad 

#83PAP - Página 2 Empty Re: PAP - Dom 11 maio 2014 - 13:36

Boa tarde!

A que se refere exactamente quando fala em botões de memória?

Já com os parênteses a situação pode ser ligeiramente mais complicada, pois já estamos a trabalhar com programação mais avançada. Se quiser podemos abordar cada um dos aspectos com a ordem que preferir, mas gostava que olhasse para o seu projecto e que me dissesse o que acha que falta. Depois gostaria que respondesse aqui com as faltas que achou, e que as listasse por ordem de importância, para que consiga apresentar no final algo que se orgulhe. Smile

Já está a funcionar, já tem uma calculadora básica. Agora está na altura de implementar o que será mais difícil, que no final será o que o distinguirá dos seus colegas... Wink

http://goncalotomas.com

#84PAP - Página 2 Empty Re: PAP - Dom 11 maio 2014 - 15:57

Boa tarde,

De momento tenho a calculadora assim:

http://www.casimages.com.br/i/140511050026196204.png.html

Não sei se lhe faço mais alterações ou não.

Edit:

Estou a ter um problema no site da aplicação. Estou a fazer o site em html/php e estou a fazer com divs, o meu problema é o seguinte, supostamente ao eu trabalhar com o ' % ' nas divs, as divs não deveriam de se ajustar a qualquer ecrã? 

É que eu quando chego ao meu portatil, o site fica um bocado 'desconfigurado'. Alguem me consegue responder a minha questão? Smile

#85PAP - Página 2 Empty Re: PAP - Dom 11 maio 2014 - 16:16

A minha pergunta foi mesmo essa... É para entregar daqui a pouco tempo? Se sim, então talvez seja melhor não implementar mais nada e limar as pontas que eventualmente faltarem.

Caso tenha um pouco mais de tempo, veja se gostaria que a calculadora tivesse mais funções. Por exemplo, se alguém clicar nos botões do teclado em vez de ser nos botões da calculadora, ela funciona na mesma? Isso seria interessante de implementar, já para não falar que dificilmente se poderia pedir mais alguma coisa de uma calculadora... Só falta descascar fruta e fazer o jantar... Razz

Tirando isso apenas acho que o logo GeoCalc deveria estar completamente visível e não tapado pela caixa de texto da calculadora, mas tirando isso tem mesmo muito bom aspecto. Parabéns Smile

EDIT: Quanto à parte HTML, deixe o DJPRMF ler as novidades por aqui que ele de certeza que o ajudará melhor que eu... Ainda não aprendi HTML... Razz

http://goncalotomas.com

#86PAP - Página 2 Empty Re: PAP - Dom 11 maio 2014 - 16:26

Bom, o projecto é par entregar dia 16 de Junho. Mas sim, a parte de ligar a calculadora com o teclado seria interessante, pelo nos botões e operações básicas.

Quanto ao logo, eu meti assim porque como o logo aparece em outras janelas da aplicação, não achei necessário de se ver o logo todo Razz mas ainda pode ser algo a pensar mudar.

#87PAP - Página 2 Empty Re: PAP - Dom 11 maio 2014 - 16:54

Visto que já tem algo que é bastante aceitável e quanto a meu ver já está pronto para entrega, sugeria que fizesse uma cópia de segurança do seu software, ou pelo menos, desta versão estável. Esta cópia servirá para entregar a versão que tem actualmente caso não consiga implementar a função de trabalhar com o teclado do computador.

Após a cópia de segurança, pode começar a pensar sobre como é que irá ligar o input do teclado à sua aplicação da calculadora. Preparei uns links com uma leitura breve sobre o assunto:

LINK 1

LINK 2

LINK 3

Como sempre, se o inglês for um problema, pode utilizar o Google Translate, que já é capaz de efectuar traduções eficazes de páginas web inteiras. Smile

http://goncalotomas.com

#88PAP - Página 2 Empty Re: PAP - Seg 12 maio 2014 - 10:45

Estive a ler os artigos que disponibilizou e a ver alguns vídeos que existem no youtube, e parece-me não ser muito difícil, pelo menos os números, quanto aos operadores básicos, penso que seja um bocado mais complicado, pelo menos a meu ver 

Irei tentar agora, e já posto aqui a dizer como correu Smile

Cumps,

#89PAP - Página 2 Empty Re: PAP - Seg 12 maio 2014 - 11:49

Já me deparei com alguns problemas, e não entendo muito bem porque é que acontecem kiss

Pelo pesquisei a forma de realizar o que queremos é criar um evento KeyDown.

Então eu criei um evento KeyDown da Form e inseri o seguinte:

        If e.KeyData = Keys.D0 Then
            TxtCalc.Text = TxtCalc.Text + "0"
        End If

Mas não funciona, o interessante é o seguinte se eu criar um evento do botão 0 da calculadora e eu inserir o mesmo código reparei que caso eu clique primeiro no botão 0 da calculadora e depois no 0 do teclado ele escreves zeros ( ao contrario não funciona, ou seja, não consigo escrever zeros com o teclado ate clicar primeiro no botão zero da calculadora). E caso eu clique em outro botão da calculadora, já não me deixa escrever mais zeros com o teclado.

Alguém sabe o que me esta a faltar aqui? kiss

#90PAP - Página 2 Empty Re: PAP - Ter 13 maio 2014 - 0:56

Neste caso sugiro que indique novamente o código fonte, se bem que quando a avaria é intermitente (não funciona se não carregarmos antes no botão da calculadora) isso indica que não colocou o código de detecção correctamente. Ele está lá - porque funciona em determinadas instâncias do seu programa; no entanto, haver algo que se tem de fazer antes para que funcione pode ser um indicador que a porção de código respectiva à leitura dos números do teclado não se encontra no local correcto.

Novamente, a solução mais rápida será providenciar o código fonte para que possa ser identificado o problema. Smile

Cumprimentos Wink

http://goncalotomas.com

#91PAP - Página 2 Empty Re: PAP - Ter 13 maio 2014 - 20:02

Boa tarde, percebi o que você disse. Apesar de não conseguir entender onde se encontra a 'falha' Sad

Deixo aqui o codigo: http://pastebin.com/QDFVcLEx 

#92PAP - Página 2 Empty Re: PAP - Qua 14 maio 2014 - 1:02

Algo está errado mas não no sentido que eu imaginava. De acordo com um tutorial de visual basic que encontrei sobre o assunto, o código da sub rotina que se responsabiliza pela leitura das letras não está correcto. Veja este excerto: Sub Form1_KeyPress(ByVal sender As Object, _ ByVal e As KeyPressEventArgs) Handles Me.KeyPress If e.KeyChar >= ChrW(48) And e.KeyChar <= ChrW(57) Then MessageBox.Show(("Form.KeyPress: '" + _ e.KeyChar.ToString() + "' pressed.")) Select Case e.KeyChar Case ChrW(49), ChrW(52), ChrW(55) MessageBox.Show(("Form.KeyPress: '" + _ e.KeyChar.ToString() + "' consumed.")) e.Handled = True End Select End If End Sub A função que deve usar para saber que tecla foi pressionada será à partida o que se encontra nesta sub rotina (ChW), sendo que o parâmetro que é passado é o código ASCII correspondente ao número que pretende ler. Sugiro que tente novamente mas desta vez com esta função, tendo atenção a que apenas deve ler caracteres com código ASCII correspondente aos números de 0 a 9, e deve ignorar todos os outros. Reparei também que dentro da função que criou que repetia o código de outra sub rotina que já estava criada, a Btn0Click. Em vez de repetir o código julgo que poderá fazer uma chamada à sub rotina já criada, evitando desta forma redundância desnecessária no seu código... Wink

EDIT: o melhor a fazer será modificar esta sub rotina de teste do tutorial e adapta-la às suas necessidades. Smile

http://goncalotomas.com

#93PAP - Página 2 Empty Re: PAP - Qua 14 maio 2014 - 1:29

Não percebi muito bem o código que meteu ai, consegue mandar-me o link do site onde viu o código? É que acabei por ficar um pouco confuso com a explicação 

#94PAP - Página 2 Empty Re: PAP - Qua 14 maio 2014 - 9:54

Com certeza. Também por razões desconhecidas, o código ficou desformatado e parecia tudo bem quando publiquei o post.

Retirei daqui o excerto de código. Wink

http://goncalotomas.com

#95PAP - Página 2 Empty Re: PAP - Dom 18 maio 2014 - 17:37

Boa tarde,

Eu penso que fiz como estava no tutorial e não funcionou Sad

Criei o evento KeyPress da form e introduzi o seguinte:

  If e.KeyChar >= ChrW(48) And e.KeyChar <= ChrW(57) Then
            TxtCalc.Text = TxtCalc.Text + _
                e.KeyChar.ToString()
  End If

#96PAP - Página 2 Empty Re: PAP - Qui 29 maio 2014 - 1:15

Boa noite,

Peço desculpa pela longa ausência, mas encontro-me de momento a ter os últimos testes e exames do semestre, pelo que a minha estadia aqui será, no mínimo, esporádica.

Pode fornecer novamente o código fonte que possui? Irei tentar ver se encontro o erro Smile

http://goncalotomas.com

#97PAP - Página 2 Empty Re: PAP - Sáb 31 maio 2014 - 1:18

Boa noite,

Agradeço pela sua GRANDE ajuda na criação da minha aplicação. Smile

Penso que não irei fazer esse passo de associar os teclados, visto que faltam 15 dias e terei de dar prioridade ao site, mas mais uma vez, muito obrigado mesmo pelo seu tempo perdido comigo Smile

Cumps 

#98PAP - Página 2 Empty Re: PAP - Sáb 31 maio 2014 - 17:58

De nada, só tenho pena de não ter podido ajudar agora mais para o final, mas como tem entrega dia 15 eu também tenho as minhas, ficará para uma próxima... Smile

Melhores cumprimentos,

http://goncalotomas.com

#99PAP - Página 2 Empty Re: PAP - Dom 1 Jun 2014 - 10:56

Boa sorte para as suas Wink

Cumps

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 2 de 2]

Ir à página : Anterior  1, 2

Permissões neste sub-fórum
Não podes responder a tópicos




Aplicações do TugaTechAplicações TugaTechDiscord do TugaTechDiscord do TugaTechRSS TugaTechRSS do TugaTechSpeedtest TugaTechSpeedtest TugatechHost TugaTechHost TugaTech