Bonjour,
J'ai un programme de traitement de fichier avec une barre de progresion de la 1ère à la dernière ligne.
Dernièrement on m'a demandé de traiter le fichier dans un ordre spécifique. J'ai donc tous simplement utiliser la méthode de tri proposer par le TStringList.
Mon problème c'est que le tri du fichier prends 90 % (estimation à la louche) du temps de traitement.
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 function TriFichier(List: TStringList; Index1, Index2: Integer): Integer; Var S1, S2: string; begin // gestion spécifique de clef S1 := LectureClef(List[Index1]); S2 := LectureClef(List[Index2]); if S1 > S2 then Result := 1 else if S1 < S2 then Result := -1 else Result := 0; end; procedure TForm1.TrieFichier(FichierATrier : TStringList); begin if ClefDeTri>'' then FichierATrier.CustomSort(TriFichier); end;
Ma barre de progression devient donc "ridicule" comme dirait l'autre.
Comment suivre la progression d'un tel système de tri ?
Je fais donc appel à votre sagacité et votre expérience pour me proposer une solution intelligente.
a+
Partager