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 Mobile .NET Discussion :

[C#1.1] Comment connaitre un numéro de ligne de fichier et y retourner ?


Sujet :

Windows Mobile .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 36
    Par défaut [C#1.1] Comment connaitre un numéro de ligne de fichier et y retourner ?
    Voila je vais lire un texte ligne par ligne j'ais créé une variable qui compte les ligne et qui s'incrémente donc a chaque ligne.

    Mais existe-t-il une class qui me permettrai de connaitre directement dans quel ligne je me trouve.

    Par la suite si je veux revenir a cette ligne comment faire?

    Merci de votre aide je sais que je vous demande beaucoup en se moment mais je début en C# cela fais 1 semaine que j'ais commencé.

    EDIT=voir commentaire plus détailler # 14

  2. #2
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    En fait ce n'est pas le numéro de ligne vraiment que tu dois mémoriser mais la position dans le fichier. Celà est possible grâce au flux Stream sous-jascent de ton StreamReader, car il possède un accesseur get/set .Position. Ce qui te permettra d'une part de récupérer la position à laquelle tu te trouves dans le fichier mais également de te repositionner dessus également

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 36
    Par défaut
    Je vais faire des recherche dessus.

    Comme d'habitude il n'est pas disponible a priori pour CF 1.1.

  4. #4
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par foolsky
    Comme d'habitude il n'est pas disponible a priori pour CF 1.1.
    je suis sûr que tu as tort sur ce coup, il n'y a aucune raison légitime à celà
    De plus après verif sur MSDN
    Position Pris en charge par le .NET Compact Framework.
    En cas de substitution dans une classe dérivée, obtient la position actuelle dans le flux.
    Par contre effectivement ce n'est qu'un accesseur get.

    Ensuite donc pour initialiser une position tu dois utiliser la méthode Méthode Stream.Seek

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 36
    Par défaut
    Moi il n'est pas dispo c'est peut etre pour le 2.0?

    Quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    StreamReader sr = new StreamReader(filename);
    txt.Text="";
    line = sr.ReadLine();
    // Va lire ligne par ligne et met a la ligne a chaque fois.
    while (line != null)
    {
    j=sr.Position;}
    Pour VS .Net la classe n'existe pas.

    Je viens peut etre de comprendre la citiation que tu fait viens de la class Stream et non StreamReader donc je sais pas comment faire.

    Mon tuteru viens de me dire que se serais peut etre possible de crere une liste de ligne pour pourvoir se balader dedand ma la il m'aide encore moi je préfèrais votre solution.

  6. #6
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par foolsky
    Moi il n'est pas dispo c'ais peut etre pour le 2.0?

    Quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    StreamReader sr = new StreamReader(filename);
    txt.Text="";
    line = sr.ReadLine();
    // Va lire ligne par ligne et met a la ligne a chaque fois.
    while (line != null)
    { j=sr.Position;}
    Pour VS .Net la classe n'existe pas.
    arf tu n'as pas fait attention à ce que je t'ai dit camarade, je t'ai parlé du Stream sous-jascent
    Donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     j = sr.BaseStream.Position;

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

Discussions similaires

  1. [C#] Comment connaitre la taille d'un fichier.
    Par PascalCmoa dans le forum Windows Forms
    Réponses: 6
    Dernier message: 09/02/2018, 08h54
  2. Comment connaitre l'appelant d'une méthode
    Par Alec6 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 12/07/2004, 14h51
  3. Réponses: 1
    Dernier message: 12/05/2004, 19h02
  4. comment connaitre le nombre ...
    Par mythtvtalk.com dans le forum Requêtes
    Réponses: 9
    Dernier message: 04/08/2003, 08h18

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