GARANTIR DESCONTO

Fórum Quase como o sorted! #203245

28/12/2003

0

Eu estou com um problema para colocar uma lista em ordem alfabetica, pois a minha lista é assim:

1456: Andre 120: Joaquin 3489: Ricardo 12: Marcos ...


Esta lista está carregada em um listbox, mas eu não posso utilizar o sorted para ordenar esta lista, pq eu gostaria que ele não leva-se em conta o numero inicial da linha e sim depois do caractere ´:´ para colocar em ordem alfabetica, está sendo uma tortura o código, se puderem me ajudar...

Obrigado!


Dan

Dan

Responder

Posts

28/12/2003

Cebikyn

Use o SuperSort:
http://paginas.terra.com.br/informatica/cebikyn/SuperSort.pas

depois de fazer o download, declare SuperSort no uses de sua unit e coloque o seguinte código para ordenar os items:

var
  SS: TSuperSort;
begin
  SS := TSuperSort.Create;
  SS.SortStrings(ListBox1.Items,[´-f 1´,´-d :´],[strIgnoreCase]);
  SS.Free
end;


Se quiser colocar na ordem inversa, basta substituir [strIgnoreCase] por [strIgnoreCase,srtDescending]

Se quiser que sejam levadas em consideração maiúsculas e minúsculas, substitua a parte citada por [].

Qualquer problema, deixe uma msg.


Responder

Gostei + 0

28/12/2003

Cebikyn

Para fazer o download é necessário clicar no link com o botão direito do mouse e selecionar ´Salvar destino do link como...´ (ou opção equivalente, dependendo do browser).


Responder

Gostei + 0

28/12/2003

Dan

Muito obrigado cebikyn, mais uma vez vc me dá uma foça...

Valeu!


Responder

Gostei + 0

28/12/2003

Dan

Pensei que ia dar certo mas deu um erro com o parte [b:5cc5ff3080]strIgnoreCase[/b:5cc5ff3080], não deu para compilar!

[Error] Unit1.pas(506): Undeclared identifier: ´strIgnoreCase´ [Error] Unit1.pas(506): Incompatible types: ´TSuperSortOptions´ and ´Integer´ [Fatal Error] Browser.dpr(5): Could not compile used unit ´Unit1.pas´


O que acha que deu errado?


Responder

Gostei + 0

28/12/2003

Dan

Mesmo assim não era para levar em consideração maiúsculas e minúsculas na lista. utilizando apelas [] para mim já foi a solução para o meu problema...

Obrigado!


Responder

Gostei + 0

28/12/2003

Cebikyn

Eu que escrevi errado :oops: , o certo é [b:effb8a51c2]s[color=red:effb8a51c2]rt[/color:effb8a51c2]IgnoreCase[/b:effb8a51c2]

Só um detalhe: strIgnoreCase é para [b:effb8a51c2]não[/b:effb8a51c2] levar em consideração maiúsculas e minúsculas: Ignore = Ignorar; Case = Caixa (vem de caixa alta ou baixa (maiúsc. e minúsc. respectivamente)).


Responder

Gostei + 0

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

Aceitar