Etienne BAUDOUX

Forum sur les projets de Etienne BAUDOUX


Faire un "scan" des fichiers.

avatar
WarDoG
Nouveau
Nouveau

Masculin Nombre de messages : 21
Date d'inscription : 03/03/2012

Faire un "scan" des fichiers. Empty Faire un "scan" des fichiers.

Message par WarDoG le Mar 6 Nov 2012 - 16:36

Hello,

J'aimerais faire une application avec un système de scan de fichier qui déterminerait si un fichier est manquant (ou pas)

J'ai déjà une idée de comment faire avec des fonctions "déterminer si un fichier existe" et avec des conditions mais le problème c'est qu'il y a beaucoup de fichier à "scanner", il y a t il une alternative histoire d'aller un peu plus vite ? car je vous laisse imaginer combien je dois mettre de fonction pour par exemple déterminer si 1000 fichiers existent. Suspect (ça me ferait plus de 2000 fonctions à faire)

Merci d'avance.
Admin
Admin
Administrateur
Administrateur

Masculin Nombre de messages : 1882
Age : 27
Localisation : Boulogne Billancourt(92100)(France)
Emploi/loisirs : Software Development Engineer
Date d'inscription : 24/01/2008

Faire un "scan" des fichiers. Empty Re: Faire un "scan" des fichiers.

Message par Admin le Mar 6 Nov 2012 - 17:05

Bonjour,

Oui, la solution est assez simple. Regardez le projet "Utiliser les tableaux de valeur" dans la page de démarrage de SoftwareZator. Il explique comment utiliser les "boucle limitée".

L'idée est d'avoir la liste de vos fichiers à tester dans une "variable tableau". Cette liste peut être affiché dans une liste d'élément dans l'interface par exemple. Bref, le but est que :
- Pour chaque élément de la variable tableau
- - on détermine si le fichier existe (sachant que chaque élément est égale à un chemin complet vers un fichier)
- - Si le fichier n'existe pas, alors.....
- fini

Bonne journée Smile



Les 4 règles d'or du forum : Bonjour, Merci, Pas de SMS, Et un petit "[RESOLU]" dans le titre du sujet quand le problème est réglé. Wink

Etienne

Site internet : http://www.velersoftware.com
Twitter : http://twitter.com/VelerSoftware
avatar
WarDoG
Nouveau
Nouveau

Masculin Nombre de messages : 21
Date d'inscription : 03/03/2012

Faire un "scan" des fichiers. Empty Re: Faire un "scan" des fichiers.

Message par WarDoG le Mar 6 Nov 2012 - 19:38

Re,

J'arrive à afficher les dossiers et fichiers du dossier que je veux mais il y a quelque chose que j'ai pas compris, si j'ai 1000 fichiers à scanner je dois obligatoirement mettre 1000 fois la fonction "déterminer si le fichier existe" ? Si non, j'ai pas compris comment faire autrement. scratch

Pour être clair, c'est une application pour détecter si un fichier du jeu est manquant donc dans le cas d'un joueur ça peut être n'importe lequel donc il faut les vérifier un par un, comment faire. Sad

Merci.
Admin
Admin
Administrateur
Administrateur

Masculin Nombre de messages : 1882
Age : 27
Localisation : Boulogne Billancourt(92100)(France)
Emploi/loisirs : Software Development Engineer
Date d'inscription : 24/01/2008

Faire un "scan" des fichiers. Empty Re: Faire un "scan" des fichiers.

Message par Admin le Mar 6 Nov 2012 - 21:06

Bonsoir,

Non, au contraire. Il va falloir faire ce qu'on appel une "boucle limitée" (catégorie Général). Ca consiste à exécuter une même tâche un certain nombre de fois. Dans votre cas, on mettra dans cette boucle limitée la fameuse action "Déterminer si un fichier existe" et la condition "si alors sinon".

Je m'explique : vous avez votre liste de fichier quelque part, sauvegardé dans une variable "MaListe" définie comme étant un tableau de valeur (dans le gestionnaire de variable). Dans cette variable on a :
- L'élément numéro 0 est égale à "C:\Fichier 1.txt"
- L'élément numéro 1 est égale à "C:\Fichier 2.png"
- L'élément numéro 2 est égale à "C:\Fichier 3.jpg"

