Aide sur la fonction open

Contenu du snippet

Voici quelque ligne de progrmammation de vb6 sur l'instruction pour ouvrir les fichiers en vb6

Source / Exemple :

L'instruction Open permet la création et la consultation de fichiers textes clairs ou de fichiers binaires. La lecture de ces fichiers se fera de manière séquentielle ou directe suivant la méthode employée.

Le tableau suivant détaille les différents mode d’utilisation de Open :

 

Mode 
 Utilisation 
 Type d’accès 
 
Output Ecrire dans un nouveau fichier séquentiel au format texte. Attention, ne permet pas d’ajouter du texte à un fichier existant mais écrase une version précédente. Séquentiel, une ligne après l’autre. 
Append Ajouter du texte dans un fichier texte séquentiel existant. Séquentiel, une ligne après l’autre. 
Input Lire du texte par accès séquentiel dans un fichier texte. Séquentiel, une ligne après l’autre. 
Random Lit et ajoute des données dans un fichier à accès aléatoire par numéro de ligne. Format binaire non lisible Aléatoire en précisant un numéro de ligne. 
Binary Lit et ajoute des données au format binaire. Pas de notion de ligne, les données sont contigues. Séquentiel par blocs d’octets 

 

 

Création et lecture d’un fichier texte (Modes Output, Input, Append):

Si vous souhaitez créer un petit fichier texte pour y stocker quelques données de configuration, vous pouvez employer l’instruction Open avec les modes Input, Output et Append. Vous créez alors un fichier .txt lisible par un éditeur quelconque (NotePad, WordPad, …). La lecture dans ce fichier se fera uniquement par une boucle parcourant les lignes une à une du début vers la fin :

 

Création d'un fichier texte

Attention Output permet la création d’un nouveau fichier. Si le fichier existe déjà, il est écrasé.

Le numéro #1 permet d’identifier le fichier concerné par les futures commandes, si vous ouvrez plusieurs fichiers différents, veillez à gérer différents numéros.

'Ouverture

Open "c:\stage\test.txt" For Output As #1

'Ecriture

Print #1, "Ceci est ma première ligne!"

Print #1, ""

Print #1, "Et voilà la seconde!"

'Fermeture

Close #1

 

Lecture dans un fichier texte

'Accès en lecture séquentielle sur un fichier texte avec Input

'Variable de récupération des chaînes

Dim Chaine As String

'Ouverture

Open "c:\stage\test.txt" For Input As #1

'Boucle de parcours séquentiel

Zone.Text = "" 'Vide la zone de texte

Do While Not EOF(1) 'Tant que la fin de fichier n'est pas atteinte

Input #1, Chaine

Zone.Text = Zone.Text & vbCrLf & Chaine

Loop

'Fermeture

Close #1

 

Ajout dans un fichier texte :

'Ajout à un fichier existant

Il est nécessaire que le fichier existe déjà. L’ajout se fait à la suite du texte existant.

'Ouverture

Open "c:\stage\test.txt" For Append As #1

'Ecriture

Print #1, "Ceci est une ligne ajoutée!"

Print #1, ""

Print #1, "Et en voilà une autre!"

'Fermeture

Close #1

 

Création de fichiers à accès aléatoire (Mode Random):

Si vous cherchez à stocker un tableau de valeurs s’apparentant à une table de données, vous souhaiterez certainement atteindre n’importe quelle ligne directement par un identifiant. Si l’emploi d’une vraie base de données ne vous satisfait pas, optez alors pour le mode Random, mais ATTENTION : ne ré-inventez pas la roue.

Ecriture et lecture dans un fichier binaire à accès aléatoire :

Chaque ligne de votre fichier est un enregistrement dont la structure est celle d’une variable que vous créez. Dans l’exemple ci dessous on souhaite stocker sur chaque ligne un code et un nom. On crée d’abord un type de donnée structuré avec Type … End Type. Puis dans les instructions Get on utilisera une variable de ce type pour lire les lignes.

 

Création d'un type de données (notre enregistrement)

Private Type Enreg ' Désigne le type défini par l'utilisateur.

Code As Integer

Nom As String * 20

End Type

 

Création d'un fichier à accès aléatoire

Dim Ligne As Enreg ' Déclare la variable.

Kill "c:\stage\rando.txt"

 

'Ouverture

La syntaxe Len = Len (Ligne) permet à Open de prendre connaissance de la longueur des lignes saisies

Le fichier créé contient donc des lignes de longueurs fixes

Open "c:\stage\rando.txt" For Random As #1 Len = Len(Ligne)

Put #1, 1, "Maître corbeau"

Put #1, 2, "Sur un arbre perché"

Put #1, 3, "Tenait en son bec"

Put #1, 4, "Un fromage"

Close #1

 

Lecture d'un fichier à accès aléatoire

Dim Ligne As String * 15 ' Déclare la variable.

Zone.Text = ""

'Ouverture

Open "c:\stage\binary.txt" For Binary As #1 Len = Len(Ligne)

Do While Not EOF(1)

Get #1, , Ligne

Zone.Text = Zone.Text & vbCrLf & Ligne

Loop

Close #1

 

Création et lecture de fichiers binaires (Mode Binary)

En mode binary, les données contigues et les lectures se font séquentiellement par blocs de x octets.

 

Création d'un fichier binaire à accès séquentiel

Dim Ligne As Enreg ' Déclare la variable.

Kill "c:\stage\binary.txt"

 

'Ouverture

Open "c:\stage\binary.txt" For Binary As #1 Len = Len(Ligne)

Put #1, , "Maître corbeau"

Put #1, , "Sur un arbre perché"

Put #1, , "Tenait en son bec"

Put #1, , "Un fromage"

Close #1

 

 

Lecture d'un fichier binaire à accès séquentiel :

Dim Ligne As String * 15 ' Déclare la variable de longueur fixe. La longueur représente la taille du bloc d’octets lus par chaque instruction GET.

Zone.Text = ""

'Ouverture

Open "c:\stage\binary.txt" For Binary As #1 Len = Len(Ligne)

Do While Not EOF(1)

Get #1, , Ligne

Zone.Text = Zone.Text & vbCrLf & Ligne

Loop

Close #1

hack@lex

Conclusion :

Faites gaffe en ouvrant ou en ecrivant certain fichier !!!

Un probleme , envoyer moi un m@il en tapant "aide-open" sur la 1°ere ligne

A voir également

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.