mstarsup5
Messages postés
527
Date d'inscription
lundi 15 octobre 2007
Statut
Membre
Dernière intervention
10 octobre 2013
1
23 nov. 2007 à 20:15
Bonjour,
Je suppose que tu veux écrire ton fichier en binaire (après, que tu mettes l'extension .ini, en .dat, ou en ce que tu veux, ça ne change pas grand chose, du moment que ton programme le code de la même façon).
pour ouvrir ton fichier, fais
FileName= LadresseDeTonFichier
fic=FreeFile 'ça prend un fichier libre
Open FileName for Binary as #fic 'ouvre ton fichier
'pour prendre qqch dans le fichier, fais:
Get #fic,Position,VariableDeReception
'pour écrire qqch, fais:
Put #fic,Position,VariableDorigine
ensuite, fais close #fic pour fermer ton fichier.
Remarques importantes:
tu ne peux naviguer dans ton fichier que si tu fais:
seek #fic,Position
(et après tu peux prendre le truc que tu veux, ou écrire ce que tu veux:
get (ou put) #fic,Position,Variable
)
Ensuite, très important: en binaire, tu sauves des types: integer, single, long, string*32 (il faut définir la longueur de la chaine, c'est très important, c'est ce qui définit la place que ça va prendre sur le fichier), ou n'importe quel type que tu crées.
deux exemples:
tu sauvegardes plusieurs chaines de 30 caractères à la suite:
tu fais:
dim sTemp as string*30 (la présence du 30, est très importante, comme je l'ai dit plus haut)
filename= CeQueTuVeux
fic=freefile
open filename for binary as #fic
for i=1 to 10) (si tu veux sauvegarder 10 mots)
stemp=mot(i)
put #fic,1+(i-1)*len(stemp),stemp (tu remarques que la position à chaque fois, je la décale de la longueur de ce que j'ai rentré la fois précédente..)
next
close #fic
deuxième exemple: tu te crées un type, n'importe quoi...
public type NouveauType
NomEleve as string*30
PrenomEleve as string*30
Age as integer
Moyenne du trimestre as long
end type
pour le sauvegarder, (ou le lire), soit tu les fais un par un, comme précédement, en faisant attention à la longueur de chacun des éléments que tu mets ou tu lis (sinon, tu vas lire un bout de nombre, un bout de chaine, ça va te faire un peu n'importe quoi...)
soit, plus rapide:
tu as créé une variable Eleve (as NouveauType défini ci dessus), et tu as mis les valeurs dans cette variable.
t'as plus qu'à faire:
filename=TonFicher
fic=freefile
open filename for binary as #fic
put #fic,Eleve
close #fic
si tu veux lire ton fichier, c'est aussi facile, t'as qu'à remplacer put par get, et tu peux lire chacun des Eleve.NomEleve, Eleve.PrenomEleve, Eleve.Age, etc...
En espérant avoir pu t'aider.
Christophe