Maintenant, dans la "boucle limitée", on va faire en sorte qu'on part de la variable "Index" qui est égale à 0 jusqu'à la variable "MaListe" (enfin, le nombre de valeur qu'il y a dans "MaListe". Dans mon exemple, il y en a 3.).
Dans cette boucle limitée, on va ajouter une action "Déterminer si un fichier existe". Dans le chemin vers le fichier, on va mettre %(VARIABLE=MaListe[Index])% (cette syntaxe est accessible depuis le petit bouton à droite de l'éditeur de texte dans l'action).

Ce que vous devez savoir maintenant, c'est qu'à chaque fois que l'action "Boucle limitée" est exécuté, la variable Index s'incrémente de 1. Par conséquent, Index sera égale à 0, puis 1, puis 2, et c'est tout (car il y a bien 3 valeurs dans MaListe). La syntaxe "%(VARIABLE=MaListe[Index])%", elle, fait appel à la valeur numéro "Index" (0, 1, 2) de la variable "MaListe". Or, pour chaque élément différent, on a un chemin de fichier différent.
Par conséquent, à chaque fois que la boucle limitée est exécutée, on déterminera si le fichier spécifié dans l'élément numéro Index de MaListe existe. Ainsi, vous pouvez avoir 1000 valeurs dans cette variable, la boucle sera exécutée 1000 fois, et à chaque fois l'action "Déterminer si un fichier existe" sera exécutée pour avec l'une des valeur de la variable.

Comprenez-vous le principe?



Les 4 règles d'or du forum : Bonjour, Merci, Pas de SMS, Et un petit "[RESOLU]" dans le titre du sujet quand le problème est réglé. Wink

Etienne

Site internet : http://www.velersoftware.com
Twitter : http://twitter.com/VelerSoftware
avatar
WarDoG
Nouveau
Nouveau

Masculin Nombre de messages : 21
Date d'inscription : 03/03/2012

Faire un "scan" des fichiers. Empty Re: Faire un "scan" des fichiers.

Message par WarDoG le Mer 7 Nov 2012 - 12:46

Bonjour,

Ah ok, j'ai compris le principe de la boucle, c'est beaucoup plus clair mais :

<< vous avez votre liste de fichier quelque part, sauvegardé dans une variable "MaListe" >>

Comment enregistrer mes fichiers dans une variable ? le reste je me débrouille, j'ai compris merci. Wink

Bonne journée !
Admin
Admin
Administrateur
Administrateur

Masculin Nombre de messages : 1882
Age : 27
Localisation : Boulogne Billancourt(92100)(France)
Emploi/loisirs : Software Development Engineer
Date d'inscription : 24/01/2008

Faire un "scan" des fichiers. Empty Re: Faire un "scan" des fichiers.

Message par Admin le Mer 7 Nov 2012 - 12:53

Bonjour,

Ne sachant pas exactement ce que vous voudriez faire, voici deux solutions :
- Utiliser l'action "Obtenir la liste des fichiers et dossier d'un répertoire" (catégorie Fichiers dans la Boîte à outils). Cette action va lister les fichiers et ou dossier selon vos désire à un emplacement donné, et enregistrer la liste de ceux-ci dans votre variable tableau (MaListe)
- Utiliser l'action "Ajouter une valeur à une variable tableau" (catégorie Variables tableau), et ajoutez un à un le chemin vers les fichiers à tester

Bonne journée



Les 4 règles d'or du forum : Bonjour, Merci, Pas de SMS, Et un petit "[RESOLU]" dans le titre du sujet quand le problème est réglé. Wink

Etienne

Site internet : http://www.velersoftware.com
Twitter : http://twitter.com/VelerSoftware
avatar
WarDoG
Nouveau
Nouveau

Masculin Nombre de messages : 21
Date d'inscription : 03/03/2012

Faire un "scan" des fichiers. Empty Re: Faire un "scan" des fichiers.

Message par WarDoG le Mer 7 Nov 2012 - 14:05

Re,

D'accord, en gros je veux faire une application qui scan les fichiers d'un jeu et qui détecte si un fichier est manquant
mais pour cela je dois avoir tous les fichiers du jeu sur mon PC enregistré dans une variable,
jusque là, ok mais quand un joueur va télécharger mon application, il n'aura pas la liste des fichiers sur son ordinateur donc ça ne fonctionnera pas ?
A moins qu'il télécharge les fichiers mais c'est pas le but car ça ferait plusieurs GO ...
scratch
Admin
Admin
Administrateur
Administrateur

Masculin Nombre de messages : 1882
Age : 27
Localisation : Boulogne Billancourt(92100)(France)
Emploi/loisirs : Software Development Engineer
Date d'inscription : 24/01/2008

Faire un "scan" des fichiers. Empty Re: Faire un "scan" des fichiers.

Message par Admin le Mer 7 Nov 2012 - 14:24

Bonjour,

Il y a plusieurs solutions mais vous serez forcément obligé à un moment d'écrire la liste complète des fichiers.
- La première méthode est d'utiliser l'action "Ajouter une valeur à une variable tableau" et l'utiliser 1000 fois (1 fois par fichier).... mais bon on perd l'intérêt de la boucle limitée vu qu'au final ça reviendra au même que d'avoir fait 1000 conditions.
- La seconde méthodes serait, dans le concepteur de fenêtre, de mettre par exemple une "Liste d'éléments", et de mettre la liste des fichiers dans la propriété "Items" (via le panneau Propriétés), puis utiliser l'action "Obtenir la liste d'éléments d'une liste d'éléments" (catégorie Liste d'éléments).
- La troisième méthode est de mettre cette liste de fichier dans un fichier texte et de le lire ligne par ligne (en imaginant un chemin de fichier par ligne).

Personnellement je vous recommande la 2nde méthode. En plus elle vous permettrait par exemple de montrer à l'utilisateur si tel fichier de la liste a été trouvé ou pas, en ajoutant un "OK" ou "Introuvable" au début de l'élément. Bref, c'est plus simple, de plus le concepteur de fenêtre enregistre ce que vous mettez dans la propriété Items.

Bonne journée



Les 4 règles d'or du forum : Bonjour, Merci, Pas de SMS, Et un petit "[RESOLU]" dans le titre du sujet quand le problème est réglé. Wink

Etienne

Site internet : http://www.velersoftware.com
Twitter : http://twitter.com/VelerSoftware
polien
polien


Masculin Nombre de messages : 2992
Age : 22
Localisation : Bouches du Rhones
Emploi/loisirs : velo, informatique, électronique, robotique, modélisme feroviaire
Humeur : Je commence tout mais ne finit rien :P
Date d'inscription : 19/05/2011

Faire un "scan" des fichiers. Empty Re: Faire un "scan" des fichiers.

Message par polien le Mer 7 Nov 2012 - 14:24

@WarDoG a écrit:Re,

D'accord, en gros je veux faire une application qui scan les fichiers d'un jeu et qui détecte si un fichier est manquant
mais pour cela je dois avoir tous les fichiers du jeu sur mon PC enregistré dans une variable,
jusque là, ok mais quand un joueur va télécharger mon application, il n'aura pas la liste des fichiers sur son ordinateur donc ça ne fonctionnera pas ?
A moins qu'il télécharge les fichiers mais c'est pas le but car ça ferait plusieurs GO ...
scratch

mais ce jeu ce sera toujours le même ou sa peut être n'importe quel jeu?

avatar
WarDoG
Nouveau
Nouveau

Masculin Nombre de messages : 21
Date d'inscription : 03/03/2012

Faire un "scan" des fichiers. Empty Re: Faire un "scan" des fichiers.

Message par WarDoG le Mer 7 Nov 2012 - 14:56

Re,

Ok merci admin, je vais essayer avec la deuxième solution.

Le même polien.

Bonne journée.
lereparateurdepc
lereparateurdepc


Masculin Nombre de messages : 5601
Age : 26
Localisation : Calvados
Emploi/loisirs : Electrotechnicien / électricité, HAUTE TENSION, électronique, informatique, automatisme , Arduino, bref le BRICOLAGE , ...
Humeur : toujours cool
Date d'inscription : 31/01/2010

Faire un "scan" des fichiers. Empty Re: Faire un "scan" des fichiers.

Message par lereparateurdepc le Mer 7 Nov 2012 - 16:26

re ,

Admin (Extrait) a écrit:
- Utiliser l'action "Obtenir la liste des fichiers et dossier d'un répertoire" (catégorie Fichiers dans la Boîte à outils). Cette action va lister les fichiers et ou dossier selon vos désire à un emplacement donné, et enregistrer la liste de ceux-ci dans votre variable tableau (MaListe)

Attention , si des répertoirs ou fichiers sont protégés par le système , une erreur d'éxécution apparaitera .
Je n'ai , pour le moment pas réussi à détecter la protection des fichiers/dossiers .
Si quelq'un a une réponce , ça m'intéresse Smile

Cordialement ,
Le réparateur de PC



Modérateur & Administrateur du forum
Merci de contacter les membres par MP ou mail que pour "urgences". Le forum est fait pour ça. Merci

@ Contact : franleboss@gmail.com  Smile
Arrow  Visitez mon site : désolé l'hébergeur à fermé Sad

Ma chaine tutube : https://www.youtube.com/channel/UC7iU59NNAHz-tW5wqcgONHA


Faire un "scan" des fichiers. Wp_20110Faire un "scan" des fichiers. 10_32010Faire un "scan" des fichiers. Wp_20111Faire un "scan" des fichiers. 07_sig10

Contenu sponsorisé

Faire un "scan" des fichiers. Empty Re: Faire un "scan" des fichiers.

Message par Contenu sponsorisé


    La date/heure actuelle est Jeu 18 Juil 2019 - 23:38