droidman
13-07-2006, 15:37
Olá pessoal eu estou a fazer um programa que faz nada mais nada menos que pegar em items numa listbox1 e compara-os com uma listbox3, caso, por exemplo, encontre mails repetidos ele irá apagar os mails da lista um. Isto serve para um amigo meu que faz distribuição de mailing lists, carregar para a listbox3 os mails que pediram remoçao da mailing list, e ao primir o botao ele irá verificar se o mail está na listbox1, caso o encontre, apaga. Até aqui tudo bem eu fiz o script ele funciona e é algo muito simples com 2 ciclos "for", mas agora tenho um problema, como dou a volta ao limite de uma Listbox? o meu colega tem listas com mais de 250 mil e-mails e a listbox parece-me ter um limite de praí 10.000 linhas ou algo parecido. Como posso contornar isto? tenho de usar outro tipo de controlo? eu sei que deve ser possivel pois ha programas por ai que fazem coisas similares.
Agradeço qualquer ajuda. Obrigado
FantasmaCamarad
16-07-2006, 00:08
Velho veja a Mssoft gerou tudo a partir da variavel Integer!
Sendo assim tudo que vc usar tera o limite de 32000 acho rs !!
veja qualquer coisa acima causara legs e bugs
a unica maneira de se desviar e paralelamente criar algo que inutilize a sua list
tipo crie uma matriz tipo lista(quantidades, 3)
sendo a Quantidade o total de email para lista
e o resto use para informar o status
sendo lista(0,0) = email
lista(0,1) status
e assim por diante
dessa forma vc mostra somente o que deseja ou uma parte e se aplica e muda quando quiser outra qualquer duvida esplico melhor me mande um email dificil@ig.com.br
droidman
16-07-2006, 00:13
ja me disseram que com o datagrid se dava a volta a isto...
Trabalha em ram (leia-se arrays) e vai fazendo ciclos de leitura e escrita para não esgotar a ram nem dar buffer overflow
droidman
22-07-2006, 23:10
Trabalha em ram (leia-se arrays) e vai fazendo ciclos de leitura e escrita para não esgotar a ram nem dar buffer overflow
Eu ja resolvi o problema ontem.
Encontrei um tutorial de um castiço que ensinava a dar a volta ao limite de 30.000 unidades na listbox por causa da utilização de "intigers" por parte da micro$oft e agora funciona às 1000 maravilhas utilizando na mesma o controle listbox e funciona muito rapidamente