gamarrajr Posted April 16, 2012 at 10:12 AM Report #449383 Posted April 16, 2012 at 10:12 AM O rfid tem uns cartões que tem um código que e a sua identificação como por exemplo 4654874321 , e eu queria que o programa que vou fazer conseguisse detectar esse código em vez de só detectar o Enter. private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { MessageBox.Show("Enter pressed", "Attention"); } } Mas com esse tal código do cartão se alguém poder ajudar 😁
HappyHippyHippo Posted April 16, 2012 at 10:30 AM Report #449385 Posted April 16, 2012 at 10:30 AM podes ser mais coerente na tua questão ?? o que dizes parece muito confuso. falas num código e apresentar um event de um form, não dizes onde tens guardado o valor já inserido, e outras questões relativas a como a tua aplicação está a receber o código (parece ser pelo teclado ?!?! afinal não é por rfid ?!?!) IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
gamarrajr Posted April 16, 2012 at 10:41 AM Author Report #449386 Posted April 16, 2012 at 10:41 AM podes ser mais coerente na tua questão ?? o que dizes parece muito confuso. falas num código e apresentar um event de um form, não dizes onde tens guardado o valor já inserido, e outras questões relativas a como a tua aplicação está a receber o código (parece ser pelo teclado ?!?! afinal não é por rfid ?!?!) o rfid e como usar a tecla enter, mas tem uns cartões quem tem uns códigos tipo 457899654, e eu queria usar esses cartões como fossem outras teclas como por exemplo tecla A. porque cada vez que passo o cartão ele assume a tecla enter sempre
softklin Posted April 16, 2012 at 10:55 AM Report #449390 Posted April 16, 2012 at 10:55 AM Não sei se é o caso, mas pelo que li, os leitores de cartões RFID simulam a introdução de caracteres, como se fosse um teclado. O código não é enviado antes da tecla Enter? Experimenta apanhar dígitos que venham antes do enter, por exemplo: private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { MessageBox.Show("Enter pressed", "Attention"); } if(e.KeyValue >= 48 && e.KeyValue <= 57){ MessageBox.Show(((char) e.KeyValue).ToString()); } } Os valores 48 a 57 correspondem aos dígitos de 0 a 9 segundo a tabela ASCII. Nesse exemplo, ao colocares o cartão no leitor, deve-te ser apresentada uma messagebox com cada dígito, seguido do aviso de premires a tecla enter. Isto funciona no teu caso? Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.
gamarrajr Posted April 16, 2012 at 11:14 AM Author Report #449395 Posted April 16, 2012 at 11:14 AM Não sei se é o caso, mas pelo que li, os leitores de cartões RFID simulam a introdução de caracteres, como se fosse um teclado. O código não é enviado antes da tecla Enter? Experimenta apanhar dígitos que venham antes do enter, por exemplo: private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { MessageBox.Show("Enter pressed", "Attention"); } if(e.KeyValue >= 48 && e.KeyValue <= 57){ MessageBox.Show(((char) e.KeyValue).ToString()); } } Os valores 48 a 57 correspondem aos dígitos de 0 a 9 segundo a tabela ASCII. Nesse exemplo, ao colocares o cartão no leitor, deve-te ser apresentada uma messagebox com cada dígito, seguido do aviso de premires a tecla enter. Isto funciona no teu caso? ele da semprem valor de zero em todos os cartoes
softklin Posted April 16, 2012 at 12:54 PM Report #449402 Posted April 16, 2012 at 12:54 PM Então, isso significa que ele está a mandar o código 0 nos cartões. Os cartões já têm um código predefinido, que não seja zero, ou tens de os inicializar com um código teu? Pelo que descreves, parece que todos estão a zero. Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.
gamarrajr Posted April 19, 2012 at 11:54 AM Author Report #449934 Posted April 19, 2012 at 11:54 AM Usei este código private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { //MessageBox.Show("Enter pressed", "Attention"); MessageBox.Show(codigo); } if(e.KeyValue >= 48 && e.KeyValue <= 57){ codigo = string.Concat(codigo, ((char) e.KeyValue).ToString()); //MessageBox.Show(((char) e.KeyValue).ToString()); } ele já mostra o numero do cartão Problema e, quando tenho botões no form ele não detecta as teclas
bsccara Posted April 19, 2012 at 12:07 PM Report #449938 Posted April 19, 2012 at 12:07 PM Julgo que a propriedade KeyValue da classe KeyEventArgs retorna um código numérico da tecla, que não corresponde ao código UTF-16 da mesma. Tenta fazer : codigo = string.Concat(codigo, Convert.ToChar(e.KeyValue)); em vez de: codigo = string.Concat(codigo, ((char) e.KeyValue).ToString())
gamarrajr Posted April 19, 2012 at 01:15 PM Author Report #449967 Posted April 19, 2012 at 01:15 PM Julgo que a propriedade KeyValue da classe KeyEventArgs retorna um código numérico da tecla, que não corresponde ao código UTF-16 da mesma. Tenta fazer : codigo = string.Concat(codigo, Convert.ToChar(e.KeyValue)); em vez de: codigo = string.Concat(codigo, ((char) e.KeyValue).ToString()) continua igual, mas obrigado na mesma
gamarrajr Posted April 19, 2012 at 02:42 PM Author Report #449988 Posted April 19, 2012 at 02:42 PM Pessoal preciso novamente de uma grande ajuda =P O numero do cartão que tenho de rfid e este 0006880574 , e preciso que quando passar esse tal cartao com esse numero passe para outro form Obrigado mais uma vez a todos
softklin Posted April 19, 2012 at 04:45 PM Report #450010 Posted April 19, 2012 at 04:45 PM Isso já foi discutido muitas vezes no fórum, se fizeres uma pesquisa, incluindo na nossa Wiki, encontras a resposta. Não sei como estás a fazer, mas uma forma simples e sem alterar nada do que está feito, é adicionar um método no formulário para o qual queres enviar dados (form destino), e passar o código para lá. Por exemplo: public function void inserirNumero(string id) { // o numero é recebido no id, fazer o pretendido com ele, por exemplo: Messagebox.Show("Recebi o id " + id); } no formulário que lê o número, basta fazeres: frmDestino dest = new frmDestino(); // abrir o teu form dest.inserirNumero(codido); // passar o codigo dest.Show(); Já agora, por curiosidade, adquiriste um leitor de RFID para fins pessoais? Se sim, podes dizer-me onde comprar um barato, apenas para leitura? Também gostava de fazer umas brincadeiras com RFID. Cumps. Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.
gamarrajr Posted April 19, 2012 at 06:49 PM Author Report #450038 Posted April 19, 2012 at 06:49 PM Isso já foi discutido muitas vezes no fórum, se fizeres uma pesquisa, incluindo na nossa Wiki, encontras a resposta. Não sei como estás a fazer, mas uma forma simples e sem alterar nada do que está feito, é adicionar um método no formulário para o qual queres enviar dados (form destino), e passar o código para lá. Por exemplo: public function void inserirNumero(string id) { // o numero é recebido no id, fazer o pretendido com ele, por exemplo: Messagebox.Show("Recebi o id " + id); } no formulário que lê o número, basta fazeres: frmDestino dest = new frmDestino(); // abrir o teu form dest.inserirNumero(codido); // passar o codigo dest.Show(); Já agora, por curiosidade, adquiriste um leitor de RFID para fins pessoais? Se sim, podes dizer-me onde comprar um barato, apenas para leitura? Também gostava de fazer umas brincadeiras com RFID. Cumps. São 50 euros amanha eu dou te o site =P, mas obrigado pela ajuda, este e o código que eu coloquei e deu if (string.Compare(codigo,"0006880574")==0) { mshape = 1; }
Gonka Posted April 19, 2012 at 06:52 PM Report #450039 Posted April 19, 2012 at 06:52 PM Também ando ansioso para matar a curiosidade de brincar com um RFID, mas o que tenho encontrado é caro demais...
softklin Posted April 19, 2012 at 07:21 PM Report #450044 Posted April 19, 2012 at 07:21 PM Epá, 50 euros é muito para o que queria fazer. E ainda tinha de comprar as tags, embora sejam baratas. Sendo assim, obrigado na mesma, vou continuar à procura de algo mais acessível. Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.
gamarrajr Posted April 19, 2012 at 07:31 PM Author Report #450046 Posted April 19, 2012 at 07:31 PM Epá, 50 euros é muito para o que queria fazer. E ainda tinha de comprar as tags, embora sejam baratas. Sendo assim, obrigado na mesma, vou continuar à procura de algo mais acessível. mesmo assim se conseguir mais barato, eu depois falo contigo
Flinger Posted May 11, 2012 at 11:09 AM Report #454554 Posted May 11, 2012 at 11:09 AM http://www.stronglink-rfid.com/pt/rfid-readers/sl500.html As mais básicas são mais baratas, mas permitem-te ler menos tipos de cartões. E 50 euros não é caro para um leitor RFid de secretária. Pelo contrário, já são produtos de baixo custo B). Pelo menos para cartões 13.56 Mhz
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now