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# CF1.1]Probleme de lecture dans un fichier texte


Sujet :

Windows Mobile .NET

  1. #1
    Membre du Club
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    75
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 75
    Points : 49
    Points
    49
    Par défaut [C# CF1.1]Probleme de lecture dans un fichier texte
    Bonjour à tous

    Pour mon projet de BTS je doit me connecter avec un PDA Casio en Win CE 4.10 et CF 1.1(il ne suporte pas au dessus) à un Serveur sur un pc distant

    Pour récuperer l'adresse IP du serveur je l'ai mise dans un fichier texte (pour ne pas avoir à recompiler à chaque fois que change l'ip) malheureusement
    le PDA n'arrive pas a lire dedans .

    Quelqu'un aurai t'il une idée pour me sortir de cette galére ?

    Ps:Jai tester sur un client sur mon PC en Framework 2.0 ca marche

    merci d'avance

  2. #2
    Membre habitué Avatar de joefou
    Profil pro
    Inscrit en
    Février 2005
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 248
    Points : 177
    Points
    177
    Par défaut
    Salut Papa_Guik,

    Pour ma part en CF 1.1, en VB.NET, je fais ce genre de chose:

    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
     
     
        Public Function ChargerInformations() As Boolean
            Dim Resultat As Boolean = False
            Dim FichierIni As StreamReader
            Dim Ligne As String             'Ligne lue
            Dim Parametre As String
            Dim Valeur As String
            Dim NbrValeurs As Integer = 0   'Nombre de parametres renseignés
            Try
                m_CheminIni = Path.GetDirectoryName([Assembly].GetExecutingAssembly().GetModules(0).FullyQualifiedName) & "\" & m_NomFichierIni
                If File.Exists(m_CheminIni) Then
                    m_ValeursParametres = New Collection
                    FichierIni = New StreamReader(m_CheminIni)
                    'Lire toutes les lignes du fichier
                    While FichierIni.Peek() <> -1
                        Ligne = FichierIni.ReadLine()
                        If Not Ligne.LastIndexOf("=") = -1 Then
                            Parametre = Ligne.Substring(0, Ligne.IndexOf("=")).Trim()
                            Valeur = Ligne.Substring(Ligne.IndexOf("=") + 1).Trim()
                            ....
                        End If
                    End While
     
                    ...
                Else
                    ...
                End If
            Catch iex As IOException
                ....
            Catch ex As Exception
                ....
            Finally
                ....
            End Try
            Return Resultat
        End Function
    Je part du principe que mon fichier à lire se trouve au même niveau que mon exe.

    Sinon quel code emplois-tu ?

  3. #3
    Membre du Club
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    75
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 75
    Points : 49
    Points
    49
    Par défaut
    moi aussi je part du principe que mon fichier est au meme niveau que mon .exe

    voila se que j'utilise

    public void lectureTexte(string nomFichier)
    {
    StreamReader lecture = null;

    try
    {
    if (File.Exists(nomFichier))
    {
    lecture = new StreamReader(nomFichier);

    ip = lecture.ReadLine();
    port = lecture.ReadLine();

    lecture.Close();
    }
    else
    MessageBox.Show("Fichier de configuration introuvable");
    }
    catch (ArgumentNullException e)
    {
    MessageBox.Show(e.ToString());
    }
    }

  4. #4
    Membre habitué Avatar de joefou
    Profil pro
    Inscrit en
    Février 2005
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 248
    Points : 177
    Points
    177
    Par défaut
    La syntaxe me parait correcte...

    As tu pu identifier la ligne précise qui te pose problème via le debugger ?
    Le ReadLine() provoque t il une erreur, ou tout simplement ne lit il pas, etc...

    Pour être certain que tu prennes le bon fichier, essaye ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    lecture = new StreamReader(Path.GetDirectoryName([Assembly].GetExecutingAssembly().GetModules(0).FullyQualifiedName) + "\" + nomFichier);
    ... si c'est comme cela qu'on écrit en C#, je ne suis pas habitué à la syntaxe de concaténation de chaines

  5. #5
    Membre du Club
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    75
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 75
    Points : 49
    Points
    49
    Par défaut
    c'est au moment ou le code test si le fichier existe que cela plante
    alors que ca marche trés bien quand je compile en framework 2.0 pour mettre sur mon pc

    Ps: a quoi correspond le : [Assembly] ?

  6. #6
    Membre habitué Avatar de joefou
    Profil pro
    Inscrit en
    Février 2005
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 248
    Points : 177
    Points
    177
    Par défaut
    Et que te dis l'erreur remontée ? ça fait la même chose avec et sans la modif suggérée précédemment ?

    Assembly entre crochets signifie "la classe Assembly". Ici on précise qu'on utilise la méthode GetExecutingAssembly (qui est Shared et donc utilisable sans instance de la classe) de cette classe. C'est une syntaxe facultative à ma connaissance, on peut très bien écrire le nom de la classe directement, la notation entre crochets permet de faire néanmoins la différence entre un nom de variable et un nom de classe.

  7. #7
    Membre du Club
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    75
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 75
    Points : 49
    Points
    49
    Par défaut
    Désoler pour le retard j'était pas chez moi durant le weekend

    je vien de tester ce que tu ma donné mais ca me fait une ArgumentException exactement comme si je ne l'avai pas fait deplus et il sort lors du test File.Exists(nomFichier)

    j'espere etre clair

  8. #8
    Membre habitué Avatar de joefou
    Profil pro
    Inscrit en
    Février 2005
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 248
    Points : 177
    Points
    177
    Par défaut
    J'ai pas fait trop attention au début, mais il semble que tu utilise VS.NET avec le CF 2.0 pour faire des tests, est-ce la même chose que tu utilises pour développer l'appli ? et ensuite installes-tu le CF 1.1 à part sur le pocket ?

  9. #9
    Membre du Club
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    75
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 75
    Points : 49
    Points
    49
    Par défaut
    en fait j'utilise le CF1.1 car le pocket ne suporte pas au dessus

    pour le reste je suis toujours en galere mais ca avance doucement

  10. #10
    Membre du Club
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    75
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 75
    Points : 49
    Points
    49
    Par défaut
    C'est bon jai reussi a me depetré de mon probleme mais je suis désoler je ne sais pas trop se que c'était qui bloquait

    merci a toi joefou de m'avoir aider pendant tout ce temps

  11. #11
    Membre habitué Avatar de joefou
    Profil pro
    Inscrit en
    Février 2005
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 248
    Points : 177
    Points
    177
    Par défaut
    No problemo !

    J'espère que ton problème ne réapparaitra plus !

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

Discussions similaires

  1. Probleme de lecture dans un fichier .
    Par lahlaly dans le forum C
    Réponses: 5
    Dernier message: 14/03/2013, 16h19
  2. probleme windows form, lecture dans un fichier texte
    Par fbarbin dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/09/2008, 14h06
  3. probleme de lecture dans des fichiers
    Par xanatos dans le forum VB.NET
    Réponses: 1
    Dernier message: 21/03/2008, 15h19
  4. Probleme de lecture dans un fichier
    Par Bebert71 dans le forum C
    Réponses: 7
    Dernier message: 15/01/2007, 19h28
  5. probleme d'ecriture dans un fichier texte
    Par azrael88370 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/01/2005, 17h33

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