Ordenando String Grids

Compartilhar/Favoritos

Saiba como ordenar facilmente as células de um objeto TStringGrid.

Este é de um grupo de posts muito antigos, de 2002. Vêm do meu antigo site, quando ainda trabalhava com Delphi e tinha um K6-2(!!!!). Bons tempos aqueles…

Provavelmente não serve para muita coisa hoje, mas é legal ver como as coisas eram. Além disso, ainda há gente acessando!

Essa parece ser outra dificuldade comum entre alguns programadores Delphi. Não sei por que os desenvolvedores da Borland não incluíram métodos para ordenar as linhas de uma TStringGrid, já que é uma operação relativamente comum.

Criei uma pequena (bem pequena) unidade com esse objetivo. Ela implementa só uma função, que permite a ordenação de um string grid tomando como referência uma coluna qualquer.

Além disso, permite que você crie sua própria função de comparação entre linhas, semelhante ao método Sort de um TList. Assim você poderá implementar qualquer método de comparação, usar a propriedade Objects ao invés de Cells para pegar as informações, etc.

As instruções de utilização da unidade estão em comentários dentro dela. Para pegá-la clique aqui (1,69KB).

You may also like...

1 Response

  1. Ronnei disse:

    Muito boa a função, com strings está perfeito, implementei uma função para comparar os decimais, porém queria que a linha 0 fosse desconsiderada e não consegui, tentei trocar na chamada da função

    de
    SGQuickSort(SG, 0, SG.RowCount – 1, @SCompare, Col);
    para
    SGQuickSort(SG, 1, SG.RowCount – 1, @SCompare, Col);

    mas não deu certo, poderia indicar alguma forma de alteração a função para desconsiderar a linha 0 que eu uso para os cabeçalhos?

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Translate »