Fichier VB6
Fichier VB6
Fichier VB6
II - Accs binaire
Les fichiers en accs binaire ne sont en fait que de " vulgaires " suites doctets. Le seul point important est que le caractre nul de code ASCII 0 (char(0)) marque la fin dun fichier accs binaire.
Louverture dun fichier en accs binaire :
dim canal as byte
canal = Freefile canal reoit un numro denregistrement valide automatiquement
Open " nom_et_chemin_du_fichier " For Binary as canal
Les instruction Get et Put sont utilises pour lire / crire des donnes. Lemplacement spcifi
marque lemplacement du premier octet de la squence.
Exemple : pour accder aux 64 octets situs aprs le 8me
Dim reponse as String * 32 Dclaration dune variable chane de 32 caractres de longueur
Get canal, 8, reponse Acquisition
Il est important de noter qu'aprs une lecture le curseur de lecture est positionn aprs le dernier
caractre lu. Pour se positionner un emplacement prcis dans le fichier, on peut employer la
commande Seek. Pour changer, nous allons employer la commande Input :
Dim reponse as String*32
Seek canal, 8
Reponse = input (32, canal)
Bien sr, ce mode d'accs ne transmet que des caractres, c'est ensuite vous a donner du sens
ces donnes.
Un fichier en accs alatoire (appel aussi accs direct ) est compos denregistrements ayant
tous la mme structure (mme suite de mme type dune mme longueur). Pour cela, il faut dfinir un Type personnalis de la faon suivante (de prfrence Gnral Dclarations) :
Private type un_perso
Nom as string * 20
Prnom as String * 15
Age as Integer
Adresse as string * 80
End type
MB Page 1
IV - Accs squentiel
Un fichier en accs squentiel permet d'accder des fichers dont la structure est compose de
lignes de texte, toutes finies par le code ASCII retour chariot + saut de ligne soit char(13) + char
(10) en VB.
Soit vbCrlf (constante existante dans VB pour VB Carriage return,
line feed) dans tout ce qui va suivre. Il y a 3 modes d'accs squentiel :
- Input : lecture seule
- Output : accs en criture, un tel accs dtruit le contenu prcdant.
- Append : accs en criture aprs le contenu actuel.
Nous allons faire un petit visualiseur de fichier .ini . Pour cela, on va lire lignes par lignes le fichier
et placer le contenu dans un textbox nomm textini. On lit une ligne grce la commande Line
input. On utilise aussi la commande EOF pour savoir si l'on est arriv la fin du fichier, une lecture au del n'tant pas possible et provoquerait une erreur.
Dim nextline as string
dim canal as byte
Canal = Freefile
Open 'fichier.ini' For Input as #canal
Do until EOF(canal)
Line Input #canal, nextline
textini.text = textini.text + nextline + vbcrlf
Loop
Close canal
On pourra alors rcuprer le contenu de la ligne, connaissant la structure d'un fichier ini :
[Rubrique]
mot_clef=valeur
Grce une fonction utilisateur :
Function lectureINI(rubr As String, motclef As String) As String
Dim pos1, pos2, pos3
canal = FreeFile
MB Page 2
MB Page 3