Aurel62190
Messages postés22Date d'inscriptiondimanche 21 juin 2009StatutMembreDernière intervention 7 septembre 2009
-
6 août 2009 à 20:05
Aurel62190
Messages postés22Date d'inscriptiondimanche 21 juin 2009StatutMembreDerniè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
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 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
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 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
Aurel62190
Messages postés22Date d'inscriptiondimanche 21 juin 2009StatutMembreDernière intervention 7 septembre 20091 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 ?