Problème pour ouvrir plusieurs fichiers en meme temps !!! [Résolu]

Signaler
Messages postés
22
Date d'inscription
dimanche 21 juin 2009
Statut
Membre
Dernière intervention
7 septembre 2009
-
Messages postés
22
Date d'inscription
dimanche 21 juin 2009
Statut
Membre
Dernière intervention
7 septembre 2009
-
Bjr,

J'ai un souci pour ouvrir plusieurs fichiers.

Dans un fichier texte ("Projet.txt"), j'ai ceci :
essai.txt
test.txt
autre.txt

A l'aide de l'outil commondialog, j'ouvre le fichier "projet.txt" mais je voudrais qu'à l'ouverture de celui-ci il ouvre les fichiers répertoriés (essai.txt, test.txt et autre.txt).

J'ai essayé ceci :

Function Open_Project()
Dim Rep As String
Dim strFileLine As String
CommonDialog2.Filter = "Fichiers (*.txt)|*.txt"
CommonDialog2.ShowOpen
Open CommonDialog2.FileName For Input As #1
Do Until (EOF(1))
Rep = Left(CommonDialog2.FileName, Len(CommonDialog2.FileName) - Len(CommonDialog2.FileTitle))
Input #1, strFileLine
NbTab = TabStrip1.Tabs.Count
Call AddTab(NbTab + 1, CStr(strFileLine))
EditorBox1(TabStrip1.SelectedItem.Index).Text = ""

!!!!!!!! ICI, IL ME DIT QUE LE FICHIER EST DEJA OUVERT !!!!!!!!!!!!!!!!!

Open (Rep & CStr(strFileLine)) For Input As #1
Do Until (EOF(1))
EditorBox1(TabStrip1.SelectedItem.Index).Text = EditorBox1(TabStrip1.SelectedItem.Index).Text + CStr(strFileLine) + Chr$(13) + Chr$(10)
Loop
Close
Loop
Close
End Function

Merci pour votre aide !

4 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Avec FreeFile, ce n'est pas "essai.txt" que tu récupère mais la #1 (ou #2,#3,.....)

La bonne syntaxe est :

   numFich1 = FreeFile   ' Lit le numéro de fichier inutilisé.
   Open .... As #numFich1
   ......
   ......
   numFich2 = FreeFile   ' Lit le numéro de fichier inutilisé.
   Open .... As #numFich2
   ......
   ......
   Close #numFich2   ' Ferme le fichier.
   ......
   Close #numFich1   ' Ferme le fichier.


Dans ce cas, numFich1 sera égal au premier numéro de fichier libre, probablement 1 mais pas obligatoirement, numFich2 sera égal au premier numéro libre après que l'autre ait été pris par numFich1, donc probablement 2 mais pas obligatoirement.

[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
L'identifieur de fichier #1 est déjà utilisé sur un fichier ouvert !

D'ailleurs il n'est pas recommander de fixer en dur les identifieur de fichier dans l'instruction Open, il faut plutot utiliser l'instruction FreeFile pour récupéré le premier identifieur disponible dans une variable et ensuite utiliser cette variable dans l'instruction Open
Mais il faut le faire pour cahcune des instruction Open.

[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
22
Date d'inscription
dimanche 21 juin 2009
Statut
Membre
Dernière intervention
7 septembre 2009
1
Donc, d'après ce que tu me dis, avec l'instruction freefile on peut récupérer le prémier identifieur (dans mon cas "essai.txt"), mais pour les suivantes, je fais comment ?

Et est-ce qu'on peut utiliser la fonction open dans une autre fonction open ?
Messages postés
22
Date d'inscription
dimanche 21 juin 2009
Statut
Membre
Dernière intervention
7 septembre 2009
1
ok, je vais faire le test