Memo1 para ListView1 ?

02/06/2008

0

Como Transferir as Linhas do Memo1 para ser add Como Items no ListView1 ?

Abraços :wink:


Warfighter

Warfighter

Responder

Posts

02/06/2008

Fabianosales

var
  i : integer;
  li : TListItem;
begin
  i:=0;
  ListView1.Items.BeginUpdate;
  ListView1.Items.Clear;
  while i < Memo1.Lines.Count do
    begin
      li := ListView1.Items.Add;
      li.Caption := Memo1.Lines[i];
      Inc(i);
    end;
  ListView1.Items.EndUpdate;
end;



Responder

03/06/2008

Pestana_

Ola fabianosales, você utiliza o [b:2fe8bbf923]BeginUpdate[/b:2fe8bbf923] e [b:2fe8bbf923]EndUpdate[/b:2fe8bbf923] quando se inclui, altera ou exclui um item da lista? serve para melhorar o desempenho no momento da modificação de itens na lista, é isso?

Obrigado!


Responder

05/06/2008

Warfighter

Obrigado

Funciono Perfeitamente :wink:

Abraços

var
  i : integer;
  li : TListItem;
begin
  i:=0;
  ListView1.Items.BeginUpdate;
  ListView1.Items.Clear;
  while i < Memo1.Lines.Count do
    begin
      li := ListView1.Items.Add;
      li.Caption := Memo1.Lines[i];
      Inc(i);
    end;
  ListView1.Items.EndUpdate;
end;



Responder

30/06/2008

Pestana_

Ola fabianosales, você utiliza o [b:94cf47641e]BeginUpdate[/b:94cf47641e] e [b:94cf47641e]EndUpdate[/b:94cf47641e] quando se inclui, altera ou exclui um item da lista? serve para melhorar o desempenho no momento da modificação de itens na lista, é isso? Obrigado!



UP!


Responder

15/07/2008

Fabianosales

Isso mesmo Pestana.

Quando um controle visual que manipula coleções de valores (como TListView, TMeno, TCombobox, etc..) tem sua lista de itens modificada, a vcl tenta redesenhar todo o controle na tela. Quando vários itens são adicionados de uma vez, o controle poderá piscar na tela (especialmente em máquinas lentas) e o processo de alteração da lista pode sofrerá uma queda de performance.
O uso do BeginUpdate e EndUpdate serve para impedir que isso aconteça. Quando BeginUpdate é chamado, o desenho do controle fica suspenso até que EndUpdate seja executado.
A grande probabilidade é que isso passe despercebido na máquina do desenvolvedor mas, em máquinas antigas, o efeito é bem visível (e bem desegradável :wink: ).

Veja o que diz o help do delphi
Call BeginUpdate before making multiple changes to the list of items. When all changes are complete, call EndUpdate so that the changes can be reflected on screen. BeginUpdate and EndUpdate prevent excessive redraws and speed processing time when new items are added, deleted, or inserted.



Responder

20/07/2008

Pestana_

Isso mesmo Pestana. Quando um controle visual que manipula coleções de valores (como TListView, TMeno, TCombobox, etc..) tem sua lista de itens modificada, a vcl tenta redesenhar todo o controle na tela. Quando vários itens são adicionados de uma vez, o controle poderá piscar na tela (especialmente em máquinas lentas) e o processo de alteração da lista pode sofrerá uma queda de performance. O uso do BeginUpdate e EndUpdate serve para impedir que isso aconteça. Quando BeginUpdate é chamado, o desenho do controle fica suspenso até que EndUpdate seja executado. A grande probabilidade é que isso passe despercebido na máquina do desenvolvedor mas, em máquinas antigas, o efeito é bem visível (e bem desegradável :wink: ). Veja o que diz o help do delphi [quote:f9867ed150]Call BeginUpdate before making multiple changes to the list of items. When all changes are complete, call EndUpdate so that the changes can be reflected on screen. BeginUpdate and EndUpdate prevent excessive redraws and speed processing time when new items are added, deleted, or inserted.
[/quote:f9867ed150]

valeu Fabiano!

você esclareceu esta dúvida que eu tinha, obrigado! :wink:


flw.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar