L_art_ment
Messages postés302Date d'inscriptionvendredi 21 septembre 2007StatutMembreDernière intervention 6 février 2013
-
24 sept. 2008 à 11:16
cs_Kenavo
Messages postés702Date d'inscriptionvendredi 21 mars 2003StatutMembreDernière intervention 1 octobre 2009
-
2 oct. 2008 à 19:17
Bonjour, bonjour
J'ai une petit question à vous demander, je pense que la réponse n'est pas compliquée mais je ne parvient pas à la trouver de moi même
J'ai sur une form une ListView, quand je veux remplir ma ListView elle bloque (évidement je lui ajoute 100000 items)... Enfin je pense que c'est le nombre d'items que je veux lui faire avaler qui la fait bloquer pasqu'avec moins ca passe...
Auriez vous une petite méthode pour pallier à mon soucis s'il vous plait ? Là je ne trouve pô comment faire
L_art_ment
Messages postés302Date d'inscriptionvendredi 21 septembre 2007StatutMembreDernière intervention 6 février 2013 24 sept. 2008 à 13:54
Bon et bien... J'ai trouvé un truc que je ne connaissais pas...
En ajouttant "ListView1.Items.BeginUpdate" au début de mes modifications et "ListBox1.Items.EndUpdate" à la fin, ca accélère un peu le procéssus, en fait ce n'est pas que ma ListBox se bloque, c'est qu'elle met excessivement de temps pour tout charger (plus de 10minutes, après 10minutes j'ai arrêté :x)...
Auriez vous une idée pour charger un fichier text très très volumineux et que ca prenne moins de temps ?
L_art_ment
Messages postés302Date d'inscriptionvendredi 21 septembre 2007StatutMembreDernière intervention 6 février 2013 24 sept. 2008 à 15:45
Bein oui c'est ce que je fais déjà, mon code :
for i := 0 to StrList.Count - 1 do
begin
a:=pos('.',StrList[i]);
dateheure:=DecodeDate(copy(StrList[i],0,a-1));
ListView1.Items.BeginUpdate;
with listView1.Items.Add do
begin
Caption := date;
SubItems.Add(heure);
end;
ListView1.Items.EndUpdate;
end;
StrList étant une StringListe contenant mes (100000) lignes que je veux ajouter à ma ListView mais en faisant quelques opérations sur la ligne entre deux...
L_art_ment
Messages postés302Date d'inscriptionvendredi 21 septembre 2007StatutMembreDernière intervention 6 février 2013 29 sept. 2008 à 22:03
Bein moi pour l'instant, la seule soluce que j'ai trouvé, c'est de n'afficher que 10000 items par 10000items, avec un genre de bouton "suivant" pour voir les 10000 prochains autres (ayant au préalable placé les lignes que je veux voir dans un StringList)...
Voilà mon systèm D, il doit bien y en avoir des plus efficaces
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 30 sept. 2008 à 23:20
Tu utilises effectivement BeginUpdate/EndUpdate dans ton code mais de manière incorrecte !
Relis bien la réponse de foxi et ça devrait te sauter aux yeux.
Au passage, salut mon cher Kenavo
May Delphi be with you !
<hr color="#008000" />Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.