Fifo et lifo

Résolu
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010 - 22 mai 2006 à 11:06
linasteph Messages postés 153 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 juillet 2009 - 23 mai 2006 à 12:57
bonjour je dois gere une file d'attente en vb6 le pb c'est que je dois utiliser un fifo et je ne sais pas comment cela fonctionne merci de bien vouloire m'expliquer
A voir également:

28 réponses

linasteph Messages postés 153 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 juillet 2009 1
22 mai 2006 à 12:52
tu dois gérer une file d'attente de quoi?
3
linasteph Messages postés 153 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 juillet 2009 1
22 mai 2006 à 11:36
Salut,


FIFO - Signifie First In - First Out: c'est à dire le premier entré est le premier sorti


Par exmple tu crées ta file d'attente

1 - User1

2 - User3

3 - User5


Lorsque tu traiteras tu feras User1, User3 et ensuite User5


J'espère que c'est un peu plus clair pour toi
0
linasteph Messages postés 153 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 juillet 2009 1
22 mai 2006 à 11:37
ah oui un exemple plus concret de FIFO: une file d'attente au guichet de la poste
0
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
22 mai 2006 à 11:54
c'est ds ce genre file d'attente au guichet de la poste tucrois que tu pourrai m'expliquer et me donner un exemple
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
22 mai 2006 à 11:56
je n'en ai jamais fais mois le seul truc que j'ai trouver sur le site c avec recordeset mais je comprend pas tres bien
0
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
22 mai 2006 à 13:41
c comme a la poste une file d'attente de personne. tu vois a la poste les gens prennent leur ticket et pour chaque guichet un numeros est inscrit sur la pareil  (la télé) e t ben la c la mm chose a part que la ya le nom de la personne qui s'affiche a l'écran
0
linasteph Messages postés 153 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 juillet 2009 1
23 mai 2006 à 07:24
tu pourrais travailler avec une collection d'objets: tu ajoutes une
nouvelle personne à la fin de la collection et lorsque tu traites une
personne (la première de la collection) tu la supprimes.


Ou bien si ce n'est pas des files d'attente trop importante avec un fichier texte: tu ajoutes des personnes en mode Append .

Ensuite lorsque tu traites un personne tu lui mets un flag pour la prochaine fois traiter le premier qui n'en a pas.
0
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
23 mai 2006 à 08:39
merci pour ta réponse moi j'ai utiliser un recordeset que j'ai mis ds un module.c la mm chose n'escepas
0
linasteph Messages postés 153 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 juillet 2009 1
23 mai 2006 à 09:04
un recordset --> cela veut dire que tu vas utiliser une base de données? pk pas

en tout cas si cela fonctionne c'est le principal
0
linasteph Messages postés 153 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 juillet 2009 1
23 mai 2006 à 09:12
C'est quelle source que tu as utilisé pour le faire?
0
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
23 mai 2006 à 09:13
j'ai pas de base de donnée les infos sont stocké surement ds un fichier .je pense que ta raison a y reflechier un recordeset ne doit pas être super
0
linasteph Messages postés 153 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 juillet 2009 1
23 mai 2006 à 09:17
Moi je peux juste te dire que si cela fonctionne et réponds à ton besoin alors ne change rien
0
linasteph Messages postés 153 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 juillet 2009 1
23 mai 2006 à 09:20
Tu peux regarder la source
http://www.vbfrance.com/codes/GESTION-PILE-FILE-LIFO-FIFO-RECORDSET-OU-COLLECTION_2807.aspx
pour t'inspirer.


Mais attention car si tu fermes ton application et que tu la relances alors toute la file est perdue.

Si tu dois pouvoir conserver ta file même si l'application est fermée alors utilise plutôt un fichier pour stocker
0
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
23 mai 2006 à 09:31
c la source que tu ma sité je me suis aider de cela mais plutot en recordset car l'autre parait trop compliquer
0
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
23 mai 2006 à 09:33
maintenant le méthode fonctionne voici le code
Private Sub Command1_Click()
    Dim pile As classelifo
    Dim i As Integer
    Set pile = New classelifo
 
    ' dans le cas d'une File
    For i = 0 To 10
       pile.Empile (i)
    Next i
   
    For i = 0 To 10
        MsgBox pile.Defile
    Next i
End Sub
le pb c'est que au lieu que le msagge box m'indique 1,2,3...,10 je veux entrer les valeur moi mm pour cela j'ai utiliser un textbox. mais la je sais pas comment faire
0
linasteph Messages postés 153 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 juillet 2009 1
23 mai 2006 à 09:51
Voici un code qui te permet d'entrer un nom dans une textebox et de l'ajouter à la pile

Dans une forme: ajoute une textbox et un bouton et colle le code suivant

Option Explicit

Dim pile  As clsFIFOLIFO_Rs


Private Sub Command1_Click()

pile.Empile (Text1.Text)

End Sub


Private Sub Form_Load()

    Set pile = New clsFIFOLIFO_Rs

End Sub
0
linasteph Messages postés 153 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 juillet 2009 1
23 mai 2006 à 09:54
Attention pour utiliser un FIFO faut que tu utilises la fonction pile.Depile
0
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
23 mai 2006 à 10:06
dc merci j'ai utiliser votre code cela fonctionne pour le premier mot entrer ex tit
mon pb c que si je veut rentrer toto,mimi ect cela ne fonctionne pas
Option Explicit
 Dim pile As classelifo
Private Sub Command1_Click()
 Set pile = New classelifo
     ' dans le cas d'une File
 pile.Empile (Text1.Text)
Label1 = pile.Defile
End Sub


l'uitilisation du label me permet de mettre les infos qui st a l'interrieu et de verifier si cela fonctionne. apres je méttrait ts ds un fichier
0
linasteph Messages postés 153 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 juillet 2009 1
23 mai 2006 à 10:16
Alors il ne faut pas mettre Set pile = New classelifo dans le
command1_click mais par exemple dans le sub main de l'application car
si tu l'exécutes à chaque fois tu perds tout ce que tu as déjà mis dans
ta liste.

Essaie pour l'exmeple de le mettre dans ton form_load.
0
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
23 mai 2006 à 10:22
le pb c que  pour faire mon test ou doit je indique  mettre les labels car j'ai essayerde faire Label1 pile.Defile et Label2 pile.Defile et le pb c qui me mais 2 ds chaque label au lieu de mettre 1 et 2 (label est pour moi un moyen de teste si sa fonctionne)
0
Rejoignez-nous