Problème pour ouvrir plusieurs fichiers en meme temps !!!

Résolu
Aurel62190 Messages postés 22 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 7 septembre 2009 - 6 août 2009 à 20:05
Aurel62190 Messages postés 22 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 7 septembre 2009 - 7 août 2009 à 15:53
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

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
7 août 2009 à 13:49
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
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
6 août 2009 à 21:13
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
0
Aurel62190 Messages postés 22 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 7 septembre 2009 1
7 août 2009 à 12:43
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 ?
0
Aurel62190 Messages postés 22 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 7 septembre 2009 1
7 août 2009 à 15:53
ok, je vais faire le test
0
Rejoignez-nous