MoveX
Messages postés230Date d'inscriptionvendredi 9 mai 2003StatutMembreDernière intervention16 juillet 2005
-
13 mai 2005 à 20:44
speletux
Messages postés30Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 6 février 2014
-
25 sept. 2005 à 05:41
salut a tous,
jai pose un listbox pour servir de log dans sur mon appli cependant, lorsque des lignes s ajoutent, ce sont toujours les premieres lignes qui sont affiches.
je veux dire que l affichage de la liste ne se decale pas.
speletux
Messages postés30Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 6 février 2014 25 sept. 2005 à 05:41
Tu utilises le ListBox comme console de log ou comme console de suivi ?
Si tu l'utilise comme console de suivi (un peu comme lorsque tu lances
des programmes graphiques sous Linux et que ceux-ci balancent des
informations d'état sur la sortie standard), pour éviter une saturation
de ta ListBox, pense à ne conserver que les 500 à 1000 dernières lignes.
Tu dois envisager une procedure de type
procedure AfficherMessage(const Msg: string)
qui gèrera l'envoi de messages de log.
Exemples d'AfficherMessage:
Pour Windows:
procedure AfficherMessage(const Msg: string)
const MaxLines = 666;
begin
with ListBox1 do begin
Items.Add(Msg); // ajoute ligne
if Items.Count > MaxLines then
Items.Delete(0); // supprime la première ligne
Items.ItemIndex:=ItemsCount-1; // se positionne sur dernière ligne
end;
end;
Pour Linux (Kylix ou Free Pascal):
procedure AfficherMessage(const Msg: string)
const MaxLines = 666;
begin
WriteLn(Msg);
end;
en lançant ton programme ds un terminal.
Tu peux faire un log bon marché en tapant à l'invite de commandes: