Divisão de código em vários Edits.
Ai galera to apanhando no seguinte problema.
Uso Ado e Acess ok Como base de dados. e Delphi 7.
Tenho seguinte codigo.
01010140314001 este e o codigo do meu cadastro.
So que na hora de digitar preciso colocar varios edits da seguinte forma.
Vai ser digitado da seguinte maneira. Vou colocar colchetes pra simbolizar os edits ok.
Edt1 Edt2 Edt3 Edt4 Edt5
[01] [01] [014] [0314] [001]
deu pra entender e uma inscriçã so, mais nahora de digitar quero cada codigo dividido em edits, pois cada edit seguinifica, exemplo.
01 cidade/ 01 bairro / 014 quadra / 0314 lote / 001 sublote
Valeu espero ter explicado bem..
[b:2fd1f03f92][color=red:2fd1f03f92]Título editado pelo Moderador (AZ) - Removido: ´DIVISÃO DE CODIGO EM VARIOS EDITS.´[/color:2fd1f03f92][/b:2fd1f03f92]
Uso Ado e Acess ok Como base de dados. e Delphi 7.
Tenho seguinte codigo.
01010140314001 este e o codigo do meu cadastro.
So que na hora de digitar preciso colocar varios edits da seguinte forma.
Vai ser digitado da seguinte maneira. Vou colocar colchetes pra simbolizar os edits ok.
Edt1 Edt2 Edt3 Edt4 Edt5
[01] [01] [014] [0314] [001]
deu pra entender e uma inscriçã so, mais nahora de digitar quero cada codigo dividido em edits, pois cada edit seguinifica, exemplo.
01 cidade/ 01 bairro / 014 quadra / 0314 lote / 001 sublote
Valeu espero ter explicado bem..
[b:2fd1f03f92][color=red:2fd1f03f92]Título editado pelo Moderador (AZ) - Removido: ´DIVISÃO DE CODIGO EM VARIOS EDITS.´[/color:2fd1f03f92][/b:2fd1f03f92]
Uoquisala
Curtidas 0
Respostas
Djjunior
09/02/2004
simples crie uma função tipo
function tab(Sender: TObject; Tamanho:integer)
result := false
if Length(sender.text) = tamanho then
result := True;
e no OnChange do campo coloque:
if tab(sender, 2) then
Perform(WM_NEXTDLGCTL,0,0);
function tab(Sender: TObject; Tamanho:integer)
result := false
if Length(sender.text) = tamanho then
result := True;
e no OnChange do campo coloque:
if tab(sender, 2) then
Perform(WM_NEXTDLGCTL,0,0);
GOSTEI 0
Uoquisala
09/02/2004
Ai deixa eu ver se entendi.
Tab e o nome da função
Sender.text devo colocar meus edits no lugar dele?
tamanha vai ser o tamanho de cada campo.
E isso?
Tab e o nome da função
Sender.text devo colocar meus edits no lugar dele?
tamanha vai ser o tamanho de cada campo.
E isso?
simples crie uma função tipo
function tab(Sender: TObject; Tamanho:integer)
result := false
if Length(sender.text) = tamanho then
result := True;
e no OnChange do campo coloque:
if tab(sender, 2) then
Perform(WM_NEXTDLGCTL,0,0);
GOSTEI 0
Djjunior
09/02/2004
sender vai ser o nome do componente que chamou a função, então ele vai substituir automáticamente o sender.text por edit1.text, em tempo de execução
tamanho sim vai ser o tamanho do campo
tamanho sim vai ser o tamanho do campo
GOSTEI 0
Osocram
09/02/2004
naum sei se eh isso mas vai lah...
no onchange dos edit vc coloca
if Length(edit.text)=MaxLength then
selectnext(activecontrol, true, true);
Lembre-se de mudar a propriedade do MaxLength d cada edit (isso quer dizer tamanho max)
e deixar ele na seq. do tab order..
no onchange dos edit vc coloca
if Length(edit.text)=MaxLength then
selectnext(activecontrol, true, true);
Lembre-se de mudar a propriedade do MaxLength d cada edit (isso quer dizer tamanho max)
e deixar ele na seq. do tab order..
GOSTEI 0
Osocram
09/02/2004
faltou eu colcoar edit.Maxlength
ficaria assim
ou vc pode jogar jogar td em uma funcao geral oq seria mais correto.
ficaria assim
procedure TForm1.Edit1Change(Sender: TObject);
begin
if Length(edit1.text)=edit1.MaxLength then
selectnext(activecontrol, true, true);
end;
procedure TForm1.Edit2Change(Sender: TObject);
begin
if Length(edit2.text)=edit2.MaxLength then
selectnext(activecontrol, true, true);
end;
procedure TForm1.Edit3Change(Sender: TObject);
begin
if Length(edit3.text)=edit3.MaxLength then
selectnext(activecontrol, true, true);
end;
procedure TForm1.Edit4Change(Sender: TObject);
begin
if Length(edit4.text)=edit4.MaxLength then
selectnext(activecontrol, true, true);
end;
ou vc pode jogar jogar td em uma funcao geral oq seria mais correto.
GOSTEI 0
Nish
09/02/2004
Não entendi direito a pergunta...
Mas se o que você quer fazer é digitar o código em outros edit´s e depois uni-los para se tornar em apenas um código, faça assim
dbedit_cod_final.text:=edit1.text + edit2.text + edit3.text ........
Depois mande gravar...
Mas se o que você quer fazer é digitar o código em outros edit´s e depois uni-los para se tornar em apenas um código, faça assim
dbedit_cod_final.text:=edit1.text + edit2.text + edit3.text ........
Depois mande gravar...
GOSTEI 0