Aide sur la fonction open

Soyez le premier à donner votre avis sur cette source.

Snippet vu 40 572 fois - Téléchargée 41 fois

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

Ajouter un commentaire

Commentaires

cs_ABF
Messages postés
227
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
26 avril 2012
-
oui et le FreeFile() ?
GUIDARK
Messages postés
14
Date d'inscription
dimanche 2 janvier 2005
Statut
Membre
Dernière intervention
1 novembre 2008
-
fait des fonction !! tu te casse la tête pour rien !
cs_bdufay
Messages postés
11
Date d'inscription
mercredi 13 mars 2002
Statut
Membre
Dernière intervention
29 mars 2006
-
En général, quand le contenu n'est pas de soi, on cite la source.
T'aurais au moins pu faire un programme qui utilise ces fonctions, ca aurait été plus malin.
BoroIsBack
Messages postés
1
Date d'inscription
mardi 20 avril 2004
Statut
Membre
Dernière intervention
28 février 2006
-
c'est un copier coller de ce site: http://vbtour.free.fr/open.htm
le contenu est très bien mais ce n'est pas très honnete de faire du copier coller
ephores
Messages postés
123
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
5 juin 2007
-
j'utilise le mode binaire pour faire une recherche de mot dans une feuille excel, mais comment faire lorsque je cherche un chiffre à virgule ? évidemment il me le trouve pas.

Quelqu'un connait une manipe ?

Nb : une chaine de 15 octet ça correspont à combien de lettre ou chiffre environ ?

Merci et pas mal le tuto.

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.