Nouvel élément listbox

JimmyN Messages postés 2 Date d'inscription mercredi 16 décembre 2009 Statut Membre Dernière intervention 24 mars 2010 - 16 déc. 2009 à 10:39
JeremyLecouvert Messages postés 139 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 10 mai 2010 - 16 déc. 2009 à 12:09
Bonjour,
je travaille en ce moment sur un programme qui affiche l'heure d'ouverture lorsqu'un programme s'ouvre.

mon programme comporte une listbox (avec la liste des processus actif) qui est rafraichit par un timer. Et je voudrais, lorsque j'ouvre un nouveau processus, que l'heure d'ouverture soit stocké dans une variable.
en gros, lorsqu'un nouvel élément est affiché dans la listbox il enregistre son heure d'ouverture.

merci d'avance

2 réponses

JeremyLecouvert Messages postés 139 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 10 mai 2010 2
16 déc. 2009 à 12:08
Salut,
Si je comprends bien, actuellement sur l'évènement OnTimer du TTimer, tu charges ta ListBox. Tu peux utiliser une liste intermédiaire et faire un truc comme ça:

procedure TForm1.Timer1Timer(Sender: TObject);
var
  ListBuffer: TStrings;
  i: integer;
  s: String;
begin
  ListBuffer:= TStringList.Create;

  ... // Chargement des processus dans ListBuffer

  //comparaison des 2 listes
  for i:=0 to ListBuffer.Count-1 do
    begin
      //si le ième élément de ListBuffer n'est pas dans la ListBox (=>nouveau processus)
      if ListBoxProcessus.Items.IndexOf(ListBuffer[i])=-1 then
        begin
          s:= TimeToStr(Time);//prend l'heure courante et la convertit en String
          ... //tu fais ce que tu veux avec l'heure que tu viens de récupérer!
        end;
    end;

  //enfin, tu rafraîchit ta ListBox
  ListBoxProcessus.Items.Assign(ListBuffer);
end;


@+.

Si l'envie te prend de travailler, assied-toi et attend qu'elle te passe! (vieux -et faux!- dicton corse)
0
JeremyLecouvert Messages postés 139 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 10 mai 2010 2
16 déc. 2009 à 12:09
..j'ai oublié de libérer la liste!
ListBuffer.Free;

en fin de procédure!

Si l'envie te prend de travailler, assied-toi et attend qu'elle te passe! (vieux -et faux!- dicton corse)
0
Rejoignez-nous