Fórum Divisão de código em vários Edits. #212628

09/02/2004

0

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]


Uoquisala

Uoquisala

Responder

Posts

09/02/2004

Djjunior

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);


Responder

Gostei + 0

09/02/2004

Uoquisala

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?

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);



Responder

Gostei + 0

09/02/2004

Djjunior

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


Responder

Gostei + 0

09/02/2004

Osocram

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


Responder

Gostei + 0

09/02/2004

Osocram

faltou eu colcoar edit.Maxlength

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.


Responder

Gostei + 0

10/02/2004

Nish

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar