Verouiller un grand nombre de fichier (+ 1000)

Résolu
cs_justgreat Messages postés 9 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 29 janvier 2010 - 1 juin 2009 à 16:41
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 4 juin 2009 à 17:26
si je travaille sur un grand nombre de fichiers (plus que 1000), comment puis je les verrouiller pour qu'ils soient plus accessibles par les autres pendant la durée que je les traite ?
Je connais déjà que quand j'ouvre un fichier je peux lui donner en paramètre un Lock Read Write, comme par exemple de faire Open "c:\monfichier.txt" For output Access write Lock Read write As #numfichier

mais ceci ne peut pas etre fait avec un grand nombre de fichier, car ça prend en paramètre le #numfichier et normalement ce num doit etre entre 1 – 255 et de 256 – 511
Ce qui veut dire qu'en gros je peux ouvrir 511 fichier maximum en meme temps ?
y a t'il un moyen pour que je puisse ouvrir plus que ça ou un nombre illimité de fichier en meme temps ?
En gros, j'ai une liste box qui contient un grand nombre de fichier et je souhaite les verouiller et quand je fini à travailler dessus, je souhaite les déverouiller






JustGreat

11 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 juin 2009 à 16:50
salut,
selon le flag, l'API OpenFile devrait suffir
http://msdn.microsoft.com/en-us/library/aa365430(VS.85).aspx

possible aussi de verrouiller complètement le dossier avec les droits de propriétaire pour une partition ntfs

les possibilités dépendent de l'usage que tu as de ces fichiers ;)
++

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
3
cs_justgreat Messages postés 9 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 29 janvier 2010
1 juin 2009 à 17:52
Merci pour l'information...Selon ce que je viens de voir sur le lien que vous m'avez donné, apparemment vaut mieux utiliser la CreateFile car elle accepte des shémas supérieurs à 128 caractères, comme ça je ne me prenderai pas la tete à tester la taille du path de chaque fichier.
Je vais essayer ça et je vous tienderai informer si ça marche.

Entre temps, pouvez vous me dire comment l'utiliser pour verrouiller tout un dossier ?

sinon concernant l'utilisation, je ne veux pas modifier les fichiers alors je vais l'ouvrir en Read mais je veux pas que quelqu'un me supprime les fichiers ou les modifies quand je les traites car j'ai deux listebox liée et si on modifie des fichiers dans l'une ça va me causer des problemes avec l'autre, c'est pour ça que je suis obligé à verrouiller les fichiers de la première listebox.




JustGreat
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 juin 2009 à 19:08
j'essaye de te faire un petit exemple ce soir si j'ai le temps, le principe est le même pour un dossier qu'un fichier
3
cs_justgreat Messages postés 9 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 29 janvier 2010
1 juin 2009 à 23:10
Merci beaucoup par avance, j'attend le code..
J'étais entrain de me renseigner sur un forum anglais, on m'a dit qu'il faut aussi voir ce qu'on appelle ACL, as tu un turoriel ou une idée comment utiliser ces ACL pour verouiller un fichier ou un dossier ? et est ce que cette information est correcte ?


JustGreat
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 juin 2009 à 23:19
ou c'est bien çà
http://fr.wikipedia.org/wiki/Access_Control_List#Windows

mais si tu as réussi avec createfile, pas certain que tu aies vraiment besoin de mon code

allez j'essaye d'attaquer çà d'ici une petite heure
3
cs_justgreat Messages postés 9 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 29 janvier 2010
2 juin 2009 à 10:42
Merci encore une fois PCPT, j'ai lu le doc sur wikipedia sur ACL, mais as tu un exemple de comment faire ça en vb6 ? j'attend ton code et par avance encore une fois merci beaucoup


JustGreat
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 juin 2009 à 17:04
salut,
j'ai à peine commencé hier soir mais n'ai pas continuer aujourd'hui
je te tiens au courant dès que j'ai une minute... avant demain soir avec certitude

rien ne t'empêche de continuer tes recherches
en attendant
;)
le code principal se fait en 2 lignes, il faut juste choisir les bons flags avec createfile
++
3
cs_justgreat Messages postés 9 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 29 janvier 2010
2 juin 2009 à 22:02
Merci encore une fois..
Oui effectivement j'ai continué mes recherches et avec Create File je pense que j'ai compris comment ça fonctionne mais pour les ACL j'arrive pas à trouver du code en vb :(


JustGreat
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 juin 2009 à 02:54
3
cs_justgreat Messages postés 9 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 29 janvier 2010
4 juin 2009 à 15:59
merci beaucoup, je vais voir ton code le week end,car je bosse sur un autre projet que je dois livrer vendredi.
par contre, t'as pas trouvé quelque chose sur les ACL ? j'arrive pas à trouver un code en vb pour les ACL c'est bizarre !


JustGreat
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 juin 2009 à 17:26
pour


windows

cacls /?
Affiche ou modifie les listes de contrôle d'accès (ACL) des fichiers

CACLS nom_de_fichier /T /E /C util:perm [/R util [...]]
                     [/P util:perm [...]] [/D util [...]]
   nom_de_fichier  Affiche les ACL.
   /T              Modifie les ACL des fichiers spécifiés dans le
                   répertoire en cours et tous les sous-répertoires.
   /E              Édite l'ACL au lieu de la remplacer.
   /C              Continue la modification des ACL en ignorant les erreurs.
   /G util:perm    Donne à l'utilisateur spécifié les droits d'accès.
                   Perm peut être : R  Lecture
                                    W  Écriture
                                    C  Modification (en écriture)
                                    F  Contrôle total
   /R util         Retire les droits d'accès de l'utilisateur (avec /E).
   /P util:perm    Remplace les droits d'accès de l'utilisateur spécifié.
                   Perm peut être : N  Aucun
                                    R  Lecture
                                    W  Écriture
                                    C  Modification (en écriture)
                                    F  Contrôle total
   /D util         Refuse l'accès à l'utilisateur spécifié.
Des caractères génériques peuvent être utilisés pour préciser plusieurs
fichiers dans une commande. Vous pouvez spécifier plus d'un utilisateur dans
une commande.

Abréviations :
   CI - Héritage de conteneur (Container Inherit).
        Les répertoires héritent de l'entrée de contrôle d'accès.
   OI - Héritage d'objet (Object Inherit).
        Les fichiers héritent de l'entrée de contrôle d'accès.
   IO - Héritage uniquement (Inherit Only).
        L'entrée de contrôle d'accès ne s'applique pas au fichier ou
        répertoire en cours.
0
Rejoignez-nous