none
Problème avec le fichier csv RRS feed

  • Question

  • Bonjour à tous,

     Je suis entrain de developer une application qui fait l'acquisition de la temperature et pour stocker les résultats, j'utilise un fichier csv, voilà le code source

     sw = new StreamWriter(fileDirectory + fileTitle, true);
               
                    var = TimeString + ";";
                    var += count + ";";
                    var += FrzNTC.Get_Temp() + ";";
                    var += RefNTC.Get_Temp() + ";";
                    var += DefNTC.Get_Temp() + ";";
                    var += AT_NTC.Get_Temp() + ";";
                    var += FF.GetConsigne() + ";";
                    var += FF.Get_FanSpeed() + ";";
                    var += R.GetDamperPrct() + ";";
                    var += R.GetDamperState() + ";";
                    var += D.GetDefrostState() + ";";
                    var += C.GetCompressorState() + ";";
                    var += FrzDr.GetDoorState() + ";";
                    var += RefDr.GetDoorState() + ";";
    
                    sw.WriteLine(var);
                    sw.Close();

    J'ai réussi à faire des enregistrement avec 126586 point et là il plante en affichant une erreur comme quoi le fichier est déjà utilisé par un autre processus.

    Quelqu'un à une idée d'où vient le problem?

    Mercii

    mardi 4 septembre 2018 08:21

Réponses

  • Bonjour,

    Deux choses:

    StreamWriter étant un objet IDisposable, vous devez appeler la méthode Dispose()  (ou une section using) malgré le fait que vous utilisez la méthode Close(). Essayez le code suivant :

    using(var sw = new StreamWriter(fileDirectory + fileTitle, true))
    {           
                    var = TimeString + ";";
                    var += count + ";";
                    var += FrzNTC.Get_Temp() + ";";
                    var += RefNTC.Get_Temp() + ";";
                    var += DefNTC.Get_Temp() + ";";
                    var += AT_NTC.Get_Temp() + ";";
                    var += FF.GetConsigne() + ";";
                    var += FF.Get_FanSpeed() + ";";
                    var += R.GetDamperPrct() + ";";
                    var += R.GetDamperState() + ";";
                    var += D.GetDefrostState() + ";";
                    var += C.GetCompressorState() + ";";
                    var += FrzDr.GetDoorState() + ";";
                    var += RefDr.GetDoorState() + ";";
    
                    sw.WriteLine(var);
                    sw.Close();
    }
    
    Ensuite assurez vous qu'un autre programme ou une autre instance de votre programme n'est pas en train d'ouvrir votre fichier.

    Cordialement,


    Yan Grenier

    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont répondues à votre question, et de noter les réponses que vous avez trouvé utiles.

    • Marqué comme réponse i.Haaa mardi 4 septembre 2018 08:55
    mardi 4 septembre 2018 08:37