Ir para conteúdo

POWERED BY:

Arquivado

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

MARCOS MARTINS

como somar ...

Recommended Posts

E AÍ PESSOAL beleza, ENTÃO É O SEGUINTE;

 

EU TENHO UMA ROTINA QUE VERIFICA SE UM DOCUMENTO JÁ EXISTE, SE NÃO EXISTIR ELE SOMA (+ 1) E SE EXISTIR ELE TEM QUE PEGAR O NUMERO QUE ESTA NO EDIT E SOMAR UMA LETRA. TIPO ASSIM, ELE VASCULHOU O Nº 1000 NÃO ENCONTROU SOMA (+ 1) FICANDO (1001) E SE ENCONTROU ELE SOMA UMA LETRA (1000A) ENTENDEU.

EU CONSIGO ATÉ SOMAR A LETRA (A) QUANDO ELE ENCONTRA, MAIS SE FOR PROCURAR DE NOVO ELE VAI SOMAR MAIS UM (A) FICANDO ASSIM (1000AA), ENTÃO EU GOSTARIA DE SABER COMO EU FAÇO PARA ELE SOMAR AS LETRAS DE (A...Z) FICANDO ASSIM (1000A) (1000B) (1000C) (1000D) (1000E) ... (1000Z)

SERÁ QUE ALGUÉM PODE ME AJUDAR... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

 

 

 

MARCOS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

 

Pode-se fazer um teste no último caractere do Edit:

 

if edt.Text[ Length(edt.Text) ] in ['A'..'Z'] thenbegin  edt.Text[ Length(edt.Text) ] := Chr( Ord(edt.Text[ Length(edt.Text) ]) + 1 );endelse edt.Text := edt.Text + 'A';

Espero que ajude

Até+

Compartilhar este post


Link para o post
Compartilhar em outros sites

e ai Paulo,

testei a sua dica mais ela da o seguinte erro

 

begin

if edt.Text[ Length(edt.Text) ] in ['A'..'Z'] then

begin

edt.Text[ Length(edt.Text) ] := Chr( Ord(edt.Text[ Length(edt.Text) ]) +1;

end else

edt.Text := edt.Text + 'A';

end;

 

na linha onde esta vermelho, bem no := ele dá o seguinte erro

 

Left side cannot be assigned to

Variable required

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

 

Esqueci desse detalhe... deve-se utilizar uma variável auxiliar para tanto:

 

var s: String;begin     if edt.Text[ Length(edt.Text) ] in ['A'..'Z'] then     begin          s := edt.Text;          s[ Length(edt.Text) ] := Chr( Ord(edt.Text[ Length(edt.Text) ]) + 1 );          edt.Text := s;     end     else edt.Text := edt.Text + 'A';end;

Agora deve funcionar

Até+

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.