Função para inverter os itens de um listbox ou memo
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
Curtidas 0
Respostas
Rodrigo Mourão
20/01/2009
Olá,
Não tenho nada pronto aqui mas vou criar uma para você. Peço apenas que aguarde.
abs !!!!
Não tenho nada pronto aqui mas vou criar uma para você. Peço apenas que aguarde.
abs !!!!
GOSTEI 0
Rodrigo Mourão
20/01/2009
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 !!!!
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 !!!!
GOSTEI 0
Rodrigo Mourão
20/01/2009
Olá Amigo, a função foi suficiente ???
Estamos no aguardo !!!
abs !!!
Estamos no aguardo !!!
abs !!!
GOSTEI 0
Frigorifico Sa
20/01/2009
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;
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;
GOSTEI 0
Rodrigo Mourão
20/01/2009
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#]
[#VIDEO-66#]
GOSTEI 0
Rodrigo Mourão
20/01/2009
Olá, conseguiu utilizar a rotina ???
Estamos no aguardo para podermos encerrar o chamado !!!
abs !!!!!!!!!!!!!!!
Estamos no aguardo para podermos encerrar o chamado !!!
abs !!!!!!!!!!!!!!!
GOSTEI 0
Frigorifico Sa
20/01/2009
Consegui, funcionou perfeitamente.
Abrigado.
Pode encerrar o chamado.
GOSTEI 0