Débute en Programmation. Problème avec le Séquentiel

[Résolu]
Signaler
Messages postés
37
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
10 janvier 2008
-
Messages postés
37
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
10 janvier 2008
-
Bonjours, je débute en programmation et j'ai décider de me faire un
annuaire en séquentiel seulement je suis un peut long a la détente et
j'ai eu beau lire les différents Tuto fac ... je comprend un peut le
fonctionnement mais je n'arrive tjrs pas à faire quelque chose qui
fonctionne.



Je voudrais simplement savoir précisément comment ouvrir un fichier
Texte, et enregistré dedant des infos correspondant à un numéro et
ensuite affiché ces donnés celon le numero sélectionné (en gros !)



Donc voili voilou je remercie par avance toute personne succeptible de
pouvoir me donner plus d'information et un coup de main afin de
maitriser cette méthode.



Nyko

8 réponses

Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
ECRITURE DE L'ANNUAIRE





Dim numFile As Long

numFile= FreeFile
Open "C:\annuaire.txt" For Output As #numFile
Print #numFile,"Babar"

Print #numFile,"23 ans"

Print #numFile,"Céleste"

Print #numFile,"22 ans"

Print #numFile,"Zéphir"

Print #numFile,"18 ans"

Close #numFile





Si tu ouvres ton fichier texte avec Notepad, il se présente comme ceci :



Babar

23 ans

Céleste

22 ans

Zéphir

18 ans



LECTURE DE L'ANNUAIRE





Dim numFile As Long
Dim sPersonne As String

Dim sAge As String


numFile =FreeFile
Open "C:\annuaire.txt" For Input As #numFile
While not EOF(numFile) ' on parcours tout le fichier
Line Input #numFile,sPersonne

Line Input #numFile,sAge

MsgBox sPersonne & " a " & sAge & "ans."
Wend
Close #numFile





RECHERCHER UN CONTACT





Dim numFile As Long

Dim sPersonneRecherchee As String
Dim sPersonne As String

Dim sAge As String



sPersonneRecherchee = "Céleste"
numFile=FreeFile
Open "C:\annuaire.txt" For Input As #numFile
While not EOF(numFile) ' on parcours tout le fichier
Line Input #numFile,sPersonne

Line Input #numFile,sAge

If sPersonne = sPersonneRecherchee Then


MsgBox sPersonne & " a " & sAge & "ans."

End If
Wend
Close #numFile





RAJOUTER UN CONTACT DANS L'ANNUAIRE





Dim numFile As Long

numFile =FreeFile
Open "C:\annuaire.txt" For Append As #numFile
Print #numFile,"Superman"

Print #numFile,"32 ans"


Close #numFile






Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 112 internautes nous ont dit merci ce mois-ci

Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
LECTURE



Dim numFile As Long



numFile=FreeFile

Open "C:\annuaire.txt" For Input As #numFile

While not EOF(numFile)

Line Input #numFile,sTemp

MsgBox sTemp

Wend

Close #numFile



ECRITURE D'UN NOUVEAU FICHIER





Dim numFile As Long





numFile=FreeFile


Open "C:\annuaire.txt" For Output As #numFile

Print #numFile,sTemp


Wend


Close #numFile


ECRITURE A LA FIN D'UN FICHIER EXISTANT




Dim numFile As Long







numFile=FreeFile



Open "C:\annuaire.txt" For Append As #numFile


Print #numFile,sTemp



Wend



Close #numFile


Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
Messages postés
37
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
10 janvier 2008

D'accord mais FreeFile et Wend correspondent à quoi ?



Merci pour ton aide ;-)
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
Oups, dans les deux derniers exemples, le Wend est en trop. (copier coller hasardeux)



Wend, c'est l'instruction qui permet de délimiter une instruction While.



While maConditionEstBonne

'Je boucle

Wend



FreeFile te donne un numéro de fichier valide. Si tu ouvres plusieurs
fichiers en même temps, tu ne peux pas leur assigner de doublon pour
les numéros de fichier.

FreeFile gère seul ces numéros, en te fournissant toujours quelque chose de valide.



======================================





LECTURE



Dim numFile As Long



numFile=FreeFile

Open "C:\annuaire.txt" For Input As #numFile

While not EOF(numFile)

Line Input #numFile,sTemp

MsgBox sTemp

Wend

Close #numFile



ECRITURE D'UN NOUVEAU FICHIER





Dim numFile As Long

Dim sTemp as String




sTemp = "une ligne"

numFile=FreeFile

Open "C:\annuaire.txt" For
Output As #numFile

Print #numFile,sTemp

Close #numFile



ECRITURE A LA FIN D'UN FICHIER EXISTANT



Dim numFile As Long

Dim sTemp as String



sTemp = "une autre ligne"

numFile=FreeFile

Open "C:\annuaire.txt" For Append As #numFile

Print #numFile,sTemp

Close #numFile




Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
Messages postés
37
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
10 janvier 2008

Je commance à comprendre ! lol



Juste que le FreeFile prendra automatiquement une nouvelle valeure a chaque enregistrement ???

Et si en remplacant FreeFile par un Chiffre (1,2,3...) et en
modifiant 2, 3 truc, est ce qu'en mode lecture on a accet au
données correspondant a ce chifre

Dim numFile As Long

numFile= 5
Open "C:\annuaire.txt" For Input As #numFile
While not EOF(numFile)
Line Input #numFile,sTemp
MsgBox sTemp
Wend
Close #numFile
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
> Juste que le FreeFile prendra automatiquement une nouvelle valeure



OUI.


> a chaque enregistrement ???



Non, à chaque ouverture de fichier. Un numéro est valable pour un seul
fichier, tant que celui-ci reste ouvert. Ce numero n'est plus valable
dès que tu as fait Close #numero



Tu peux remplacer numFile par un nombre. Pas de problème. Mais si tu
ouvres plusieurs fichiers et que tu te mélanges dans les nombres, çà
risque de bien planter.

C'est pour çà que l'utilisation d'une variable contenant FreeFile rend les choses plus lisibles.




Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
Messages postés
37
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
10 janvier 2008

Oki !

c'est noté !

Donc ca c'est pour donner une valeure au fichier.

Maintenant comment faire pour donner une valeure (un nombre) au différentes données enregistrée! !!!



En gros :



Enregistré "Babar" qui correspond au nombre 1

Enregistré "Toto" qui correspond au nombre 2 ....etc



et pouvoir chargé les données choisies ds un comboBox en sélectionnant le numéro correspondant !!!



Voila Merci déjà pour tout tes précieux conseil !
Messages postés
37
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
10 janvier 2008

Merci à toi Manu pour tes précieux conseils



Juste une dernière question !



j'ai entendue qu'il fallait faire des Types !!!!!??



Type Machin

Truc as string

bidul as string
End type



Dim Chose As Machin





Pourrais tu m'en apprendre un peut plus là dessus et me dire commen ca
fonctionne, ci c'est util, et si oui comment bien l'integrer dans mes
Form



Voilou !



Sinon encore Merci !



Nyko