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 :

Rajout de caractère à la fin d'une chaine


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut Rajout de caractère à la fin d'une chaine
    Bonjour,

    voilà j'ai un problème assez bizarre en fait, il se trouve qu'à un moment de mon programme j'initialise un string contenant le chemin d'accès à un fichier qui est censé être télécharger sur l'ordinateur par le biais de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    My.Computer.Network.DownloadFile(Url, Chemin)
    La variable Chemin contient donc quelque chose du style "C:\Windows\" + NomFichier + ".txt" par exemple

    Le problème est que dès son initilaisation il se rajoute automatiquement à la fin de "Chemin" des caractères spéciaux étranges, qui varient au cours du temps. En effet, en mettant en pause le programme après l'initialisation de Chemin et en regardant sa valeur je me suis rendu compte que ces caractères spéciaux apparaissaient à la fin de la chaine, et que si je bougeais la souris et que je la repassée sur Chemin pour en lire la valeur les caractères à la fin avaient changés.

    Ces trois screens ont été prit lors de la même exécution du programme à quelques secondes d'intervalle :



    Si quelqu'un connait ce problème ou connait une solution, je suis preneur.

    Merci d'avance.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    Alors personne ne sait pourquoi il me rajoute tout seul tout ces caractères ?
    C'est lorsque je rempli un tableau qu'il me rajoute ces trucs à la fin de certaine cases seulement, pas partout O_o
    j'ai même l'impression qu'il met des trucs chinois des fois !

  3. #3
    Membre éclairé
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Points : 719
    Points
    719
    Par défaut
    je pense que c'est un problème d'encodage de caractères !

    c'est quoi le chemin réel en fait ? (linkin park - number ???)

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    non en fait la chanson s'appelle "numb" c'est pour ca ca n'a pas de rapport avec number

    Je me suis rendu compte que ca le faisait quand par exemple j'ai une chaine avec une cinquantaine d'url séparée par un "*"

    Et beh si je fait par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim Urls as string
    Dim UrlSeparees as string()
     
    UrlSeparees = new String(100)
     
    UrlSeparees = Split(Urls, "*")
    Ben la il va donc me créer un tableau a une dimension dont les cases contiendront chacune une url, et dans certaines cases a la fin il me rajoute des trucs bizarres genre ce que j'ai mit plus haut.
    Ca le fait dans d'autres cas aussi, par exemple a un moment je recherche une url dans le code HTML d'une page web, et j'utilise un mid pour récupérer l'url dans une variable "string", et ca me le fait aussi il rajoute des trucs a la fin de l'url.

    J'ai pensé à un problème de mémoire parce que comme c'est des caractères bizarres et que ca change en fonction du temps. Mais je vois pas ce que j'ai fait de mal donc c'est bizarre...

    En tout cas merci d'essayer de m'aider

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    Bon voilà donc en fait j'ai découvert que ca le faisait des que la chaine est supérieure à 67 caractères. A 67 ca le fait pas et à partir de 68 ca me rajoute ces trucs la...

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    ya pas une limite de caractère pour les "string" ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 109
    Points : 81
    Points
    81
    Par défaut
    Y'a probablement une limite pour le type String, mais cette limite doit être immense (genre 50000 et +), je crois donc que le problème ne vient pas du fait de la longueur de la chaine.

    On pourrait voir comment tu initialises la variable "CheminDef" ?

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    Ben en fait à partir du moment ou une variable dépasse 66 caractère ca fait ca

    En gros si je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim toto As String
    toto = "azertyuiopqsdfghjkm....."
    ben si je mais 67 caractères ou plus dans toto ca fait ce qu'on voit sur les screens du premier post. Et pareil pour les cases d'un tableau.

    Ca vient peut-être de l'IDE j'utilise SharpDevelop peut-être que je l'ai mal configuré ou un truc comme ca...

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 109
    Points : 81
    Points
    81
    Par défaut
    Salut,

    Voici un extrait tiré de l'aide en ligne de microsoft sur les string :

    Holds sequences of unsigned 16-bit (2-byte) code points ranging in value from 0 through 65535. Each code point, or character code, represents a single Unicode character. A string can contain from 0 to approximately 2 billion (2 ^ 31) Unicode characters.

    The first 128 code points (0–127) of Unicode correspond to the letters and symbols on a standard U.S. keyboard. These first 128 code points are the same as those the ASCII character set defines. The second 128 code points (128–255) represent special characters, such as Latin-based alphabet letters, accents, currency symbols, and fractions. Unicode uses the remaining code points (256-65535) for a wide variety of symbols, including worldwide textual characters, diacritics, and mathematical and technical symbols.

    (Désolé si c'est en anglais, je n'ai pu trouver l'équivalent français ...)

    Donc, pour l'instant, j'écarterais la possibilité que le problème vienne du fait que le string est trop long.

    Personnellement, j'utilise visual studio 2005 alors je ne sais pas si c'est un problème d'ide, mais ça me surprendais que ce soit le cas.

    Enfin, peut-être est-ce le débogueur qui interprête mal. As-tu esseyer d'écrire une longue chaîne de caractère dans un fichier ou de l'afficher à l'écran avec un messagebox ?

    a+

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    Oui et quand je l'enregistre dans un fichier ou que je l'affiche avec un messagebox j'ai pas les caractères.
    J'ai créer un bouton et mit ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim toto As String = ""
    		dim longueur as integer
    		toto = "gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhh"
    		longueur = toto.Length
    		MessageBox.Show(toto)
    et ben quand je met en "pause" juste après toto=...
    et que je regarde toto ya les caractères. Pourtant quand il m'affiche la boite de dialogue messagebox ya juste "ggggggghhh..." mais pas de caractères...

    En attendant de trouver une solution je fais autrement mais ca complique vachement mon code. Je vais peut-être télécharger la version gratuite de visual studio 2005 pour voir on sait jamais...

    EDIT : apparamment ca à l'air de marcher avec visual basic 2005 express
    j'espère que ca va durer ^^

    Merci en tout cas pour ton aide

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

Discussions similaires

  1. [XL-2003] Placer automatiquement un caractère à la fin d'une chaine de caractère
    Par pomdeterfrite dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/11/2010, 11h00
  2. Retier deux caractères de fin d'une chaine
    Par ouinih dans le forum SQL
    Réponses: 1
    Dernier message: 01/10/2010, 11h57
  3. Réponses: 5
    Dernier message: 02/12/2009, 00h27
  4. [Toutes versions] Ajouter une chaine de caractère à la fin d'une autre chaine
    Par esstin dans le forum Excel
    Réponses: 2
    Dernier message: 02/05/2009, 15h54
  5. Enlever la fin d'une chaine de caractères
    Par snyfir dans le forum Langage
    Réponses: 4
    Dernier message: 07/08/2008, 17h41

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