Re-Salut,
"j'ai parfois un indice hors limite pour " : bizarre, car c'est la transposition exacte d'un truc qui a marché ailleurs, on commence bien par comprarer les deux derniers de la liste, et s'il y a doublon on Delete celui d'indice i>j, et qu'il y ait doublon ou pas on dec(i). Essayes le code suivant :
"Alors cela va bcp plus vite" : C'est combien "bcp" de fois plus rapide ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 i := StringListMotsDuTexteAAusculter.count - 1; while i>=1 do begin j:=i-1; if StringListMotsDuTexteAAusculter [i]=StringListMotsDuTexteAAusculter[j] then StringListMotsDuTexteAAusculter.delete(i); dec(i); end;
Au fait j'ai poursuivi à propos des mot-vides : Voiçi le début de la liste évoquée l'autre jour et où j'ai sorti sur un fichier plus la fréquence d'apparition des mots-vides de 2 caractères-et-plus le fichier-source fait 1905 Ko de texte-brut *.txt (classeur de 5 cm d'épaisseur) le vocabulaire utilisé se réduit à une liste de 11421 lignes (sous Word la liste du vocabulaire occupe 195 pages avant suppression de la terminologie spécifique)
... pour le cas où ceci pourrait te donnner des idées pour optimiser ta liste de mots-vides ... car plus elle est courte et fiable mieux c'est pour la vitesse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90 20686 de 8197 la 8156 des 6032 les 5810 et 4503 Le 4322 en 4057 Un 4049 du 3043 par 2805 Une 2618 ou 2505 pour 1966 sur 1877 au 1753 dans 1451 être 1249 que Début apparition de termes spécifiques 1039 aux 982 est 804 ne 718 cas 676 Ce 644 avec 611 doit 591 pas 564 soit 535 cette 529 ces 476 Il 466 sont 453 plus 438 toute 404 si 398 leur 381 qui 360 lors 356 avant 349 moins 345 tout 333 entre 322 afin 314 sera 303 Se 299 contre 273 sous 270 doivent 261 deux 259 non 248 peut 243 cet 241 tous 239 après 224 son 203 Sans 201 dont 191 où 173 sa 161 ainsi 158 autre 153 autres 146 et/ou 145 même 141 notamment 137 etc 131 ils 121 selon 119 hors 115 Telle fin extrait / liste de 11421 lignes.
Partager