Código
letra:char;
caracter{ultima letra do campo},variavel{armazena letra}:string;
quantidade:byte;//quantidade de caracteres
result{caracter tranformado em numero},valida{autoriza mudar caracter}:integer;
begin
// edit7 é valor "letras"
// edit8 resposta da sequencia
edit8.Text:='';//limpa editis antes de adicionar
caracter:=edit7.Text;//caracteres digitado
variavel:=edit8.Text;//variavel de armazenamento
quantidade:=length(edit7.Text);//quantidade de caracter para calculo
valida:=0;//execução de processo
while (quantidade>0) do //repetir varias vezes até quantidade ser igual a zero
begin
letra:= caracter[quantidade]; //importar caracter para campo letra
case letra of //converte letra em número
'A': variavel:= '1';
'B': variavel:= '2';
'C': variavel:= '3';
'D': variavel:= '4';
'E': variavel:= '5';
'F': variavel:= '6';
'G': variavel:= '7';
'H': variavel:= '8';
'I': variavel:= '9';
'J': variavel:= '10';
'K': variavel:= '11';
'L': variavel:= '12';
'M': variavel:= '13';
'N': variavel:= '14';
'O': variavel:= '15';
'P': variavel:= '16';
'Q': variavel:= '17';
'R': variavel:= '18';
'S': variavel:= '19';
'T': variavel:= '20';
'U': variavel:= '21';
'V': variavel:= '22';
'W': variavel:= '23';
'X': variavel:= '24';
'Y': variavel:= '25';
'Z': variavel:= '26';
end;// case letra
if (strtoint(variavel)<27) and (valida=0) then
begin
variavel:=inttostr(strtoint(variavel)+1);
valida:=-1;
end;//end do variavel<27 e valida=0
if (strtoint(variavel)<27) and (valida=1) then
begin
variavel:=inttostr(strtoint(variavel)+1);
if (strtoint(variavel)<27) then
valida:=0
else
valida:=1;
end;//end do variavel<27 e valida=1
if (strtoint(variavel)>26) then
begin
variavel:='1';
valida:=1;
end;//end do variavel>26
result:=strtoint(variavel);//retornar Letra no lugar do número
case result of //convertendo e recopiando caracteres anterior
1: Edit8.Text:= 'A'+edit8.Text;
2: Edit8.Text:= 'B'+edit8.Text;
3: Edit8.Text:= 'C'+edit8.Text;
4: Edit8.Text:= 'D'+edit8.Text;
5: Edit8.Text:= 'E'+edit8.Text;
6: Edit8.Text:= 'F'+edit8.Text;
7: Edit8.Text:= 'G'+edit8.Text;
8: Edit8.Text:= 'H'+edit8.Text;
9: Edit8.Text:= 'I'+edit8.Text;
10: Edit8.Text:= 'J'+edit8.Text;
11: Edit8.Text:= 'K'+edit8.Text;
12: Edit8.Text:= 'L'+edit8.Text;
13: Edit8.Text:= 'M'+edit8.Text;
14: Edit8.Text:= 'N'+edit8.Text;
15: Edit8.Text:= 'O'+edit8.Text;
16: Edit8.Text:= 'P'+edit8.Text;
17: Edit8.Text:= 'Q'+edit8.Text;
18: Edit8.Text:= 'R'+edit8.Text;
19: Edit8.Text:= 'S'+edit8.Text;
20: Edit8.Text:= 'T'+edit8.Text;
21: Edit8.text:= 'U'+edit8.Text;
22: Edit8.text:= 'V'+edit8.Text;
23: Edit8.text:= 'W'+edit8.Text;
24: Edit8.text:= 'X'+edit8.Text;
25: Edit8.Text:= 'Y'+edit8.Text;
26: Edit8.Text:= 'Z'+edit8.Text;
end;//case result
quantidade:=quantidade-1; //subtrai quantidade até chegar a zero
if (quantidade=0)and(valida=1) then//adiciona 'A' se sequencia chegar ao fim
Edit8.Text:= 'A'+edit8.Text;
end;//end do while
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009