Fórum caracteres #159221
10/05/2003
0
ola galera blz
Tenho uM DBEdit ligado a um campo CODIGOBARRA relativo ao campo codigo de barra do produto ... o problemas é o seguinte ... qdo eu digitar o codigo de barra e der um enter se ele for no formato 1234 ele confirma com o campo QTD igual a 1, e se for 2*1234 ele confirma com o campo QTD igual a 2 e remove o 2* salvando o codigo de barra apenas, ou seja 1234 ... ta foda cara
Não estou conseguindo ... sei q devo ao apertar a tecla <enter> verificar se existe o caracter *, se sim pego o q tiver antes e jogo no campo QTD, e o depois no campo CODBARRA ... mas ta fods fazer isso eheh
alguem pode me judar
Tenho uM DBEdit ligado a um campo CODIGOBARRA relativo ao campo codigo de barra do produto ... o problemas é o seguinte ... qdo eu digitar o codigo de barra e der um enter se ele for no formato 1234 ele confirma com o campo QTD igual a 1, e se for 2*1234 ele confirma com o campo QTD igual a 2 e remove o 2* salvando o codigo de barra apenas, ou seja 1234 ... ta foda cara
Não estou conseguindo ... sei q devo ao apertar a tecla <enter> verificar se existe o caracter *, se sim pego o q tiver antes e jogo no campo QTD, e o depois no campo CODBARRA ... mas ta fods fazer isso eheh
alguem pode me judar
Fer
Curtir tópico
+ 0
Responder
Posts
10/05/2003
4_olho
Meio complicado sua dúvida ...
Se o campo é DBEdit, ele representa um campo de uma tabela, isto é, o que está (ou vai escrito nele) é gravado na tabela. No seu caso, o tal DBEdit está relacionado a um Field chamado CODBARRA.
Pelo que entendi, você usa esta entrada para colocar DUAS informações diferentes - quantidade e o produto e ainda de um modo não homogêneo, pois pelo que vejo, se colocar só o código, significa que é um só produto. Quando quer colocar dois ou mais, você digita 2* (ou 3*, ou 4*) mais o código do produto. Não me parece um modo muito prático.
Para resolver, basta colocar dois DBEdit, um relacionado ao campo QTD e outro relacionado ao campo CODBARRA.
Se ainda insistir no seu modo, uma possível solução é trocar seu DBEdit por um Edit comum e no evento OnExit deste componente, colocar algo parecido com :
var
posasterisco : Integer;
begin
posasterisco := Pos(´*´, Edit1.Text);
if posasterisco <> 0 then
begin
SuaTabelaQTD.Value := StrToInt(Copy(Edit1.Text, 1, posasterisco-1));
SuaTabelaCODBARRA.Value := Copy(Edit1.Text, posasterisco+1, Lenght(Edit1.Text)-posasterisco);
end
else
SuaTabelaCODBARRA.Value := Edit1.Text;
end;
CUIDADO : não testei o código acima - pode conter vários erros de sintaxe.
Se o campo é DBEdit, ele representa um campo de uma tabela, isto é, o que está (ou vai escrito nele) é gravado na tabela. No seu caso, o tal DBEdit está relacionado a um Field chamado CODBARRA.
Pelo que entendi, você usa esta entrada para colocar DUAS informações diferentes - quantidade e o produto e ainda de um modo não homogêneo, pois pelo que vejo, se colocar só o código, significa que é um só produto. Quando quer colocar dois ou mais, você digita 2* (ou 3*, ou 4*) mais o código do produto. Não me parece um modo muito prático.
Para resolver, basta colocar dois DBEdit, um relacionado ao campo QTD e outro relacionado ao campo CODBARRA.
Se ainda insistir no seu modo, uma possível solução é trocar seu DBEdit por um Edit comum e no evento OnExit deste componente, colocar algo parecido com :
var
posasterisco : Integer;
begin
posasterisco := Pos(´*´, Edit1.Text);
if posasterisco <> 0 then
begin
SuaTabelaQTD.Value := StrToInt(Copy(Edit1.Text, 1, posasterisco-1));
SuaTabelaCODBARRA.Value := Copy(Edit1.Text, posasterisco+1, Lenght(Edit1.Text)-posasterisco);
end
else
SuaTabelaCODBARRA.Value := Edit1.Text;
end;
CUIDADO : não testei o código acima - pode conter vários erros de sintaxe.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)