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

C# Discussion :

Soucis avec enregistrement txt


Sujet :

C#

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Soucis avec enregistrement txt
    Bonjour/bonsoir à tous !

    j'ai un problème d'enregistrement des mes fichiers .txt qui prenne le nom d'une variable.
    Avec un fichier php je contact le c# afin que c# effectue une commande avec le nom que j'ai entré dans le php. Et si ce nom contient un "." ex = dev.lop le fichier s'enregistre en dev.lop au lieu de dev.lop.txt.
    Voici la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strCmdText = "/command que j'effectue > c:/test/" + username;

  2. #2
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Je ne vois pas ou est le soucis, si j'essaie de créer en C# un fichier avec le nom "d:\TEMP", j'aurais sur mon disque le fichier TEMP sans extension. Dans ton cas tu dois rajouter toi même l'extension .txt (si c'est cela que tu veux). Ou alors je n'ai pas bien compris ta question.
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par infosam76 Voir le message
    Je ne vois pas ou est le soucis, si j'essaie de créer en C# un fichier avec le nom "d:\TEMP", j'aurais sur mon disque le fichier TEMP sans extension. Dans ton cas tu dois rajouter toi même l'extension .txt (si c'est cela que tu veux). Ou alors je n'ai pas bien compris ta question.
    En faite la variable user prends un pseudo, et ce pseudo peut être composer d'un point. Et s'il y'a un point le fichier s'enregistre avec l'extension suivi du point

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    Salut,

    si j'ai bien compris le résultat que tu attends c'est un fichier texte (.txt), dans ce cas tu fais simplement ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strCmdText = "/command que j'effectue > c:/test/" + username + ".txt";
    Ca devrait produire le résultat que tu recherches

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par JoResta Voir le message
    Salut,

    si j'ai bien compris le résultat que tu attends c'est un fichier texte (.txt), dans ce cas tu fais simplement ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strCmdText = "/command que j'effectue > c:/test/" + username + ".txt";
    Ca devrait produire le résultat que tu recherches
    Salut et merci de vos réponses, j'avais déjà effectuer ceci auparavant, mais le problème était toujours présent, si l'username contient un point, le fichier ne s'enregistre pas avec le .txt

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Ben pour enregistrer un fichier tu dois virer tous les caractères spéciaux. Donc tu dois enlever du "username" tous les caractères spéciaux, y compris les points.

    Tu peux utiliser String.Replace, par exemple :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    username = username
            .Replace(".", string.Empty)
            .Replace("/", string.Empty)
            .Replace("@", string.Empty);
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  7. #7
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Est il possible d'avoir le code qui exécute cette commande ?

    La commande est elle une commande dos par exemple ?
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  8. #8
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    +1 avec DotNetMatt dont je n'avais pas vu le commentaire (page laisser ouverte trop longtemps)
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  9. #9
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 116
    Points : 158
    Points
    158
    Par défaut
    Citation Envoyé par DotNetMatt Voir le message
    Ben pour enregistrer un fichier tu dois virer tous les caractères spéciaux. Donc tu dois enlever du "username" tous les caractères spéciaux, y compris les points.

    Tu peux utiliser String.Replace, par exemple :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    username = username
            .Replace(".", string.Empty)
            .Replace("/", string.Empty)
            .Replace("@", string.Empty);

    Éventuellement, par la même occasion, ajouter une vérification sur la taille du chemin absolu du fichier, histoire de ne pas avoir d'erreur lors d'une tentative de création.

    Même si cela peut paraitre superflu, ce genre dé vérifications pourront se révélées utiles plus tard.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    monChemin= "c:/test/" + username + ".txt";
    if(monChemin.lenght < 255)
    {
    strCmdText = "/command que j'effectue > " +monChemin;
    }
    else
    {
    affiche un message précisant que le chemin est trop long
    }

Discussions similaires

  1. Petit soucis avec un fichier txt
    Par docofchaos dans le forum Débuter
    Réponses: 8
    Dernier message: 02/04/2013, 08h51
  2. [AC-2007] Petit souci d'enregistrement Jpg avec la classe clsGDIPlus
    Par lio33 dans le forum VBA Access
    Réponses: 1
    Dernier message: 08/10/2012, 15h50
  3. [XL-2010] soucis avec macro insertion photos pour l'enregistrer dans le fichier
    Par fabrice5962 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 23/06/2012, 17h14
  4. [PostgreSQL 8.3.6] Soucis avec les données enregistrées
    Par flet le kid dans le forum Débuter
    Réponses: 3
    Dernier message: 22/04/2009, 08h24
  5. Réponses: 3
    Dernier message: 20/12/2007, 14h54

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