Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
Barros10 Novato
Registrado: Quarta-Feira, 11 de Setembro de 2019 Mensagens: 3
|
Enviada: Qua Set 11, 2019 5:22 pm Assunto: list index out of bounds(133) delphi |
|
|
Pessoal, boa noite. Sou novo na programação em delphi é meu primeiro tópico, estou solicitando ajuda dos amigos.
É um seguinte:
Tenho 2 combobox, o 1º combobox1 tem 155 items que é a quantidade de registros que quero inserir na base de dados no campo do ID_01, no 2º combobox2 tenho 133 itmes que será registrado no campo ID_02 simultaneamente, até ai tudo blz, o problema é como faço para repetir alguns items do combobox2 até a quantidade de itens do combobox1 que é 155. Pois quando rodo programa ele só grava até 133 |
|
Voltar ao Topo |
|
|
imex Moderador
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Set 11, 2019 5:41 pm Assunto: |
|
|
Boa tarde,
Você está utilizando a mesma variável como índice dos itens dos 2 ComboBox?
Acho que uma alternativa seria utilizar uma variável separada como índice para cada ComboBox. Nesse caso a variável do ComboBox com menos itens teria que ser "incrementada" manualmente, e quando ultrapassar o último item (igual a Itens.Count) poderia ser zerada para voltar ao primeiro item.
Espero que ajude
Editado pela última vez por imex em Dom Out 01, 2023 4:28 pm, num total de 1 vez |
|
Voltar ao Topo |
|
|
Barros10 Novato
Registrado: Quarta-Feira, 11 de Setembro de 2019 Mensagens: 3
|
Enviada: Qua Set 11, 2019 6:32 pm Assunto: |
|
|
como poderia fazer isso, zerar a contagem e voltar ao primeiro item? |
|
Voltar ao Topo |
|
|
imex Moderador
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qui Set 12, 2019 9:06 am Assunto: |
|
|
Não testei, mas tive uma outra idéia para voltar ao primeiro item. Acho que pode ser utilizado o resto da divisão para obter o índice do ComboBox com menos itens.
Segue exemplo considerando que o ComboBox2 tem menos itens:
Código: | var
i: integer;
h: integer;
begin
for i := 0 to ComboBox1.Items.Count - 1 do
begin
h := i mod ComboBox2.Items.Count;
ShowMessage(ComboBox1.Items[i] + ' - ' + ComboBox2.Items[h]);
end; |
Espero que ajude |
|
Voltar ao Topo |
|
|
Barros10 Novato
Registrado: Quarta-Feira, 11 de Setembro de 2019 Mensagens: 3
|
Enviada: Qui Set 12, 2019 4:55 pm Assunto: (RESOLVIDO) |
|
|
meu amigo funcionou, muito obrigado pela ajuda |
|
Voltar ao Topo |
|
|
|