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

VB.NET Discussion :

Ajouter dans une fichier existante


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 196
    Par défaut Ajouter dans une fichier existante
    slt à tous

    voilà je travaille sur vb 2008 j'ai un problème d'ajout de ligne dans une fichier, voilà l'idée je veux écrire ou plutôt ajouter une ligne dans une fichier texte existante j'ai essayé de le faire mais chaque fois il écrase le contenu du fichier et met seulement le nouveau contenu voilà un code que j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Dim sw As StreamWriter
            dat = DateTimePicker2.Value.Date.ToString.Substring(0, 10)
            temps = DateTimePicker1.Value.TimeOfDay.ToString.Substring(0, 5)
            Dim ch_acce As String = "C:\Documents and Settings\Administrateur\Mes documents\Visual Studio 2008\Projects\WindowsApplicationCalendrier\WindowsApplicationCalendrier\bin\Debug\memo.txt "
            Try
                sw = File.CreateText(ch_acce)
                sw.WriteLine(txtnom.Text + " " + temps)
                sw.Close()
            Catch ex As Exception
                MessageBox.Show(ex.ToString(), "Erreur fichier", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
        End Sub
    merci de m'aider

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Par défaut
    Salut,

    Selon que tu veux écrire au début ou à la fin, tu peux regarder du coté de la méthode Seek pour te positionner dans le fichier, ou plu simplement de File.OpenWrite pour ajouter du contenu à la fin.

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 196
    Par défaut
    Merci pour la réponse mais comme tu peux le constaté de mon code que je veux écrire tout une ligne à la fin du fichier alors que File.OpenWrite ne me le permet pas

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 94
    Par défaut
    Bonjour,

    Utilise un FileStream qui définira le mode d'ouverture de ton fichier.
    Dans l'exemple, Append, pour signaler la concaténation à la fin du fichier.
    Dans le StreamWriter, tu peux préciser l'encodage de ton fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
             dat = DateTimePicker2.Value.Date.ToString.Substring(0, 10)
             temps = DateTimePicker1.Value.TimeOfDay.ToString.Substring(0, 5)
             Dim ch_acce As String = "C:\Documents and Settings\Administrateur\Mes documents\Visual Studio 2008\Projects\WindowsApplicationCalendrier\WindowsApplicationCalendrier\bin\Debug\memo.txt "
     
            Try
                Dim fs as New System.IO.FileStream(ch_acce, System.IO.FileMode.Append)
                Dim sw As new StreamWriter(fs)
                sw.WriteLine(txtnom.Text + " " + temps)
                sw.Flush()
                sw.Close()
                fs.Close()
            Catch ex As Exception
                MessageBox.Show(ex.ToString(), "Erreur fichier", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
        End Sub
    PS : Je n'ai pas testé le code, mais cela doit s'approcher de cela.

    NB : Sans vouloir être méchant, il est parfois utile de regarder les tutoriels, les méthodes disponibles de .NET (explorateur d'objets), et de faire une recherche par soi même sur internet. Les autres internautes n'ont pas forcément comme unique but dans la vie que de rechercher à ta place.

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 196
    Par défaut
    Merci beaucoup cougarg c est vraiment ce que je voulais faire merci beaucoup et pour la note que tu avais mis non je n'ai pas posté ma question directement ca fait maintenant 2 jours que je cherche dans le net comment réglé mon problème et je testé par moi même mes propres idés mais sans résultat ; mais bon ca fait rien et milllle merci encore

    Aussi pour hunteshiva merci pour l'aide ca va m'aider beaucoup dans mon projet

    merci les amis c résolu

  6. #6
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    je ne vais pas vraiment t'aider mais ...
    plutôt que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim ch_acce As String = "C:\Documents and Settings\Administrateur\Mes documents\Visual Studio 2008\Projects\WindowsApplicationCalendrier\WindowsApplicationCalendrier\bin\Debug\memo.txt "
    tu peut simplifier par ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim ch_acce As String = Application.StartupPath & "\memo.txt "
    J'oublié,
    en plus de simplifier ton code
    sa suis ton application
    c'est-a-dire que une fois ton programme fini, si tu déplace ton .exe avec ton fichier "memo.txt"
    dans un autre dossier, sa fonctionnera toujours

    alors que avec un lien fixe comme tu a mis, sa ne marchera que s'il reste toujours au même endroit ...
    (sa peut étre problématique si tu doit déplacer ton appli sur un autre pc)

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

Discussions similaires

  1. [JexcelApi] Ajout d'une Sheet existante dans un classeur ?
    Par captain_mich dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 25/01/2011, 14h45
  2. [WD14] Ajout dans un fichier a partir d'une liste
    Par mero007 dans le forum WinDev
    Réponses: 1
    Dernier message: 20/07/2009, 15h13
  3. Ajout dans une table(fichier)
    Par rednight dans le forum WinDev
    Réponses: 2
    Dernier message: 24/04/2009, 19h44
  4. Réponses: 2
    Dernier message: 17/04/2008, 12h30
  5. [C#] Ajout d'une Form existante dans mon projet ?
    Par sara21 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/10/2006, 01h08

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