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 :

affichage ligne par ligne du fichier ascII


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut affichage ligne par ligne du fichier ascII
    comment on peut afficher des données dans un fichier ascII mais chaque donnée dans une ligne???pour etre plus clair je recupere une colonne d'une table oracle ensuite je veux afficher les données de cette colonne dans un ficher ascii,mais ce ke je veux c'est d'afficher chacune des données de la colonne dans une ligne du ficher ascII

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    tu créés un fichier texte
    tu l'ouvres
    tu écris dedans
    tu passe une ligne quand t'as envie
    tu boucles si t'as plein de choses à mettre dedans
    tu fermes le fichier

    voir F1 ou google pour les détails ...

  3. #3
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par sperot51
    tu créés un fichier texte
    tu l'ouvres
    tu écris dedans
    tu passe une ligne quand t'as envie
    tu boucles si t'as plein de choses à mettre dedans
    tu fermes le fichier

    voir F1 ou google pour les détails ...
    Traduction :
    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
    17
    18
     Private Sub traitement(ByVal Path As String, ByVal data As Byte())
            Dim FluxW As New IO.FileStream(Path, IO.FileMode.Create) 'crée un fichier
            FluxW.Write(data, 0, data.Length) 'ecrit les données
            FluxW.Close() 'ferme le fichier
     
            Dim FluxR As New IO.FileStream(Path, IO.FileMode.Open) 'ouvre un fichier qui existe deja
            Dim Resultat(1024) As Byte
            FluxR.Read(Resultat, 0, Resultat.Length) 'lis 1024 octets
            FluxR.Close() 'ferme le fichier
     
            'valable que pour les fichiers texte !
            Dim Flux As New IO.StreamReader(Path, False)
            While Flux.Peek <> -1 'tans qu'on peut lire
                Dim resultat1 As String = Flux.ReadLine 'lis une seule ligne ou alors
                Dim Resultat2 As String = Flux.ReadToEnd 'lis tout d'un coup
            End While
            Flux.Close() 'on ferme le fichier
        End Sub

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    merci la c beaucoup plus clair

  5. #5
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par khayate
    merci la c beaucoup plus clair
    Je sais le code est toujours plus explicite que le francais

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    c plus clair c sur mais le probleme c kan je mets ce code:
    "Le processus ne peut pas accéder au fichier 'c:\fgh', car il est en cours d'utilisation par un autre processus." en sachant ke le 'c:\fgh' est le chemin ke je lui indique pour mettre mes données dans un nouveau fichier ascII
    je mets mon code comeme:
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Dim a As Integer
            'Dim element As New DataTable
            Dim entetePrets As String = readParamSql("enteteprets")
            Dim entete() As String
            entete = Split(entetePrets, ";")
            '**recuperation des données du dataset
            Dim fs As New System.IO.FileStream(Me.TextBoxFichier3D.Text, IO.FileMode.Create, IO.FileAccess.Write)
            Dim sw As New System.IO.StreamWriter(fs)
            'Dim FluxR As New IO.FileStream(Me.TextBoxFichier3D.Text, IO.FileMode.Open) 'ouvre un fichier qui existe deja
            'Dim Resultat(1024) As Byte
            'FluxR.Read(Resultat, 0, Resultat.Length) 'lis 1024 octets
            'FluxR.Close() 'ferme le fichier
     
            ''valable que pour les fichiers texte !
            'Dim Flux As New IO.StreamReader(Me.TextBoxFichier3D.Text, False)
            'While Flux.Peek <> -1 'tans qu'on peut lire
            '    Dim resultat1 As String = Flux.ReadLine 'lis une seule ligne ou alors
            '    Dim Resultat2 As String = Flux.ReadToEnd 'lis tout d'un coup
            'End While
            'Flux.Close()
            For a = 0 To dsRequete.Tables(0).Rows.Count - 1
                'MsgBox(dsRequete.Tables("COTE.PRETS").Rows(a).Item("PR_CLIENT"))
     
                For i As Integer = 0 To entete.LongLength - 1 'element.Rows.Count - 1
                    sw.Write(dsRequete.Tables("TOTO").Rows(a).Item(entete(i))) '.Item("PR_CLIENT"))
                Next
            Next
            MsgBox("ok")
    ce qui est en commentaire c'est ce ke j'ai pris du forum.

  7. #7
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Ou est l'extension dans le nom de ton fichier ??

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    bain en faite,kan je compile mon code sans le code ke je prends dans le forum,il ya un fichier ascII ki se cree et ki reprend les données du dataset qui sont dans ce cas, la colonne d'une table.le probleme mnt c ke kan il reprend cette colonne il met une ligne a cote de lautre .en sachant ke c'est des chiffres avec plus de 144000 lignes je vvous laissse un peu deviner le genre de fichier ki sort.ya des chiffres partout .donc pour resumer ce ke je voudrais c ke kan il reprend la premiere ligne ,il passe a la ligne et reprend la deusieme ligne.voila j'espere ke j'ai ete clair et ke vous pourrez m'aider.

  9. #9
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par khayate
    bain en faite,kan je compile mon code sans le code ke je prends dans le forum,il ya un fichier ascII ki se cree et ki reprend les données du dataset qui sont dans ce cas, la colonne d'une table.le probleme mnt c ke kan il reprend cette colonne il met une ligne a cote de lautre .en sachant ke c'est des chiffres avec plus de 144000 lignes je vvous laissse un peu deviner le genre de fichier ki sort.ya des chiffres partout .donc pour resumer ce ke je voudrais c ke kan il reprend la premiere ligne ,il passe a la ligne et reprend la deusieme ligne.voila j'espere ke j'ai ete clair et ke vous pourrez m'aider.
    Fais un effort de francais car j'ai pas compris... et l'extension de ton fichier a disparu !

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    je pensais avoir ete assez clair.ce ke je cherche a faire c'est afficher la premiere ligne de la colonne ,passer a la ligne, afficher la deusieme ligne, ainsi de suite...
    alors kavec mon code,il me met une ligne a cote d lautre par exemple soit une colonne PRETS

    PRET
    00000123
    00000456

    ce ki sort dans mon fichier ascII c'est:
    0000012300000456
    alors ke moi je veux avoir
    00000123
    00000456

    je crois ke mnt je suis vraiment clair.

  11. #11
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    au lieu de demander du code pour faire un copier coller, adapte le
    pour ce que tu veux il faut juste ajouter le caractère de retour de ligne après chaque ajout de valeur !
    ce caractère est VbCrLf

  12. #12
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    mais je ne sais pa si ta bien vu mon code:je sais ke pour revenir a la ligne on met "vbCrLf" mais dans mon code je le mets ou??
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
      Dim oradb As String = "Data Source=(DESCRIPTION=(ADDRESS_LIST=" _
                         + "(ADDRESS=(PROTOCOL=TCP)(HOST= SM65CVDF)(PORT=1521)))" _
                         + "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=OSMOSE)));" _
                         + "User Id=OSMOSE;Password=OSMOSE;"
     
     
     
     
            Dim conn As New OracleConnection(oradb)
            Dim cmd As New OracleCommand
            cmd.Connection = conn
            cmd.CommandText = "SELECT PR_CLIENT FROM COTE.PRETS"
            cmd.CommandType = CommandType.Text
            'Dim LaRequete As String
            Dim sdaRequetes As New OracleDataAdapter
            sdaRequetes.SelectCommand = cmd
            Dim dsRequete As New DataSet
     
            Try
                conn.Open()
                sdaRequetes.Fill(dsRequete, "TOTO")
                conn.Dispose()
            Catch ex As OracleException
     
            End Try
            Dim a As Integer
            'Dim element As New DataTable
            Dim entetePrets As String = readParamSql("enteteprets")
            Dim entete() As String
            entete = Split(entetePrets, ";")
            '**recuperation des données du dataset
            Dim fs As New System.IO.FileStream(Me.TextBoxFichier3D.Text, IO.FileMode.Create, IO.FileAccess.Write)
            Dim sw As New System.IO.StreamWriter(fs)
     
            For a = 0 To dsRequete.Tables(0).Rows.Count - 1
                'MsgBox(dsRequete.Tables("COTE.PRETS").Rows(a).Item("PR_CLIENT"))
     
                For i As Integer = 0 To entete.LongLength - 1 'element.Rows.Count - 1
                    sw.Write(dsRequete.Tables("TOTO").Rows(a).Item(entete(i))) '.Item("PR_CLIENT"))
     
                Next
            Next
            MsgBox("ok")
    et je ne cherchais pas a faire du copier coller.

  13. #13
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    je n'ai pas lu le code mais à vu de nez c'est ici : sw.Write(dsRequete.Tables("TOTO").Rows(a).Item(entete(i)))
    que tu ecris dans le fichier
    alors tu rajoutes & vbcrlf

  14. #14
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    c cool ca marche nikel.merci beaucoup

  15. #15
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par khayate
    je pensais avoir ete assez clair.ce ke je cherche a faire c'est afficher la premiere ligne de la colonne ,passer a la ligne, afficher la deusieme ligne, ainsi de suite...
    alors kavec mon code,il me met une ligne a cote d lautre par exemple soit une colonne PRETS

    PRET
    00000123
    00000456

    ce ki sort dans mon fichier ascII c'est:
    0000012300000456
    alors ke moi je veux avoir
    00000123
    00000456

    je crois ke mnt je suis vraiment clair.
    Normal il faut ajouter un saut de ligne après l'insertion : Utilise "VbCrLf"

  16. #16
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par sperot51
    au lieu de demander du code pour faire un copier coller, adapte le
    pour ce que tu veux il faut juste ajouter le caractère de retour de ligne après chaque ajout de valeur !
    ce caractère est VbCrLf
    Oups ^^ la réponse été deja donnée

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 11/05/2009, 20h29
  2. [ Problème d'affichage de données ligne par ligne ]
    Par Arkoze dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 05/06/2007, 09h45
  3. [debutant]lecture fichier ligne par ligne
    Par Battosaiii dans le forum C
    Réponses: 2
    Dernier message: 13/11/2005, 19h02
  4. lire un fichier ligne par ligne
    Par peuf23 dans le forum C
    Réponses: 6
    Dernier message: 21/09/2005, 10h43

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