O titulo do topico acaba sendo um pouco limitado, mas o recurso que irei mostrar a seguir e muito simples e pode ser aplicado em qualquer componente utilizado para digitacao de caracteres. Partindo do exemplo de um edit, denominado por exemplo para receber o CPF de uma pessoa, obviamente pode aceitar a digitacao de numeros do "0" ao "9" e tambem o "." (Ponto) e o "-" (hifen), nao permitindo mais nenhum outro caractere, ou sim, o "#8", ou seja, o comando de apagar da direita para esquerda (Backspace).Em qualquer componente que deseja atribuir o controle, basta que adicione ao evento OnKeyPress o seguinte trecho de codigos:procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9','.','-',#8]) then abort;end;Pronto, em qualquer componente que voce ira adicionar o codigo ao evento mencionado, sera controlada a digitacao destes caracteres. Abraco, ate o proximo post. Bom galera, este post que deixo dessa vez nao possui relacionamento direto com dicas Delphi, mas sim com a empresa que montei a pouco tempo oferecendo as mais diversas solucoes na area de informatica.A Tche Solucoes oferece a voce os melhores produtos pelos menores precos alem da prestacao de servicos na area de informatica com credibilidade e confianca. Acesse o site da empresa (http://www.tchesolucoes.com.br) e confiram os produtos e promocoes que temos para lhe oferecer. Entre em contato e solicite um orcamento.Abracos... Salve galera, estou estendendo meu dia hoje, ou melhor, minha madrugada para compartilhar uma dica talvez nao tao importante, mas que em casos iguais a este que me fez usar o recurso, pode ser interessante. Tenho uma situacao de um sistema onde ocorrem casos do cliente dizer "...mas eu tinha colocado o valor certo, foi o sistema que alterou", e ja cansado de procurar pelo dito erro no sistema, vou passar a desconfiar do usuario e dar um "Print" no formulario dele a hora que ele salvar e guardar o jpg, ou seja, vou capturar a imagem do form, transformar em jpg e salvar no diretorio do sistema. Se ele apagar os arquivos, bom, ai acho que e possivel interpretar que ele esta assumindo a culpa, caso contrario, vou ter pelo menos uma prova que ele digitou mesmo o valor correto e voltar a bater cabeca procurando o erro no sistema.A solucao e bem simples, declare nas uses a classe "jpeg" e em seguida crie uma funcao ou adicione o codigo no proprio botao "Salvar", conforme segue abaixo:procedure TfrmReservas.BitBtn2Click(Sender: TObject);var JpgSave: TJPEGImage;begin {aqui minha rotina de salvar o registro, calculos, atualiza estoque, reserva quantidades, etc...} //Cria um objeto do tipo Jpeg JpgSave := TJPEGImage.Create; try //Captura a imagem do form JpgSave.Assign((frmReservas as TForm).GetFormImage); //Verifica se existe o diretorio para salvar a imagem, se nao existir, e criado if not DirectoryExists(ExtractFilePath(Application.ExeName)+'jpg') then CreateDir(ExtractFilePath(Application.ExeName)+'jpg'); //Salva a imagem no diretorio, usando como nome o proprio codigo do registro salvo no banco JpgSave.SaveToFile(ExtractFilePath(Application.ExeName)+'jpg\'+LblNumReserva.Caption+'.jpg'); finally //Limpa objeto da memoria FreeAndNil(JpgSave); end;End;Pronto, apos isso, ao executar o sistema e clicar sobre o botao onde o codigo foi adicionado, observe que uma pasta jpg foi criada no mesmo diretorio do executavel do sistema e que