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

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    mai 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : mai 2005
    Messages : 10
    Points : 7
    Points
    7
    Par défaut [VB.Net] Comment lire une url depuis un fichier .ini ?
    Bonjour à tous,

    Ceci est mon premier message sur ce forum, merci à vous.

    Bien que les .ini ne soient plus employés dans le .NET, je souhaites toutefois encore employer cette méthode.
    Mon problème est le suivant :

    Comme indiqué sur le tutorial (http://plasserre.developpez.com/v4-18.htm), j'écris et lis des données enregistrées dans mon fichier INI.
    Les variables numériques passent sans soucis, toutefois, j'ai enregistré une variable correspondant à une adresse d'un fichier sonore.
    Celle-ci est donc bien ajouté dan le .ini :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MMJ1=C:\Documents and Settings\Alex\Mes documents\Ma musique\
    2 Many Dj's - Dreadlock woman.mp3
    A la lecture, j'enregistre cette variable dans un string.
    Ensuite ajoutée dans un tableau (Appelé ici TT)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    'Comme indiqué dans le tutorial
    istat = Get_Private_Profile_String(cRubrique, "MMJ1"i, "", c_MMJ, cIniFile)
    c_MMJ = Trim(c_MMJ)
    TT.Add(c_MMJ)
    La donnée du tableau est restockée dans un autre string nommé url().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    'CODE SIMPLIFE,
    ' le j faisant partie d'un For...
    ' Cette partie du code est fonctionnelle car,
    ' employée également hors de cet contexte
    url(j) = TT.Item(j)
    Toutefois, par la suite je demande la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Path.GetFileNameWithoutExtension(url(j))
    de ce string, et là le message d'erreur
    "Illegal Characters in Path"
    m'est retourné.
    J'ai essayé les .Tostring, les .Replace, mais rien n'y fait.

    Si la variable est donnée par une autre méthode, celle de l'openfileDialog par exemple, tout se passe à merveille.

    J'ai pensé à l'encodage du fichier texte, mais sans succès.

    Je fais donc appel à vos services,
    Bien à vous,
    Alex.

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 6 270
    Points : 8 400
    Points
    8 400
    Par défaut
    En debuggant, il contient quoi ton tableau ? ( essai de mettre la valeur dans une variable, tu y auras plus facilement accès dans le debuggueur )

  3. #3
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : Suisse

    Informations forums :
    Inscription : mai 2005
    Messages : 3 627
    Points : 7 733
    Points
    7 733
    Par défaut
    Effectivement nous avons besoin de voir cette valeur url(j) pour te confirmer ce qui cloche
    De plus quel est le type de TT, çà ressemble plus à un arraylist qu'à un tableau apparemment
    TT.Add(...
    et si url est une string alors url(quelquechose) est donc un char non ??? au final je me demande si déjà tu es bien en train de réaliser ce que tu souhaites
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    mai 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : mai 2005
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Re,

    En effet je n'ai pas été très précis.

    Il ne s'agit pas d'un tableau mais bien d'une collection.

    La variable URL(j) [Ici j=1 to 4]contient en temps normal une adresse d'un fichier audio.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Exemple : C:\Documents and Settings\Alex\Mes documents\Ma musique\
    2 Many Dj's - Dreadlock woman.mp3
    Si je débugge, le TT.Item(j) et URL(j) contiennent tous les deux -si je les passe pour voir en msgBox - la valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    C:\Documents and Settings\Alex\Mes documents\Ma musique\
    2 Many Dj's - Dreadlock woman.mp3
    comme demandé.

    C'est pour cela qu'en apparence tout semble bon, mais une fois le lancement de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Path.GetFileNameWithoutExtension(url(j))
    , Invalid Characters arrive.

    Je rappelle que si je renseigne la collection ou la variable URL depuis un OpenFileDialog, tout se passe à merveille. Le bug ne s'applique que depuis la lecture du .ini

    Merci,
    Alex.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    mai 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : mai 2005
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Je me permets de rajouter : Ne serait-ce pas un simple problème de type d'encodage du fichier texte ?

    Alex.

  6. #6
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 6 270
    Points : 8 400
    Points
    8 400
    Par défaut
    ben éssai l'encodage ANSI, normallement c'est celui là qui est utilisé par les Api Windows pour les fichiers *.ini.
    Sinon quand je fait ( C# )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    MessageBox.Show(Path.GetFileNameWithoutExtension
    (@"C:\Documents and Settings\Alex\Mes documents\Ma musique\2 Many
     Dj's - Dreadlock woman.mp3"));
    Tout est nikel donc l'érreur doit venir de quelque part d'autre.
    Peut être un caractère #13 qui s'est glissé ( dans ta citation ) ...
    A part ça, vérifie la valeur de la liste à chaque étape avec le Pas à pas détaillé

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    mai 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : mai 2005
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Mes amis, je viens de retomber !
    Après plus de trois heures de rercherche, la solution est tombée. La fonction lecture du tutorial présentait une option cachée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    
    'Enlever le dernier caractère?
    If Len(cKeyValue) <> 0 Then
    cKeyValue = Mid$(cKeyValue, 1, Len(cKeyValue) - 1)
    End If
    
    Une fois activée, le problème est parti. Le mircale de l'informatique.

    Merci pour tout.
    Alex.

  8. #8
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : Suisse

    Informations forums :
    Inscription : mai 2005
    Messages : 3 627
    Points : 7 733
    Points
    7 733
    Par défaut
    Citation Envoyé par lewebdalex
    Mes amis, je viens de retomber !
    Après plus de trois heures de rercherche, la solution est tombée. La fonction lecture du tutorial présentait une option cachée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    
    'Enlever le dernier caractère?
    If Len(cKeyValue) <> 0 Then
    cKeyValue = Mid$(cKeyValue, 1, Len(cKeyValue) - 1)
    End If
    
    Une fois activée, le problème est parti. Le mircale de l'informatique.

    Merci pour tout.
    Alex.
    Faudrait peut-être qui se mette à faire du VB.Net notrre ami Plasserre
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/06/2012, 19h56
  2. [MediaWiki] Lire une vidéo depuis un fichier stocké en interne
    Par mayok dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 15/09/2011, 05h56
  3. Réponses: 2
    Dernier message: 23/06/2008, 11h46
  4. Comment lire une chaîne dans un fichier binaire?
    Par dot-_-net dans le forum Débuter
    Réponses: 9
    Dernier message: 18/05/2008, 23h13
  5. Réponses: 1
    Dernier message: 09/03/2006, 17h55

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