IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Rechercher un fichier puis le modifier - C#


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Points : 104
    Points
    104
    Par défaut Rechercher un fichier puis le modifier - C#
    Bonjour à tous,

    Je souhaiterais savoir si il est possible via une appli C# de rechercher des fichiers *.lis dans un dossier spécifique sur le disque dur.

    Et, à chaque fichier rencontré, l’ouvrir, modifier une ligne spécifique (identique dans tous les fichiers *.lis) par une autre ligne (identique dans tous les fichiers *.lis). C’est pour remplacer un chemin d’accès dans tous ces fichiers.

    Sauvegarder le fichier, le fermer, et rechercher le suivant…. Ainsi de suite…

    Pouvez vous m’aider sachant que j’ai très peu de connaissance en C#

    Merci d’avance. Mikaël


    P.S. Je fais ça dans Microsoft Visual C# Express 2008, j'ai trouvé pas mal d'infos à cette adresse : mais lorsque j'insère mes codes, il me renvoie plein d'erreurs, et je ne sais pas comment faire.

    Pour le coté design, c'est pas trop un souci. Mais c'est plutot pour le coté programmation.

    Merci d'avance pour votre aide.

    Mikael

  2. #2
    Membre averti Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Points : 309
    Points
    309
    Par défaut
    Ce qui tu cherches à faire n'est pas compliqué.
    Tu dois trouver facilement sur internet du bout de code qui te montre comment chercher un fichier dans un répertoire, puis ensuite comment l'éditer.

    Si tu sais les bases de la programmation c est bon

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par Gregory.M Voir le message
    Ce qui tu cherches à faire n'est pas compliqué.
    Tu dois trouver facilement sur internet du bout de code qui te montre comment chercher un fichier dans un répertoire, puis ensuite comment l'éditer.

    Si tu sais les bases de la programmation c est bon
    Tout dépend, ce que tu veux dire par les bases ...

  4. #4
    Membre du Club
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 70
    Points : 65
    Points
    65
    Par défaut
    toi t'as pas du chercher longtemps ...

  5. #5
    Membre averti Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Points : 309
    Points
    309
    Par défaut
    pour chercher un fichier dans un dossier tu dois faire une boucle for each qui doit ressembler à ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach (File unFichier in TonDirectory.GetFiles("*.lis")
    {
     
    puis la tu fais ce que tu veux 
    }

  6. #6
    Membre du Club
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 70
    Points : 65
    Points
    65
    Par défaut
    Perso j'ai une préférence pour "DirectoryInfo" et "FileInfo" de "System.IO".

    Avec tous ca normalement tu peux t'en sortir

  7. #7
    Membre averti Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Points : 309
    Points
    309
    Par défaut
    Citation Envoyé par DarkLeon Voir le message
    Perso j'ai une préférence pour "DirectoryInfo" et "FileInfo" de "System.IO".

    Avec tous ca normalement tu peux t'en sortir
    Ah oui c est FileInfo et DirectoryInfo j'avais oublié

  8. #8
    Membre régulier Avatar de subzero01
    Inscrit en
    Décembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2007
    Messages : 281
    Points : 121
    Points
    121
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    private void btnGo_Click(
    {
    	string[] lisFiles = File.GetDirectory(textPath.Text, "*.lis");
    	for(int i=0; i<lisFiles.Lenght; i++)
    	{
    		string curLisFile = lisFiles[i];
    		string allText = File.ReadAllText(curLisFile);
    		allText = allText.Replace(textSource.Text, textReplace.Text); //textSource = Zone de text a remplacer, textReplace = Zone de texte de remplacement
    	}
    }
    Voici un code que je n'ai pas compilé et qui est supposé faire le boulot

  9. #9
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    Citation Envoyé par subzero01 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    private void btnGo_Click(
    {
    	string[] lisFiles = File.GetDirectory(textPath.Text, "*.lis");
    	for(int i=0; i<lisFiles.Lenght; i++)
    	{
    		string curLisFile = lisFiles[i];
    		string allText = File.ReadAllText(curLisFile);
    		allText = allText.Replace(textSource.Text, textReplace.Text); //textSource = Zone de text a remplacer, textReplace = Zone de texte de remplacement
    	}
    }
    Voici un code que je n'ai pas compilé et qui est supposé faire le boulot

    Essaye de ne pas lui donnée la solution déja tout cuit dans la bouche. Il commence, donc il ne va pas apprendre grand chose si on lui donne déja le code tout fait.

    Des pistes vers la solution auraient été préférable.

    @mikael2235, je te conseil de lire les tutorial que tu va trouvé sur ce site. Ce que tu demande est qqechose de très basic.
    Remoting Context Matters
    Everything in this chapter is 100 percent undocumented. Reliance on these techniques is not supported by either Microsoft, the publisher, or the author of this book. Use at you own risk! If your computer won't work afterwards, your toaster blows up or your car doesn't start, I assume no liability whatsoever: You're now about to enter the uncharted territories of .NET and you do so on your own risk. I can only provide some guidance

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Points : 104
    Points
    104
    Par défaut
    Je dois être vraiment nul mais même avec ce code, je n'y arrive pas...

    Erreurs : Le nom File n'existe pas dans le contexte actuel.

  11. #11
    Membre régulier Avatar de subzero01
    Inscrit en
    Décembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2007
    Messages : 281
    Points : 121
    Points
    121
    Par défaut
    Citation Envoyé par mikael2235 Voir le message
    Erreurs : Le nom File n'existe pas dans le contexte actuel.
    shwin avait raison ! je devrais pas te donner tout le code depuis le début ! mais bon.
    l'erreur vient du fait que le NameSpace IO qui contient la classe File n'est pas inclu, tu dois mettre en haut du code de ta Form la ligne :

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 160
    Points : 89
    Points
    89
    Par défaut
    Citation Envoyé par DarkLeon Voir le message
    Perso j'ai une préférence pour "DirectoryInfo" et "FileInfo" de "System.IO".

    Avec tous ca normalement tu peux t'en sortir
    Je profite de ce topic pour vous parler d'un problème récent que j'ai eu avec la classe FileInfo. Mon appli se met à jour toute seule via un Updater.exe que j'ai créé. Elle va checker sur un serveur si la date de modif des fichiers annexes a changé ou non (FileInfo.LastWriteTime), et lance l'updater si tel est le cas. L'updater copie colle bêtement tous les fichiers du serveur en local et relance l'application. La copie se passe bien et je retrouve bien en local les mêmes fichiers que ceux du serveur. Mais mon application relance à nouveau l'updater ! Elle détecte toujours une différence de date de modif entre deux fichiers alors que cette différence n'existe plus ... Un appel à la fonction FileInfo.Refresh ne changeant rien ...

    Je ne sais pas si j'ai été clair, mais j'aimerais avoir de l'aide sur ce point.

    Merci d'avance !

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Points : 104
    Points
    104
    Par défaut
    Malgré que j'aimerai bien comprendre...

    J'ai toujours des erreurs...

  14. #14
    Membre averti Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Points : 309
    Points
    309
    Par défaut
    Directory.GetFiles(...);
    et pas File.GetFiles(...);

  15. #15
    Membre régulier Avatar de subzero01
    Inscrit en
    Décembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2007
    Messages : 281
    Points : 121
    Points
    121
    Par défaut
    Citation Envoyé par Gregory.M Voir le message
    Directory.GetFiles(...);
    et pas File.GetFiles(...);
    Oui exactement j'ai commi une erreur !
    c'est Directory.GetFiles() et pas File.GetDirectory() !!!
    La deuxiement erreur c'est aussi une erreur de frappe : Length au lieu de Lenght

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 407
    Points : 104
    Points
    104
    Par défaut
    J'ai réussi à faire ce que je voulais...

    Encore merci à tous pour votre aide !!!

    A bientôt.

    Mikael

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Batch] Recherche ligne fichier puis extraction
    Par jbarreau-mainson dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 22/02/2010, 13h45
  2. [Batch] Rechercher un fichier puis créer son raccourci dans le Menu Démarrer
    Par antislash dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 12/05/2009, 13h44
  3. Recherche de fichiers puis copier avec chemin
    Par domiq44 dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 01/06/2007, 11h54
  4. [VBA] Recherche d'une valeur dans un autre fichiers puis
    Par Nicos77 dans le forum Général VBA
    Réponses: 11
    Dernier message: 24/03/2006, 11h24
  5. Réponses: 4
    Dernier message: 11/02/2006, 19h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo