Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

FabioRubim

Entrada de código em um EditMask

Recommended Posts

Ola galera....

 

Eu estou querendo fazer uma pesquisa em uma tabela de produtos pelo código dele, só que o código tem várias partes, tem Peça(4 dígitos), Linha(3 dígitos),Bitola(3 dígitos),Caracteristica(3 dígitos), sóq que todos menos a Peça pode preencher todos os digitos ou não.... e se por exemplo eu tenho 1552-C -012-" " os espaços da Linha e da Caracteristicas são contados na Tabela Produtos....como faço para ter uma máscara, ou outra coisa, para quando eu quiser pular partes desse código seja procurado como espaços?

 

Estou fazendo assim a procura:

 

No evento OnChange do MaskEdit coloco esse código:

 

DM_Principal.qryProdutos.Locate('Cd_Pro',edtPeca.Text+edtLinha.Text+edtBitola.Text+edtCarac.Text+edtCor.Text,[loPartialKey]);

 

se puderem me ajudar...

 

obrigado de qualquer maneira!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Marcio,´eu preciso usar letras tmb, colocando o 9 não da....e que caso eu digite um só caractere aonde vai 3 por exemplo, os outros dois fiquem espaços.alguma idéia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu entendi direito, você pode trocar os espaços pelo caracter curinga "%"

 

var  Consulta: String;begin  Consulta:= StringReplace(Edit1.Text, ' ', '%', [rfReplaceAll]);
dai basta usar o Consulta pra consultar os dados dentro de uma instrução SQL

 

ok!! Espero q lhe ajude

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não da, pois eu uso os espaços, esses espaços estão nos campos do BD..mas.....ja resolvi...

Fiz assim, com a função abaixo ela repete determinado caractare(no caso o " ", espaço) quantas vezes for passada no parâmetro e fazendo concatenação:

 

function TfrmOrcamentos.Replicate(Caracter: String;Quant: Integer): String;var I : Integer;beginResult := '';  for I := 1 to Quant do	  Result := Result + Caracter;end;

Depois fiz assim no evento OnExit do Edit:

 

if (Length(edtBitola.Text) < 3 ) then	edtBitola.Text:=edtBitola.Text +(Replicate(' ',(3- Length(edtBitola.Text))));

E fui fazendo em todos os Edits que precisava e pronto!

 

 

Obrigado mesmo pessoal, qualquer coisa posto ai de novo! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.