Fifo et lifo [Résolu]

cs_Miss1 221 Messages postés vendredi 21 octobre 2005Date d'inscription 22 décembre 2010 Dernière intervention - 22 mai 2006 à 11:06 - Dernière réponse : linasteph 153 Messages postés lundi 16 décembre 2002Date d'inscription 22 juillet 2009 Dernière intervention
- 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
Afficher la suite 

Votre réponse

28 réponses

Meilleure réponse
linasteph 153 Messages postés lundi 16 décembre 2002Date d'inscription 22 juillet 2009 Dernière intervention - 22 mai 2006 à 12:52
3
Merci
tu dois gérer une file d'attente de quoi?

Merci linasteph 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de linasteph
linasteph 153 Messages postés lundi 16 décembre 2002Date d'inscription 22 juillet 2009 Dernière intervention - 22 mai 2006 à 11:36
0
Merci
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
Commenter la réponse de linasteph
linasteph 153 Messages postés lundi 16 décembre 2002Date d'inscription 22 juillet 2009 Dernière intervention - 22 mai 2006 à 11:37
0
Merci
ah oui un exemple plus concret de FIFO: une file d'attente au guichet de la poste
Commenter la réponse de linasteph
cs_Miss1 221 Messages postés vendredi 21 octobre 2005Date d'inscription 22 décembre 2010 Dernière intervention - 22 mai 2006 à 11:54
0
Merci
c'est ds ce genre file d'attente au guichet de la poste tucrois que tu pourrai m'expliquer et me donner un exemple
Commenter la réponse de cs_Miss1
cs_Miss1 221 Messages postés vendredi 21 octobre 2005Date d'inscription 22 décembre 2010 Dernière intervention - 22 mai 2006 à 11:56
0
Merci
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
Commenter la réponse de cs_Miss1
cs_Miss1 221 Messages postés vendredi 21 octobre 2005Date d'inscription 22 décembre 2010 Dernière intervention - 22 mai 2006 à 13:41
0
Merci
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
Commenter la réponse de cs_Miss1
linasteph 153 Messages postés lundi 16 décembre 2002Date d'inscription 22 juillet 2009 Dernière intervention - 23 mai 2006 à 07:24
0
Merci
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.
Commenter la réponse de linasteph
cs_Miss1 221 Messages postés vendredi 21 octobre 2005Date d'inscription 22 décembre 2010 Dernière intervention - 23 mai 2006 à 08:39
0
Merci
merci pour ta réponse moi j'ai utiliser un recordeset que j'ai mis ds un module.c la mm chose n'escepas
Commenter la réponse de cs_Miss1
linasteph 153 Messages postés lundi 16 décembre 2002Date d'inscription 22 juillet 2009 Dernière intervention - 23 mai 2006 à 09:04
0
Merci
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
Commenter la réponse de linasteph
linasteph 153 Messages postés lundi 16 décembre 2002Date d'inscription 22 juillet 2009 Dernière intervention - 23 mai 2006 à 09:12
0
Merci
C'est quelle source que tu as utilisé pour le faire?
Commenter la réponse de linasteph
cs_Miss1 221 Messages postés vendredi 21 octobre 2005Date d'inscription 22 décembre 2010 Dernière intervention - 23 mai 2006 à 09:13
0
Merci
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
Commenter la réponse de cs_Miss1
linasteph 153 Messages postés lundi 16 décembre 2002Date d'inscription 22 juillet 2009 Dernière intervention - 23 mai 2006 à 09:17
0
Merci
Moi je peux juste te dire que si cela fonctionne et réponds à ton besoin alors ne change rien
Commenter la réponse de linasteph
linasteph 153 Messages postés lundi 16 décembre 2002Date d'inscription 22 juillet 2009 Dernière intervention - 23 mai 2006 à 09:20
0
Merci
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
Commenter la réponse de linasteph
cs_Miss1 221 Messages postés vendredi 21 octobre 2005Date d'inscription 22 décembre 2010 Dernière intervention - 23 mai 2006 à 09:31
0
Merci
c la source que tu ma sité je me suis aider de cela mais plutot en recordset car l'autre parait trop compliquer
Commenter la réponse de cs_Miss1
cs_Miss1 221 Messages postés vendredi 21 octobre 2005Date d'inscription 22 décembre 2010 Dernière intervention - 23 mai 2006 à 09:33
0
Merci
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
Commenter la réponse de cs_Miss1
linasteph 153 Messages postés lundi 16 décembre 2002Date d'inscription 22 juillet 2009 Dernière intervention - 23 mai 2006 à 09:51
0
Merci
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
Commenter la réponse de linasteph
linasteph 153 Messages postés lundi 16 décembre 2002Date d'inscription 22 juillet 2009 Dernière intervention - 23 mai 2006 à 09:54
0
Merci
Attention pour utiliser un FIFO faut que tu utilises la fonction pile.Depile
Commenter la réponse de linasteph
cs_Miss1 221 Messages postés vendredi 21 octobre 2005Date d'inscription 22 décembre 2010 Dernière intervention - 23 mai 2006 à 10:06
0
Merci
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
Commenter la réponse de cs_Miss1
linasteph 153 Messages postés lundi 16 décembre 2002Date d'inscription 22 juillet 2009 Dernière intervention - 23 mai 2006 à 10:16
0
Merci
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.
Commenter la réponse de linasteph
cs_Miss1 221 Messages postés vendredi 21 octobre 2005Date d'inscription 22 décembre 2010 Dernière intervention - 23 mai 2006 à 10:22
0
Merci
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)
Commenter la réponse de cs_Miss1

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.