combobox e items

Delphi

01/05/2003

Olá pessoal, boa noite.

Meu problema é o seguinte:

eu tenho um combobox que ´carrega´ os items de um arquivo .txt.
combobox.items.loadfromfile(arquivo.txt);

os items aparecem na mesma ordem em que estão no arquivo.txt, eu gostaria de que eles mudassem de posição aleatóriamente.

Muito Obrigado.


ål£×äñðrëðþt

ål£×äñðrëðþt

Curtidas 0

Respostas

ål£×äñðrëðþt

ål£×äñðrëðþt

01/05/2003

ae pessoal será que ninguém sabe?


GOSTEI 0
Adilsond

Adilsond

01/05/2003

Se o que voce deseja é colocar em ordem utile a propriedade Sorted = True;

Se o que deseja é apenas mover os itens de posição utilize:

ComboBox1.Items.Move(PosiçãoInicial,PosiçãoDestino);


GOSTEI 0
ål£×äñðrëðþt

ål£×äñðrëðþt

01/05/2003

Obrigado, mas essa opção sorted não faz um sorteio, toda vez q o aplicativo for iniciado os items terão que vir em ordem diferente, um sorteio aleatorio da posição dos items.


GOSTEI 0
Adilsond

Adilsond

01/05/2003

O Sorted significa ordenado, classificado.

Então no seu caso voce terá de criar uma rotina para após a carga inicial do Combo mudar a posição das linhas com o move.


GOSTEI 0
ål£×äñðrëðþt

ål£×äñðrëðþt

01/05/2003

Mas como fazer para o combo.items.move modificar todos os items de lugar toda vez q o programa for iniciado?


GOSTEI 0
Adilsond

Adilsond

01/05/2003

procedure TForm1.MudarPosicao;
var
  I: Integer;
begin
  Randomize;
  for I := 0 to ComboBox1.Items.Count - 1 do
    ComboBox1.Items.Move(I,Random(ComboBox1.Items.Count - 1));
end;



GOSTEI 0
ål£×äñðrëðþt

ål£×äñðrëðþt

01/05/2003

AdilsonD obrigado, mas eu digitei esse código e não fez efeito nenhum, nem o delphi acusou erro.


GOSTEI 0
Adilsond

Adilsond

01/05/2003

1º - A propriedade Sorted do combo deve estar False;
2º - Após a linha: combobox.items.loadfromfile(arquivo.txt); voce coloca a chamada para a procedure:

combobox.items.loadfromfile(arquivo.txt);
MudarPosicao;


GOSTEI 0
ål£×äñðrëðþt

ål£×äñðrëðþt

01/05/2003

AdilsonD, Muito obrigado pela sua ajuda, o erro agora foi meu, seu código funcionou. Muito Obrigado.


GOSTEI 0
POSTAR