ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

ordem alfabetica

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
anccj
Novato
Novato


Registrado: Domingo, 4 de Setembro de 2005
Mensagens: 55

MensagemEnviada: Sex Mar 09, 2007 4:30 pm    Assunto: ordem alfabetica Responder com Citação

ola colegas, como faco para ver se uma letra esta na ordem alfabetica, por exemplo a letra "T" quero saber se ela esta ocupando a posicao 20 do alfabeto.

obrigado
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Sex Mar 09, 2007 5:00 pm    Assunto: Re: ordem alfabetica Responder com Citação

anccj escreveu:
ola colegas, como faco para ver se uma letra esta na ordem alfabetica, por exemplo a letra "T" quero saber se ela esta ocupando a posicao 20 do alfabeto.

obrigado
Olah, vc fez sequencial? tipo usou um autoincremento para sequenciar a ordem do alfabeto? se for faça + ou - assim

Código:
procedure TForm1.Button1Click(Sender: TObject);
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('Select * From letras');
query1.SQL.Add('where upper(letras) like :pesquisa');
query1.ParamByName('pesquisa').asString:=ANSIUPPERCASE(Edit1.Text)+'%';
query1.Open;
showmessage('Essa letra está na ordem: '+'  -  '+ query1.fieldbyname('sequencia').asString);
end;


Se nao for explique melhor a sua duvida amigo.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
anccj
Novato
Novato


Registrado: Domingo, 4 de Setembro de 2005
Mensagens: 55

MensagemEnviada: Sex Mar 09, 2007 5:11 pm    Assunto: Responder com Citação

oi amigo, eu nao estou usando bd, minha aplicacao nao usa bd. eu quero é fazer o seguinte: tenho um edit e escrevo uma palavra nele "teste" por exemplo e qdo eu clicar num botao vou ter q mostrar num outro edit os numeros correspondentes das letras do alfabeto ou seja " 20 5 19 20 5 19" onde esses numeros sao os respectivos numeros das letras na ordem alfabetica.

conseguí explicar melhor? rsrsrs.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Sex Mar 09, 2007 10:08 pm    Assunto: Responder com Citação

anccj escreveu:
oi amigo, eu nao estou usando bd, minha aplicacao nao usa bd. eu quero é fazer o seguinte: tenho um edit e escrevo uma palavra nele "teste" por exemplo e qdo eu clicar num botao vou ter q mostrar num outro edit os numeros correspondentes das letras do alfabeto ou seja " 20 5 19 20 5 19" onde esses numeros sao os respectivos numeros das letras na ordem alfabetica.

conseguí explicar melhor? rsrsrs.
Olah bom eu nao consegui montar uma funcao exata para o seu problema, mais acho que vc vai ter que usar o const com array para fazer uma funçao que vc precisa.

Bom nesta primeira funcao o maximo que eu consegui foi digitar o numero da letra no edit1 e no edit 2 apareçer a letra referente ao numero que digitei.

Acho que olhando este codigo ja da pra ter alguma ideia ai
Código:
function LetrasNum(iLetras: longint): string;
const
      Letras: array[1..26] of string = ('a','b','c','d','e','f','g','h',
         'i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
      NumLetras: array[1..26] of integer = (1,2,3,4,5,6,7,8,9,10,11,12,13,
         14,15,16,17,18,19,20,21,22,23,24,25,26);
var
      i: integer;
begin
      result := '';
      for i := 26 downto 1 do
        while (iLetras >= NumLetras[i]) do
        begin
           iLetras := iLetras - NumLetras[i];
           result := result + Letras[i];
        end;
end;


Agora tentei tambem fazer assim (Acho que esta segunda funçao esta mais parecido com o que vc precisa)
Código:
function mostranumletra(texto: string): string; stdcall;
const
letras = 'abcdefghijklmnopqrstuvwxyz';
numeros = '1234567891011121314151617181920212223242526';
var
x: Integer;
begin
for x := 1 to Length(texto) do
if Pos(texto[x], letras) <> 0 then
texto[x] := numeros[Pos(texto[x], letras)];
Result := texto;
end;

Mais essa aqui funciona bem ateh na letra I
Ou seja se eu digitar no edit 1 a letra B por exemplo no edit2 vai mostrar 2.

Mais se eu digitar no edit1 a letra Z nao vai mostrar o numero 26.

Acho que falta dar uma melhorada no codigo para funcionar como vc precisa

Bom eu nao pude ajudar muito, soh deixeir meio caminho pra ver se vc consegue resolver ai amigo

Boa sorte.

Adriano.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB