J'ai parfois des messages "fichier déjà ouvert", et pour éviter les
conflits en multi-utilisateurs je déclare un pointeur par action-fichier
(par exp ptr1 pour fic 1 création; ptr2 pour fic 1 modif)... C'est peut être
vain, je ne sais?
Par contre avec tous ces pointeurs et fichier et accès, manifestement je ne
referme pas un fichier (bien que l'action dessus soit terminée, puisque je
suis à un autre endroit du code), et je tente de l'ouvrir involontairement
avec un autre ptr, voire le même... Mais pas facile de savoir d'où ça vient
(l'absence de fermeture), d'ou ma question:
Y a-t-il une façon de savoir quel pointeur a ouvert quel fichier, ou a
défaut, si un pointeur est actif, voire à lui faire une rab ?
Exemple, il me sort "fichier déjà ouvert", ok, mais avec quel pointeur, ce
qui m'indiquera où aller, puisque je spécialise géographiquement mes
pointeurs)...
Merci.
--
@+, bye, Joe.
Pour m'écrire ng75AROBASEnoosPOINTfr
remplace AROBASE et POINT par leur vrai signe
Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
EddiGordo
"surfeur75" a formulé ce jeudi :
Bonjour,
J'ai parfois des messages "fichier déjà ouvert", et pour éviter les conflits en multi-utilisateurs je déclare un pointeur par action-fichier (par exp ptr1 pour fic 1 création; ptr2 pour fic 1 modif)... C'est peut être vain, je ne sais? Par contre avec tous ces pointeurs et fichier et accès, manifestement je ne referme pas un fichier (bien que l'action dessus soit terminée, puisque je suis à un autre endroit du code), et je tente de l'ouvrir involontairement avec un autre ptr, voire le même... Mais pas facile de savoir d'où ça vient (l'absence de fermeture), d'ou ma question: Y a-t-il une façon de savoir quel pointeur a ouvert quel fichier, ou a défaut, si un pointeur est actif, voire à lui faire une rab ?
Exemple, il me sort "fichier déjà ouvert", ok, mais avec quel pointeur, ce qui m'indiquera où aller, puisque je spécialise géographiquement mes pointeurs)...
Merci.
Bonjour
Utilise la fonction FreeFile pour obtenir le plus petit numéro de canal non utilisé...
ex:
Dim Ff1 as Long, Ff2 as long Ff1=Freefile Open "C:toto.Txt" for Input as Ff1 Ff2=Freefile Open "C:toto2.Txt" for Input as Ff2 ... ... Close Ff2 Close Ff1
Comme ça tu auras moins de soucis...
En espérant que cela t'aide
-- Enjoy !
"surfeur75" a formulé ce jeudi :
Bonjour,
J'ai parfois des messages "fichier déjà ouvert", et pour éviter les
conflits en multi-utilisateurs je déclare un pointeur par action-fichier
(par exp ptr1 pour fic 1 création; ptr2 pour fic 1 modif)... C'est peut être
vain, je ne sais?
Par contre avec tous ces pointeurs et fichier et accès, manifestement je ne
referme pas un fichier (bien que l'action dessus soit terminée, puisque je
suis à un autre endroit du code), et je tente de l'ouvrir involontairement
avec un autre ptr, voire le même... Mais pas facile de savoir d'où ça vient
(l'absence de fermeture), d'ou ma question:
Y a-t-il une façon de savoir quel pointeur a ouvert quel fichier, ou a
défaut, si un pointeur est actif, voire à lui faire une rab ?
Exemple, il me sort "fichier déjà ouvert", ok, mais avec quel pointeur, ce
qui m'indiquera où aller, puisque je spécialise géographiquement mes
pointeurs)...
Merci.
Bonjour
Utilise la fonction FreeFile pour obtenir le plus petit numéro de canal
non utilisé...
ex:
Dim Ff1 as Long, Ff2 as long
Ff1=Freefile
Open "C:toto.Txt" for Input as Ff1
Ff2=Freefile
Open "C:toto2.Txt" for Input as Ff2
...
...
Close Ff2
Close Ff1
J'ai parfois des messages "fichier déjà ouvert", et pour éviter les conflits en multi-utilisateurs je déclare un pointeur par action-fichier (par exp ptr1 pour fic 1 création; ptr2 pour fic 1 modif)... C'est peut être vain, je ne sais? Par contre avec tous ces pointeurs et fichier et accès, manifestement je ne referme pas un fichier (bien que l'action dessus soit terminée, puisque je suis à un autre endroit du code), et je tente de l'ouvrir involontairement avec un autre ptr, voire le même... Mais pas facile de savoir d'où ça vient (l'absence de fermeture), d'ou ma question: Y a-t-il une façon de savoir quel pointeur a ouvert quel fichier, ou a défaut, si un pointeur est actif, voire à lui faire une rab ?
Exemple, il me sort "fichier déjà ouvert", ok, mais avec quel pointeur, ce qui m'indiquera où aller, puisque je spécialise géographiquement mes pointeurs)...
Merci.
Bonjour
Utilise la fonction FreeFile pour obtenir le plus petit numéro de canal non utilisé...
ex:
Dim Ff1 as Long, Ff2 as long Ff1=Freefile Open "C:toto.Txt" for Input as Ff1 Ff2=Freefile Open "C:toto2.Txt" for Input as Ff2 ... ... Close Ff2 Close Ff1
Comme ça tu auras moins de soucis...
En espérant que cela t'aide
-- Enjoy !
surfeur75
Bonjour, merci de la réponse qui ne m'aide en rien, lol, j'utilise déjà freeFile et close, évidemment! Ce doit être des erreurs d'écriture de code, genre : je vais ailleurs avant de fermer un fichier, mais pour identifier le bon pointeur et fichier dans tout ce magma, ben, y a du travail, alors s'il y avait une méthode pour savoir qui ouvre quoi à l'instant T, ce serait bien, avis aux amateurs ??? -- @+, bye, Joe. Pour m'écrire ng75AROBASEnoosPOINTfr remplace AROBASE et POINT par leur vrai signe Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!
"EddiGordo" a écrit dans le message de news:
"surfeur75" a formulé ce jeudi : > Bonjour, > > J'ai parfois des messages "fichier déjà ouvert", et pour éviter les > conflits en multi-utilisateurs je déclare un pointeur par action-fichier > (par exp ptr1 pour fic 1 création; ptr2 pour fic 1 modif)... C'est peut
être
> vain, je ne sais? > Par contre avec tous ces pointeurs et fichier et accès, manifestement je
ne
> referme pas un fichier (bien que l'action dessus soit terminée, puisque
je
> suis à un autre endroit du code), et je tente de l'ouvrir
involontairement
> avec un autre ptr, voire le même... Mais pas facile de savoir d'où ça
vient
> (l'absence de fermeture), d'ou ma question: > Y a-t-il une façon de savoir quel pointeur a ouvert quel fichier, ou a > défaut, si un pointeur est actif, voire à lui faire une rab ? > > Exemple, il me sort "fichier déjà ouvert", ok, mais avec quel pointeur,
ce
> qui m'indiquera où aller, puisque je spécialise géographiquement mes > pointeurs)... > > Merci.
Bonjour
Utilise la fonction FreeFile pour obtenir le plus petit numéro de canal non utilisé...
ex:
Dim Ff1 as Long, Ff2 as long Ff1=Freefile Open "C:toto.Txt" for Input as Ff1 Ff2=Freefile Open "C:toto2.Txt" for Input as Ff2 ... ... Close Ff2 Close Ff1
Comme ça tu auras moins de soucis...
En espérant que cela t'aide
-- Enjoy !
Bonjour, merci de la réponse qui ne m'aide en rien, lol, j'utilise déjà
freeFile et close, évidemment!
Ce doit être des erreurs d'écriture de code, genre : je vais ailleurs avant
de fermer un fichier, mais pour identifier le bon pointeur et fichier dans
tout ce magma, ben, y a du travail, alors s'il y avait une méthode pour
savoir qui ouvre quoi à l'instant T, ce serait bien, avis aux amateurs ???
--
@+, bye, Joe.
Pour m'écrire ng75AROBASEnoosPOINTfr
remplace AROBASE et POINT par leur vrai signe
Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!
"EddiGordo" <EddiGordo@fr.st> a écrit dans le message de news:
mesnews.42847d41.9e5d36a5.21.0@fr.st...
"surfeur75" a formulé ce jeudi :
> Bonjour,
>
> J'ai parfois des messages "fichier déjà ouvert", et pour éviter les
> conflits en multi-utilisateurs je déclare un pointeur par action-fichier
> (par exp ptr1 pour fic 1 création; ptr2 pour fic 1 modif)... C'est peut
être
> vain, je ne sais?
> Par contre avec tous ces pointeurs et fichier et accès, manifestement je
ne
> referme pas un fichier (bien que l'action dessus soit terminée, puisque
je
> suis à un autre endroit du code), et je tente de l'ouvrir
involontairement
> avec un autre ptr, voire le même... Mais pas facile de savoir d'où ça
vient
> (l'absence de fermeture), d'ou ma question:
> Y a-t-il une façon de savoir quel pointeur a ouvert quel fichier, ou a
> défaut, si un pointeur est actif, voire à lui faire une rab ?
>
> Exemple, il me sort "fichier déjà ouvert", ok, mais avec quel pointeur,
ce
> qui m'indiquera où aller, puisque je spécialise géographiquement mes
> pointeurs)...
>
> Merci.
Bonjour
Utilise la fonction FreeFile pour obtenir le plus petit numéro de canal
non utilisé...
ex:
Dim Ff1 as Long, Ff2 as long
Ff1=Freefile
Open "C:toto.Txt" for Input as Ff1
Ff2=Freefile
Open "C:toto2.Txt" for Input as Ff2
...
...
Close Ff2
Close Ff1
Bonjour, merci de la réponse qui ne m'aide en rien, lol, j'utilise déjà freeFile et close, évidemment! Ce doit être des erreurs d'écriture de code, genre : je vais ailleurs avant de fermer un fichier, mais pour identifier le bon pointeur et fichier dans tout ce magma, ben, y a du travail, alors s'il y avait une méthode pour savoir qui ouvre quoi à l'instant T, ce serait bien, avis aux amateurs ??? -- @+, bye, Joe. Pour m'écrire ng75AROBASEnoosPOINTfr remplace AROBASE et POINT par leur vrai signe Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!
"EddiGordo" a écrit dans le message de news:
"surfeur75" a formulé ce jeudi : > Bonjour, > > J'ai parfois des messages "fichier déjà ouvert", et pour éviter les > conflits en multi-utilisateurs je déclare un pointeur par action-fichier > (par exp ptr1 pour fic 1 création; ptr2 pour fic 1 modif)... C'est peut
être
> vain, je ne sais? > Par contre avec tous ces pointeurs et fichier et accès, manifestement je
ne
> referme pas un fichier (bien que l'action dessus soit terminée, puisque
je
> suis à un autre endroit du code), et je tente de l'ouvrir
involontairement
> avec un autre ptr, voire le même... Mais pas facile de savoir d'où ça
vient
> (l'absence de fermeture), d'ou ma question: > Y a-t-il une façon de savoir quel pointeur a ouvert quel fichier, ou a > défaut, si un pointeur est actif, voire à lui faire une rab ? > > Exemple, il me sort "fichier déjà ouvert", ok, mais avec quel pointeur,
ce
> qui m'indiquera où aller, puisque je spécialise géographiquement mes > pointeurs)... > > Merci.
Bonjour
Utilise la fonction FreeFile pour obtenir le plus petit numéro de canal non utilisé...
ex:
Dim Ff1 as Long, Ff2 as long Ff1=Freefile Open "C:toto.Txt" for Input as Ff1 Ff2=Freefile Open "C:toto2.Txt" for Input as Ff2 ... ... Close Ff2 Close Ff1
Comme ça tu auras moins de soucis...
En espérant que cela t'aide
-- Enjoy !
EddiGordo
Bonjour
Je regrette mais si tu utilise correctement Freefile tu ne *peux pas* tomber en erreur "Fichier dèjà ouvert" et ce même sans faire de Close ...
-- Enjoy !
Bonjour
Je regrette mais si tu utilise correctement Freefile tu ne *peux pas*
tomber en erreur "Fichier dèjà ouvert" et ce même sans faire de Close
...
Je regrette mais si tu utilise correctement Freefile tu ne *peux pas* tomber en erreur "Fichier dèjà ouvert" et ce même sans faire de Close ...
-- Enjoy !
Patrice Henrio
Pour certaines opérations un fichier ne peut pas être ouvert deux fois, même avec un autre numéro de file. C'est le cas par exemple avec Word, si on veut ouvrir une deuxième fois un fichier sans le refermer on sera prévenu qu'il sera en lecture seule. le plus souvent en fait on ne peut même pas l'ouvrir. Ce qui est normal quand on y pense : quelles modifications prendre en compte, dans quelle ordre fermer le fichier ... etc. Extrait de MSDN : "Si le fichier a déjà été ouvert par un autre processus et si le type d'accès indiqué n'est pas autorisé, l'instruction Open échoue et une erreur se produit"
"EddiGordo" a écrit dans le message de news:
Bonjour
Je regrette mais si tu utilise correctement Freefile tu ne *peux pas* tomber en erreur "Fichier dèjà ouvert" et ce même sans faire de Close ...
-- Enjoy !
Pour certaines opérations un fichier ne peut pas être ouvert deux fois, même
avec un autre numéro de file.
C'est le cas par exemple avec Word, si on veut ouvrir une deuxième fois un
fichier sans le refermer on sera prévenu qu'il sera en lecture seule. le
plus souvent en fait on ne peut même pas l'ouvrir. Ce qui est normal quand
on y pense : quelles modifications prendre en compte, dans quelle ordre
fermer le fichier ... etc.
Extrait de MSDN : "Si le fichier a déjà été ouvert par un autre processus et
si le type d'accès indiqué n'est pas autorisé, l'instruction Open échoue et
une erreur se produit"
"EddiGordo" <EddiGordo@fr.st> a écrit dans le message de
news:mesnews.440a7d41.b7b04be7.22.0@fr.st...
Bonjour
Je regrette mais si tu utilise correctement Freefile tu ne *peux pas*
tomber en erreur "Fichier dèjà ouvert" et ce même sans faire de Close
...
Pour certaines opérations un fichier ne peut pas être ouvert deux fois, même avec un autre numéro de file. C'est le cas par exemple avec Word, si on veut ouvrir une deuxième fois un fichier sans le refermer on sera prévenu qu'il sera en lecture seule. le plus souvent en fait on ne peut même pas l'ouvrir. Ce qui est normal quand on y pense : quelles modifications prendre en compte, dans quelle ordre fermer le fichier ... etc. Extrait de MSDN : "Si le fichier a déjà été ouvert par un autre processus et si le type d'accès indiqué n'est pas autorisé, l'instruction Open échoue et une erreur se produit"
"EddiGordo" a écrit dans le message de news:
Bonjour
Je regrette mais si tu utilise correctement Freefile tu ne *peux pas* tomber en erreur "Fichier dèjà ouvert" et ce même sans faire de Close ...
-- Enjoy !
surfeur75
Salut, le fic ne peut pas être ouvert 2 fois je te l'accorde, mais il sort en erreur, vois ce bout de code, tu testes, et à l'adresse "1:" tu auras "fichier déjà ouvert":
Sub Form_Load() Dim pf1 As Long Dim pf2 As Long ' ChDrive App.Path ChDir App.Path pf1 = FreeFile Open "test1.txt" For Append As pf1 ' pf2 = FreeFile 1: Open "test1.txt" For Binary As pf2 Reset End Sub -- @+, bye, Joe. Pour m'écrire ng75AROBASEnoosPOINTfr remplace AROBASE et POINT par leur vrai signe Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!
"Patrice Henrio" a écrit dans le message de news:
Pour certaines opérations un fichier ne peut pas être ouvert deux fois,
même
avec un autre numéro de file. C'est le cas par exemple avec Word, si on veut ouvrir une deuxième fois un fichier sans le refermer on sera prévenu qu'il sera en lecture seule. le plus souvent en fait on ne peut même pas l'ouvrir. Ce qui est normal quand on y pense : quelles modifications prendre en compte, dans quelle ordre fermer le fichier ... etc. Extrait de MSDN : "Si le fichier a déjà été ouvert par un autre processus
et
si le type d'accès indiqué n'est pas autorisé, l'instruction Open échoue
et
une erreur se produit"
"EddiGordo" a écrit dans le message de news: > Bonjour > > Je regrette mais si tu utilise correctement Freefile tu ne *peux pas* > tomber en erreur "Fichier dèjà ouvert" et ce même sans faire de Close > ... > > > -- > Enjoy ! >
Salut, le fic ne peut pas être ouvert 2 fois je te l'accorde, mais il sort
en erreur, vois ce bout de code, tu testes, et à l'adresse "1:" tu auras
"fichier déjà ouvert":
Sub Form_Load()
Dim pf1 As Long
Dim pf2 As Long
'
ChDrive App.Path
ChDir App.Path
pf1 = FreeFile
Open "test1.txt" For Append As pf1
'
pf2 = FreeFile
1: Open "test1.txt" For Binary As pf2
Reset
End Sub
--
@+, bye, Joe.
Pour m'écrire ng75AROBASEnoosPOINTfr
remplace AROBASE et POINT par leur vrai signe
Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!
"Patrice Henrio" <patrice.henrio.pasdepub@laposte.net> a écrit dans le
message de news: uvDqSig1DHA.1660@TK2MSFTNGP09.phx.gbl...
Pour certaines opérations un fichier ne peut pas être ouvert deux fois,
même
avec un autre numéro de file.
C'est le cas par exemple avec Word, si on veut ouvrir une deuxième fois un
fichier sans le refermer on sera prévenu qu'il sera en lecture seule. le
plus souvent en fait on ne peut même pas l'ouvrir. Ce qui est normal quand
on y pense : quelles modifications prendre en compte, dans quelle ordre
fermer le fichier ... etc.
Extrait de MSDN : "Si le fichier a déjà été ouvert par un autre processus
et
si le type d'accès indiqué n'est pas autorisé, l'instruction Open échoue
et
une erreur se produit"
"EddiGordo" <EddiGordo@fr.st> a écrit dans le message de
news:mesnews.440a7d41.b7b04be7.22.0@fr.st...
> Bonjour
>
> Je regrette mais si tu utilise correctement Freefile tu ne *peux pas*
> tomber en erreur "Fichier dèjà ouvert" et ce même sans faire de Close
> ...
>
>
> --
> Enjoy !
>
Salut, le fic ne peut pas être ouvert 2 fois je te l'accorde, mais il sort en erreur, vois ce bout de code, tu testes, et à l'adresse "1:" tu auras "fichier déjà ouvert":
Sub Form_Load() Dim pf1 As Long Dim pf2 As Long ' ChDrive App.Path ChDir App.Path pf1 = FreeFile Open "test1.txt" For Append As pf1 ' pf2 = FreeFile 1: Open "test1.txt" For Binary As pf2 Reset End Sub -- @+, bye, Joe. Pour m'écrire ng75AROBASEnoosPOINTfr remplace AROBASE et POINT par leur vrai signe Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!
"Patrice Henrio" a écrit dans le message de news:
Pour certaines opérations un fichier ne peut pas être ouvert deux fois,
même
avec un autre numéro de file. C'est le cas par exemple avec Word, si on veut ouvrir une deuxième fois un fichier sans le refermer on sera prévenu qu'il sera en lecture seule. le plus souvent en fait on ne peut même pas l'ouvrir. Ce qui est normal quand on y pense : quelles modifications prendre en compte, dans quelle ordre fermer le fichier ... etc. Extrait de MSDN : "Si le fichier a déjà été ouvert par un autre processus
et
si le type d'accès indiqué n'est pas autorisé, l'instruction Open échoue
et
une erreur se produit"
"EddiGordo" a écrit dans le message de news: > Bonjour > > Je regrette mais si tu utilise correctement Freefile tu ne *peux pas* > tomber en erreur "Fichier dèjà ouvert" et ce même sans faire de Close > ... > > > -- > Enjoy ! >
surfeur75
Salut, Eh tu plaisantes, tu dis qu'on ne peut pas avoir "fichier déjà ouvert" en utilisant corretement freeFile, ben voici ce code, qui avec FreeFile corrctement utilisé, te donne tout droit à l'adresse "1: = erreur: fichier déjà ouvert", lol, tu plaisantes où tu ne manipules jamais les fichiers? Teste! On en reparlera...
Sub Form_Load() Dim pf1 As Long Dim pf2 As Long ChDrive App.Path ChDir App.Path pf1 = FreeFile Open "test1.txt" For Append As pf1 pf2 = FreeFile 1: Open "test1.txt" For Binary As pf2 ' ERREUR ICI FICHIER DEJA OUVERT !!! Reset End Sub
Bon, si tu n'as rien d'autre à me dire pour remédier à mon problème, tu peux peut être ne plus toucher aux bases de données et faire tes fichiers toi-même... -- @+, bye, Joe. Pour m'écrire ng75AROBASEnoosPOINTfr remplace AROBASE et POINT par leur vrai signe Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!
"EddiGordo" a écrit dans le message de news:
Bonjour
Je regrette mais si tu utilise correctement Freefile tu ne *peux pas* tomber en erreur "Fichier dèjà ouvert" et ce même sans faire de Close ...
-- Enjoy !
Salut,
Eh tu plaisantes, tu dis qu'on ne peut pas avoir "fichier déjà ouvert"
en utilisant corretement freeFile, ben voici ce code, qui avec FreeFile
corrctement utilisé, te donne tout droit à l'adresse "1: = erreur: fichier
déjà ouvert", lol, tu plaisantes où tu ne manipules jamais les fichiers?
Teste! On en reparlera...
Sub Form_Load()
Dim pf1 As Long
Dim pf2 As Long
ChDrive App.Path
ChDir App.Path
pf1 = FreeFile
Open "test1.txt" For Append As pf1
pf2 = FreeFile
1: Open "test1.txt" For Binary As pf2 ' ERREUR ICI FICHIER DEJA OUVERT !!!
Reset
End Sub
Bon, si tu n'as rien d'autre à me dire pour remédier à mon problème, tu
peux peut être ne plus toucher aux bases de données et faire tes fichiers
toi-même...
--
@+, bye, Joe.
Pour m'écrire ng75AROBASEnoosPOINTfr
remplace AROBASE et POINT par leur vrai signe
Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!
"EddiGordo" <EddiGordo@fr.st> a écrit dans le message de news:
mesnews.440a7d41.b7b04be7.22.0@fr.st...
Bonjour
Je regrette mais si tu utilise correctement Freefile tu ne *peux pas*
tomber en erreur "Fichier dèjà ouvert" et ce même sans faire de Close
...
Salut, Eh tu plaisantes, tu dis qu'on ne peut pas avoir "fichier déjà ouvert" en utilisant corretement freeFile, ben voici ce code, qui avec FreeFile corrctement utilisé, te donne tout droit à l'adresse "1: = erreur: fichier déjà ouvert", lol, tu plaisantes où tu ne manipules jamais les fichiers? Teste! On en reparlera...
Sub Form_Load() Dim pf1 As Long Dim pf2 As Long ChDrive App.Path ChDir App.Path pf1 = FreeFile Open "test1.txt" For Append As pf1 pf2 = FreeFile 1: Open "test1.txt" For Binary As pf2 ' ERREUR ICI FICHIER DEJA OUVERT !!! Reset End Sub
Bon, si tu n'as rien d'autre à me dire pour remédier à mon problème, tu peux peut être ne plus toucher aux bases de données et faire tes fichiers toi-même... -- @+, bye, Joe. Pour m'écrire ng75AROBASEnoosPOINTfr remplace AROBASE et POINT par leur vrai signe Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!
"EddiGordo" a écrit dans le message de news:
Bonjour
Je regrette mais si tu utilise correctement Freefile tu ne *peux pas* tomber en erreur "Fichier dèjà ouvert" et ce même sans faire de Close ...
-- Enjoy !
Patrice Henrio
En fait je répondais au message juste au-dessus qui affirmait qu'on ne pouvait avoir d'erreur "fichier déjà ouvert" avec FreeFile. je crois que cela provient d'une confusion sur ce qu'est un fichier. Pour moi un fichier c'est physique. ce sont des octets sur un support avec des propriétés particulières (nom, extension, méthode de lecture). il me semble que EddiGordo confond "fichier" et "stream", c'est à dire flux d'entrée dont les propriétés sont d'abord un n° d'accès (ou de canal pour être plus précis) et ensuite un type d'ouverture. On ne peut pas effectivement ouvrir deux fois le même canal sans l'avoir refermé. D'où l'utilité de freefile. pour ma part je trouve cette utilisation dangereuse car on ne sait plus ce qui est ouvert ou non. Donc je n'utilise que des numéros d'ouverture et je fais attention de refermer tout fichier dont je n'ai plus besoin. Si nécessaire je stocke son contenu dans une variable. Il est même parfois aussi efficace de refermer puis rouvrir les fichiers dont on a besoin à plusieurs endroits du programmes. Tout dépend de la taille de ceux-ci. Enfin il doit être possible pour répondre à la question de départ de créer une collection des fichiers ouverts comportant le nom du fichier et le N° du canal de communication. Quand on ferme le canal, on retire le fichier de la collection. Quand on veut ouvrir le fichier, on vérifie qu'il n'est pas dans la collection. A plus. "surfeur75" a écrit dans le message de news:%
Salut, le fic ne peut pas être ouvert 2 fois je te l'accorde, mais il sort en erreur, vois ce bout de code, tu testes, et à l'adresse "1:" tu auras "fichier déjà ouvert":
Sub Form_Load() Dim pf1 As Long Dim pf2 As Long ' ChDrive App.Path ChDir App.Path pf1 = FreeFile Open "test1.txt" For Append As pf1 ' pf2 = FreeFile 1: Open "test1.txt" For Binary As pf2 Reset End Sub -- @+, bye, Joe. Pour m'écrire ng75AROBASEnoosPOINTfr remplace AROBASE et POINT par leur vrai signe Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!
"Patrice Henrio" a écrit dans le message de news: > Pour certaines opérations un fichier ne peut pas être ouvert deux fois, même > avec un autre numéro de file. > C'est le cas par exemple avec Word, si on veut ouvrir une deuxième fois
un
> fichier sans le refermer on sera prévenu qu'il sera en lecture seule. le > plus souvent en fait on ne peut même pas l'ouvrir. Ce qui est normal
quand
> on y pense : quelles modifications prendre en compte, dans quelle ordre > fermer le fichier ... etc. > Extrait de MSDN : "Si le fichier a déjà été ouvert par un autre
processus
et > si le type d'accès indiqué n'est pas autorisé, l'instruction Open échoue et > une erreur se produit" > > "EddiGordo" a écrit dans le message de > news: > > Bonjour > > > > Je regrette mais si tu utilise correctement Freefile tu ne *peux pas* > > tomber en erreur "Fichier dèjà ouvert" et ce même sans faire de Close > > ... > > > > > > -- > > Enjoy ! > > > >
En fait je répondais au message juste au-dessus qui affirmait qu'on ne
pouvait avoir d'erreur "fichier déjà ouvert" avec FreeFile. je crois que
cela provient d'une confusion sur ce qu'est un fichier.
Pour moi un fichier c'est physique. ce sont des octets sur un support avec
des propriétés particulières (nom, extension, méthode de lecture). il me
semble que EddiGordo confond "fichier" et "stream", c'est à dire flux
d'entrée dont les propriétés sont d'abord un n° d'accès (ou de canal pour
être plus précis) et ensuite un type d'ouverture. On ne peut pas
effectivement ouvrir deux fois le même canal sans l'avoir refermé. D'où
l'utilité de freefile. pour ma part je trouve cette utilisation dangereuse
car on ne sait plus ce qui est ouvert ou non. Donc je n'utilise que des
numéros d'ouverture et je fais attention de refermer tout fichier dont je
n'ai plus besoin. Si nécessaire je stocke son contenu dans une variable.
Il est même parfois aussi efficace de refermer puis rouvrir les fichiers
dont on a besoin à plusieurs endroits du programmes. Tout dépend de la
taille de ceux-ci.
Enfin il doit être possible pour répondre à la question de départ de créer
une collection des fichiers ouverts comportant le nom du fichier et le N° du
canal de communication. Quand on ferme le canal, on retire le fichier de la
collection. Quand on veut ouvrir le fichier, on vérifie qu'il n'est pas dans
la collection.
A plus.
"surfeur75" <surfeur75@paris.fr> a écrit dans le message de news:%
23leELEh1DHA.2160@TK2MSFTNGP12.phx.gbl...
Salut, le fic ne peut pas être ouvert 2 fois je te l'accorde, mais il sort
en erreur, vois ce bout de code, tu testes, et à l'adresse "1:" tu auras
"fichier déjà ouvert":
Sub Form_Load()
Dim pf1 As Long
Dim pf2 As Long
'
ChDrive App.Path
ChDir App.Path
pf1 = FreeFile
Open "test1.txt" For Append As pf1
'
pf2 = FreeFile
1: Open "test1.txt" For Binary As pf2
Reset
End Sub
--
@+, bye, Joe.
Pour m'écrire ng75AROBASEnoosPOINTfr
remplace AROBASE et POINT par leur vrai signe
Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!
"Patrice Henrio" <patrice.henrio.pasdepub@laposte.net> a écrit dans le
message de news: uvDqSig1DHA.1660@TK2MSFTNGP09.phx.gbl...
> Pour certaines opérations un fichier ne peut pas être ouvert deux fois,
même
> avec un autre numéro de file.
> C'est le cas par exemple avec Word, si on veut ouvrir une deuxième fois
un
> fichier sans le refermer on sera prévenu qu'il sera en lecture seule. le
> plus souvent en fait on ne peut même pas l'ouvrir. Ce qui est normal
quand
> on y pense : quelles modifications prendre en compte, dans quelle ordre
> fermer le fichier ... etc.
> Extrait de MSDN : "Si le fichier a déjà été ouvert par un autre
processus
et
> si le type d'accès indiqué n'est pas autorisé, l'instruction Open échoue
et
> une erreur se produit"
>
> "EddiGordo" <EddiGordo@fr.st> a écrit dans le message de
> news:mesnews.440a7d41.b7b04be7.22.0@fr.st...
> > Bonjour
> >
> > Je regrette mais si tu utilise correctement Freefile tu ne *peux pas*
> > tomber en erreur "Fichier dèjà ouvert" et ce même sans faire de Close
> > ...
> >
> >
> > --
> > Enjoy !
> >
>
>
En fait je répondais au message juste au-dessus qui affirmait qu'on ne pouvait avoir d'erreur "fichier déjà ouvert" avec FreeFile. je crois que cela provient d'une confusion sur ce qu'est un fichier. Pour moi un fichier c'est physique. ce sont des octets sur un support avec des propriétés particulières (nom, extension, méthode de lecture). il me semble que EddiGordo confond "fichier" et "stream", c'est à dire flux d'entrée dont les propriétés sont d'abord un n° d'accès (ou de canal pour être plus précis) et ensuite un type d'ouverture. On ne peut pas effectivement ouvrir deux fois le même canal sans l'avoir refermé. D'où l'utilité de freefile. pour ma part je trouve cette utilisation dangereuse car on ne sait plus ce qui est ouvert ou non. Donc je n'utilise que des numéros d'ouverture et je fais attention de refermer tout fichier dont je n'ai plus besoin. Si nécessaire je stocke son contenu dans une variable. Il est même parfois aussi efficace de refermer puis rouvrir les fichiers dont on a besoin à plusieurs endroits du programmes. Tout dépend de la taille de ceux-ci. Enfin il doit être possible pour répondre à la question de départ de créer une collection des fichiers ouverts comportant le nom du fichier et le N° du canal de communication. Quand on ferme le canal, on retire le fichier de la collection. Quand on veut ouvrir le fichier, on vérifie qu'il n'est pas dans la collection. A plus. "surfeur75" a écrit dans le message de news:%
Salut, le fic ne peut pas être ouvert 2 fois je te l'accorde, mais il sort en erreur, vois ce bout de code, tu testes, et à l'adresse "1:" tu auras "fichier déjà ouvert":
Sub Form_Load() Dim pf1 As Long Dim pf2 As Long ' ChDrive App.Path ChDir App.Path pf1 = FreeFile Open "test1.txt" For Append As pf1 ' pf2 = FreeFile 1: Open "test1.txt" For Binary As pf2 Reset End Sub -- @+, bye, Joe. Pour m'écrire ng75AROBASEnoosPOINTfr remplace AROBASE et POINT par leur vrai signe Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!
"Patrice Henrio" a écrit dans le message de news: > Pour certaines opérations un fichier ne peut pas être ouvert deux fois, même > avec un autre numéro de file. > C'est le cas par exemple avec Word, si on veut ouvrir une deuxième fois
un
> fichier sans le refermer on sera prévenu qu'il sera en lecture seule. le > plus souvent en fait on ne peut même pas l'ouvrir. Ce qui est normal
quand
> on y pense : quelles modifications prendre en compte, dans quelle ordre > fermer le fichier ... etc. > Extrait de MSDN : "Si le fichier a déjà été ouvert par un autre
processus
et > si le type d'accès indiqué n'est pas autorisé, l'instruction Open échoue et > une erreur se produit" > > "EddiGordo" a écrit dans le message de > news: > > Bonjour > > > > Je regrette mais si tu utilise correctement Freefile tu ne *peux pas* > > tomber en erreur "Fichier dèjà ouvert" et ce même sans faire de Close > > ... > > > > > > -- > > Enjoy ! > > > >