begin process at 2010 02 10 11:55:54
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Texte

 > AIDE SUR LA FONCTION OPEN

AIDE SUR LA FONCTION OPEN


 Information sur la source

Note :
8,55 / 10 - par 20 personnes
8,55 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Texte Classé sous :fonction, open Niveau :Débutant Date de création :18/03/2002 Date de mise à jour :18/03/2002 16:12:10 Vu :32 784

Auteur : hackalex

Ecrire un message privé
Site perso
Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note

 Description

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

Source

  • 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
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


 Sources du même auteur

API , L'HISTOIRE SIMPLIFIÉE
CODES DES TOUCHES EN VB6

 Sources de la même categorie

Source avec Zip Source avec une capture AYOUBPAD2009 par ayoube2009
Source avec Zip Source avec une capture PILOTAGE D'AFFICHEURS LCD SUR PORT SÉRIE OU USB par mays
Source avec Zip Source avec une capture TRAITEMENT DE TEXTE RTF par zozo14
FORMATAGE D'UNE CELLULE EXCEL VIA UNE SYNTAXE HTML par 8Tnerolf8
Source avec Zip DÉFILEMENT TEXTE par mimiZanzan

 Sources en rapport avec celle ci

VBA EXCEL FONCTION POUR FORMATER DES ECRITURES BANCAIRES par fredatcs
ENVOYER DES MAIL EN VB6 AVEC SMTP SERVEUR par bob35
Source avec Zip DÉTECTEUR DE PROCÉDURES ET FONCTIONS INUTILISÉES par 8Tnerolf8
Source avec Zip Source avec une capture JARSTAR, EMULATEUR JEUX JAVA MOBILE POUR PC par Duke49
Source avec Zip UTILISER LA FONCTION LINE POUR EFFECTUER DES FONCTION AGORIT... par flagyg

Commentaires et avis

Commentaire de hackalex le 18/03/2002 16:27:13

compliqué

Commentaire de logisim le 18/03/2002 19:19:13

On peut aussi utiliser Line Input pour lire une ligne entière et ne pas s'arrêter aux virgules...

Commentaire de Golog le 24/04/2002 13:28:51

moi j'ai vu qulequ'un qui savais lire un fichier sequenciel avec la fonction GET mais j'ai essayé tout seul et le résultat est bizzard pusique j'obtient le CARRE noir du début du fichier qui a été cré avec l'OPEN  

Commentaire de Ordiman le 14/08/2002 18:14:48

Ouais mais Get, c'est pour des données binaires, pour des Types perso

Commentaire de FleX le 14/10/2002 10:54:56

LoL c clair que c compliqu"
moi j'essaye de lire en binaire un fichier police de winbdows (.ttf) pour recupere le nom et k'avoiue que je comprends pas torp comment je dois faire
Car j'arrive a recuperer la partie "name" mais qu'est ce que je dois faire du truc que je recupere, qui est totalement inintelligible ??? ( ©;.r ) ?
Merci ;D

Commentaire de tmcuh le 24/01/2003 14:43:24

Je voudrais ajouter que msdn dit que :
La clause Len n'est pas prise en compte si l'argument mode a la valeur Binary...donc tu peux l'enlever cà sert à rien du tout

Commentaire de deedje le 09/08/2003 13:13:49

Bonjour,

Tout est bien expliqué sauf que : comment qu'on fait pour insérer une ligne au début du fichier ??

Commentaire de lolman27 le 12/08/2003 21:37:47

putain bien jouer le copier coller ^^ jai pas encore aci parfaitmenet sa maitrise :P
evite de signer par ton nom des truc ki ont pas ete creer par toi et site ou tu la pris....c mieux kan meme .......

Commentaire de TVN le 26/03/2004 09:32:03

Merci beaucoup de tes explications, elles me sont vraiment nécessaires. C'est exactement ce que je chercher.
Tu expliques parfaitement ce qu'il faut savoir sur la façon de lire, écrire et ajouter à un fichier texte. Tu devrais faire un petit tutorial et le mettre à disposition dans la bibliothèques des tutoriaux.
Merci encore et @+.
TVN

Commentaire de gandalfkhorne le 06/04/2004 18:00:58

A quoi ça te sert de lire un fichier en binaire ou en normal si c'est pour en faire la meme chose.

En bref ton exemple ne sert pas vraiment à grand chose niveau apprentissage.

MSDN en fait autant ;-)

Commentaire de mourad183 le 11/04/2004 16:46:07

rien à dire 10/10

Commentaire de ephores le 15/05/2004 11:21:55

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.

Commentaire de BoroIsBack le 28/02/2006 16:02:02

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

Commentaire de bdufay le 29/03/2006 17:17:22

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.

Commentaire de GUIDARK le 10/02/2007 00:02:55

fait des fonction !! tu te casse la tête pour rien !

Commentaire de ABF le 05/08/2008 12:51:37

oui et le FreeFile() ?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Problème avec la fonction workbooks.open lorsque j'ouvre un classeur Excel [ par energizer956956 ] Bonjour,alors voila j'ai un problème lorsque j'ouvre un fichier excel contenant des dates au format jj-mmm-aa avec la formule Workbooks.open ("C: Fonction Open...For Binary pour visual basic 2005 [ par PHILOUVB ] Sous VB6 , j'utilisais la fonction  Open...Binary As pour générer des fichiersJe me servais de la fonction Put #... aussiCes fonctions appeler une fonction dans Private Sub Workbook_Open() [ par fanjomtl ] Bonjour à tous, je découvre le VBA avec excel en ce moment..J'ai une fonction "initialisation" qui est définie dans Feuil1 comme suit :Public Sub init Fonction Workbooks.Open problème de date [ par energizer956956 ] Bonjour, voila j'ai un petit problème avec la fonction Workbooks.open lorsque je l'applique à un classeur excel qui contient des dates. Quan ouverture fichier texte [ par xeo44 ] voila, dans mon programme, j'utilise la fonction "open" pour ouvrir un fichier texte (résidant sur mon pc) et tout marche tres bien.J'ai mis ce f Fonction BitBlt [ par liban123 ] Salut a tous!Je débute en VB et je suis bolqué...Je suis entrain de modifier un programme, je m'explique:avant le programme avait pour Bloquage macro auto open lancé par barre d'outils perso [ par Christophe38 ] Bonjour,J'ai un bug lorsque j'ouvre depuis ma barre d'outils perso un fichier contenant une macro auto-open, en faite le fichier s'ouvre, le Fonction SetRect [ par liban123 ] Bonjour à tous!j'aurai grandement besoin d'utiliserla fonction " Function SetRect(...)" mais je ne sais pas comment faire... ayriez vous un Besoin d'aide avec l'instruction Open ( DÉBUTANT ) [ par Constant93 ] J'aimerais bien que quelqu'un m'explique l'instruction Open car j'ai toujours des problèmes!Ex.: Je corrige, et il y a une autre erreur !!! (En p ca me lourde...fonction TransferSpreadsheet [ par 1gazelle ] Tout d'abord merci a ceux qui me lise et qui me repondront.Tout d'abord, je suis sous excel, VBA et je dois faire une fonction qui prend un fichier .c


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales