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

(Resolvido) Problemas com OnKeyPress


jaumDoDelphi

Pergunta

Ola galera!

Estou com problemas no envento "OnKeyPress"

fiz um projeto da AGENDA, mas hj eu descobri um erro grave!

Estou utilizando o comando para transformar uma linha do BANCO de dados

para "CSV" que pode ser lido no MS EXCELL.

Dai vem o problema

- como os dados em CSV são gravados desta forma

COD;NOME;ENDER;TEL;INFO

se você por o PONTO VIRGUAL ";" por engano vai danificar todo o arquivo CSV!

Dai eu queria Bloquear a tecla ;, fiz o seguinte comando

begin

inherited;

if (key in [';',#8])

then

key:=#0;

end;

Ate ai tudo bem funcionou mas quando eu apreto o BACKSPACE ele não funciona mais!!!

o PONTO VIRGUAL não pode ser digitado mas este comando matou meu BACKSPACE!

alguém tem alguma solução?

Editado por jaumDoDelphi
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Ola galera!

Estou com problemas no envento "OnKeyPress"

fiz um projeto da AGENDA, mas hj eu descobri um erro grave!

Estou utilizando o comando para transformar uma linha do BANCO de dados

para "CSV" que pode ser lido no MS EXCELL.

Dai vem o problema

- como os dados em CSV são gravados desta forma

COD;NOME;ENDER;TEL;INFO

se você por o PONTO VIRGUAL ";" por engano vai danificar todo o arquivo CSV!

Dai eu queria Bloquear a tecla ;, fiz o seguinte comando

begin

inherited;

if (key in [';',#8])

then

key:=#0;

end;

Ate ai tudo bem funcionou mas quando eu apreto o BACKSPACE ele não funciona mais!!!

o PONTO VIRGUAL não pode ser digitado mas este comando matou meu BACKSPACE!

alguém tem alguma solução?

Mas é claro que não vai funcionar o backspace ehuehue, você o impediu de funcionar, o código #8 é o código ascii no backspace, se você quer bloquear a virgula e o ponto e virgula o correto é fazer assim ó:

...
    if (key in [';',',']) then
...
se quiser bloquear somente o ponto e virgula daí é assim:
...
    if key = ';' then
...

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

hahahaha!

vlw mesmo Douglas.

Eu pensei q #8 era algo do proprio comando kkkkk,

essa você deve ter morrido de rir não é?! :lol:

Mas agora sim, esta tudo certo. N preciso mais me preocupar com o FATAL ; para o arquivo CSV

Eu estava ate fazendo um comando de louco para corrigir o ; da só uma olhada:

inherited;

if not (key in ['A'..'Z','a'..'z','0'..'9','!','@','#','$','%','^','~','&','*','(',')','_','-',

'+','=,'[',]','{','}',':','ç','Ç','Ã','Õ','é','É','ã','õ','á','Á','ó','Ó','ê','Ê','ô','Ô',

'"','<','>','?','.','/','\','não','não',#8])

then

key:=#0;

end;

Que Trabalho, não?

muito obrigado ;)

Link para o comentário
Compartilhar em outros sites

  • 0

hueheuheue, com esse comando aí se invocava até o capeta, kkkkkkkkkkk

Olha aqui a tabela ascii

http://www.tabelaascii.com/

e os códigos de teclas pro delphi

http://www.arquivodecodigos.net/arquivo/re...as_virtuais.php

Isso vai te ajudar quando quiser fazer referencias à teclas!

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...