Fórum Ordem Alfabetica #204151

05/01/2004

0

Eu tenho um monte de nomes numa TStringList e gostaria de alinhar eles por ordem alfabetica ascendente e descendente...
como eu faço isso ???
valeu!


Kurama

Kurama

Responder

Posts

05/01/2004

Aroldo Zanela

Colega,

Utilize o método SORT da classe TStringList para ordenar de forma ascendente.


Responder

Gostei + 0

05/01/2004

Cebikyn

Para organizar de forma ascendente, use o sort, indicado pelo Aroldo Zanela, e de forma descendente pode usar o SuperSort, que pode ser obtido neste link:
http://paginas.terra.com.br/informatica/cebikyn/SuperSort.pas

var
  SS: TSuperSort;
begin
  SS:= TSuperSort.Create;
  SS.SortStrings(ListBox1.Items,[],[srtDescending]);
  SS.Free
end;



Responder

Gostei + 0

05/01/2004

Spider

vi este tópico e me interessei...

naum encontrei este método sort no StringGrid!!!

Pode digitar ou enviar um exemplo? ????


erique@planagriveracruz.com.br


Responder

Gostei + 0

05/01/2004

Spider

OPS!!! Digitei errado na resposta aterior.. me desculpem!!!


Responder

Gostei + 0

05/01/2004

Cebikyn

… que pode ser obtido neste link: http://paginas.terra.com.br/informatica/cebikyn/SuperSort.pas &8230;


OBS: é necessário clicar com o botão direito do mouse no link e selecionar ´Salvar destino do link como...´ para que o download seja feito normalmente.

[size=9:bbff231f43]Agradeceria se algum moderador colocasse esta observação na minha msg anterior e deletasse esta.[/size:bbff231f43]


Responder

Gostei + 0

05/01/2004

Cebikyn

… naum encontrei este método sort no StringGrid!!! &8230;


O código é para o StringList, acho que é esta a correção a que vc se referiu em sua segunda msg, e funciona assim:

var
  SL: TStringList;
begin
  SL: TStringList.Create
  ...
  SL.Sorted := true; // Aqui organiza em ordem alfabética
  ...
  SL.Free;
end;



Responder

Gostei + 0

05/01/2004

Delphistar

para ordem decrescente da pra fazer criando uma StringList auxiliar:

var SL2 : TStringList;
      i : Integer
begin
  SL1.Sorted := true;
  SL2 := TStringList.Create;
  for i := SL1.Count - 1 downto 0 do
    SL2.Count.Add(SL1[i]);
  SL1.Strings = SL2.Strings;
end;



Responder

Gostei + 0

05/01/2004

Kurama

Valeu !!!
me ajudou muito... esse forum é muito bom !!!


Responder

Gostei + 0

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

Aceitar