Fórum Função para inverter os itens de um listbox ou memo #2040

20/01/2009

0

Olá   Preciso de uma função para Função para inverter a ordem dos itens de um listbox ou memo, conhece alguma.     Att.. Ricardo   Delphi 7
Frigorifico Sa

Frigorifico Sa

Responder

Posts

20/01/2009

Rodrigo Mourão

Olá,

Não tenho nada pronto aqui mas vou criar uma para você. Peço apenas que aguarde.

abs !!!!
Responder

Gostei + 0

20/01/2009

Rodrigo Mourão

Olá Amigo,

Segue abaixo a função que criei:

function InvertItems(Items: TStrings): TStrings;
var
  TempList: TStrings;
  I,J: Integer;
begin
  TempList := TStringList.Create;
  J := 0;
  for I := Items.Count-1 downto 0 do
  begin
    TempList.Add(Items.Strings[I]);
  end;
  Result := TempList;
end;

Para utilizar é muito simples, você pode pegar de um ListBox inverter e colocar em outro ou inverter os items do proprio list box:

ListBox2.Items := InvertItems(ListBox1.Items);

 Memo1.Lines := InvertItems(Memo1.Lines);


Outra coisa, como passo um TStrings vai funcionar para ListBox, Memo, ComboBox e qualquer componente que possua um TStrings.

abs !!!!


Responder

Gostei + 0

21/01/2009

Rodrigo Mourão

Olá Amigo, a função foi suficiente ???

Estamos no aguardo !!!

abs !!!
Responder

Gostei + 0

21/01/2009

Frigorifico Sa

A inversão funciona pefeitamente.   O codigo ficou bem otimizado e parabens pelas video aula sobre RADSTUDIO E DBEXPRESS4.       Só que dobra os itens fica os da ordem decrescente e os da ordem crescente, tentei adaptar mas não deu certo.     function InvertItems(Items: TStrings ;Componente : TStrings): TStrings;
var
  TempList: TStrings;
  I,J: Integer;
begin
  TempList := TStringList.Create;
  J := 0;
  for I := Items.Count-1 downto 0 do
  begin
    TempList.Add(Items.Strings[I]);
  end;
  Componente.Clear;
  Result := TempList;
end;
   
Responder

Gostei + 0

21/01/2009

Rodrigo Mourão

Olá Amigo, Deve haver alguma coisa errado no seu codigo. Voce deve estar dando Add(InvertItems) e não e isso. Estou lhe enviano um exemplo de como fazer. É exatamente como está no código do meu post acima. abs !!!!

[#VIDEO-66#]
Responder

Gostei + 0

21/01/2009

Rodrigo Mourão

Olá, conseguiu utilizar a rotina ???

Estamos no aguardo para podermos encerrar o chamado !!!

abs !!!!!!!!!!!!!!!
Responder

Gostei + 0

21/01/2009

Frigorifico Sa

Consegui, funcionou perfeitamente.   Abrigado.   Pode encerrar o chamado.      
Responder

Gostei + 0

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

Aceitar