ComboBox Mais Rápido ?

Delphi

03/10/2005

Possuo uma aplicação que em um formulário carrego 26 combobox com um arquivo texto de 245KB.
Se eu jogar direto: ComboBox1.Items.LoadFromFile(´c:\nome_arquivo.txt´); isso demora demais...
Se eu carrego em um e depois faço ComboBox2.Items.AddStrings(ComboBox1.Items); também demora.
Tentei usar TStringList: Faço um LoadFromFile e depois repasso para todos os combos... Mas também demora...
Por último tentei TFileStream: Foi o mais rápido que consegui chegar... Mas ainda está lento...

Alguem conhece outro jeito mais rápido ?


G1b4

G1b4

Curtidas 0

Respostas

Siam

Siam

03/10/2005

Não sei se é o caso, mas se Style estiver como csDropDownList, a carga é mais rápida.


GOSTEI 0
G1b4

G1b4

03/10/2005

Não é esse o caso... Estou tentando carregar um arquivo texto em um TComboBox, apenas isso.... :roll: Mas valeu... :lol:


GOSTEI 0
Siam

Siam

03/10/2005

TComboBox possui a propriedade Style que se estiver como csDropDown, a carga é mais lenta.


GOSTEI 0
G1b4

G1b4

03/10/2005

Ok... Fiz o que me pediu... Mas não notei nenhuma diferença...

Um detalhe: Faço isso no OnCreate do Form.


GOSTEI 0
Bruno Belchior

Bruno Belchior

03/10/2005

tente o seguinte...
ComboBox2.Items.CommaText := ComboBox1.Items.CommaText



GOSTEI 0
Delphi32

Delphi32

03/10/2005

Experimente fazer o seguinte:

ComboBox1.Items.BeginUpdate;
//>>carregue agora a combobox
ComboBox1.Items.EndUpdate;

Em geral quase todos os tipos de lista tem uma opção de BeginUpdate e EndUpdate. Quando você chama o BeginUpdate faz com que uma série de ações deixem de ser executadas. Elas só serão executadas quando você chamar EndUpdate. Tente e veja se funciona.

Até!


GOSTEI 0
POSTAR