Bug 2003 & 2005 "la class String" ? dans la creation d'une class ?
8 réponses
TroXsA - [VB.NET-2005]
Bonjour a tous
ce message s'adresse particulièrement aux MVPs et MS (enfin je pense)
J'ai rencontré souvent le même problème dans la création d'une class
La class en question ce trouve sur ce site :
http://www.codeproject.com/vb/net/mp3id3v1.asp
Les problèmes ce trouve sur toutes les déclarations suivantes :
Dim strTag As New String(" ", 3)
Dim strTitle As New String(" ", 30)
Dim strArtist As New String(" ", 30)
Dim strAlbum As New String(" ", 30)
Dim strYear As New String(" ", 4)
Dim strComment As New String(" ", 28)
et voila les phénomènes anormales
http://planetenova.free.fr/1.jpg
http://planetenova.free.fr/2.jpg
Dans l'image 1 on vois tres bien qu'il y a aucun probleme et a
la validation de la ligne il manque le " a la fin de la chaine string (voir
image 2)
et ça pause un vrais probleme si on souhaite utiliser la valeurs directement
ex : File.Move("1.mp3", MP3ID3v1.FrameTypes.Artist)
je suis obligé de passer par un controle "string" pour reformater la chaine,
ce
que je veux dire par la, c'est que je passe par un textBox.text pour
recuperer la valeur
ex : TextBox1.text = MP3ID3v1.FrameTypes.Artist
File.Move("1.mp3", TextBox1.text)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
TroXsA - [VB.NET-2005]
Petite précision l'erreur est : Caractères non conformes dans le chemin d'accès.
"TroXsA - [VB.NET-2005]" a écrit dans le message de news: 4327500f$0$12688$
Bonjour a tous
ce message s'adresse particulièrement aux MVPs et MS (enfin je pense)
J'ai rencontré souvent le même problème dans la création d'une class La class en question ce trouve sur ce site : http://www.codeproject.com/vb/net/mp3id3v1.asp
Les problèmes ce trouve sur toutes les déclarations suivantes :
Dim strTag As New String(" ", 3) Dim strTitle As New String(" ", 30) Dim strArtist As New String(" ", 30) Dim strAlbum As New String(" ", 30) Dim strYear As New String(" ", 4) Dim strComment As New String(" ", 28)
et voila les phénomènes anormales http://planetenova.free.fr/1.jpg http://planetenova.free.fr/2.jpg
Dans l'image 1 on vois tres bien qu'il y a aucun probleme et a la validation de la ligne il manque le " a la fin de la chaine string (voir image 2) et ça pause un vrais probleme si on souhaite utiliser la valeurs directement ex : File.Move("1.mp3", MP3ID3v1.FrameTypes.Artist)
je suis obligé de passer par un controle "string" pour reformater la chaine, ce que je veux dire par la, c'est que je passe par un textBox.text pour recuperer la valeur ex : TextBox1.text = MP3ID3v1.FrameTypes.Artist File.Move("1.mp3", TextBox1.text)
Petite précision l'erreur est : Caractères non conformes dans le chemin
d'accès.
"TroXsA - [VB.NET-2005]" <pouet@h.com> a écrit dans le message de news:
4327500f$0$12688$626a54ce@news.free.fr...
Bonjour a tous
ce message s'adresse particulièrement aux MVPs et MS (enfin je pense)
J'ai rencontré souvent le même problème dans la création d'une class
La class en question ce trouve sur ce site :
http://www.codeproject.com/vb/net/mp3id3v1.asp
Les problèmes ce trouve sur toutes les déclarations suivantes :
Dim strTag As New String(" ", 3)
Dim strTitle As New String(" ", 30)
Dim strArtist As New String(" ", 30)
Dim strAlbum As New String(" ", 30)
Dim strYear As New String(" ", 4)
Dim strComment As New String(" ", 28)
et voila les phénomènes anormales
http://planetenova.free.fr/1.jpg
http://planetenova.free.fr/2.jpg
Dans l'image 1 on vois tres bien qu'il y a aucun probleme et a
la validation de la ligne il manque le " a la fin de la chaine string
(voir image 2)
et ça pause un vrais probleme si on souhaite utiliser la valeurs
directement
ex : File.Move("1.mp3", MP3ID3v1.FrameTypes.Artist)
je suis obligé de passer par un controle "string" pour reformater la
chaine, ce
que je veux dire par la, c'est que je passe par un textBox.text pour
recuperer la valeur
ex : TextBox1.text = MP3ID3v1.FrameTypes.Artist
File.Move("1.mp3", TextBox1.text)
Petite précision l'erreur est : Caractères non conformes dans le chemin d'accès.
"TroXsA - [VB.NET-2005]" a écrit dans le message de news: 4327500f$0$12688$
Bonjour a tous
ce message s'adresse particulièrement aux MVPs et MS (enfin je pense)
J'ai rencontré souvent le même problème dans la création d'une class La class en question ce trouve sur ce site : http://www.codeproject.com/vb/net/mp3id3v1.asp
Les problèmes ce trouve sur toutes les déclarations suivantes :
Dim strTag As New String(" ", 3) Dim strTitle As New String(" ", 30) Dim strArtist As New String(" ", 30) Dim strAlbum As New String(" ", 30) Dim strYear As New String(" ", 4) Dim strComment As New String(" ", 28)
et voila les phénomènes anormales http://planetenova.free.fr/1.jpg http://planetenova.free.fr/2.jpg
Dans l'image 1 on vois tres bien qu'il y a aucun probleme et a la validation de la ligne il manque le " a la fin de la chaine string (voir image 2) et ça pause un vrais probleme si on souhaite utiliser la valeurs directement ex : File.Move("1.mp3", MP3ID3v1.FrameTypes.Artist)
je suis obligé de passer par un controle "string" pour reformater la chaine, ce que je veux dire par la, c'est que je passe par un textBox.text pour recuperer la valeur ex : TextBox1.text = MP3ID3v1.FrameTypes.Artist File.Move("1.mp3", TextBox1.text)
Fabien Bezagu
TroXsA,
Je ne suis ni MVP, ni MS mais je vais essayer de faire avancer le schmilblick.
Ce que je constate, c'est que la méthode FileGet remplit la chaîne de longueur fixe avec des caractères Nothing. Pourquoi ? Car c'est une méthode d'un autre temps écrite pour les développeurs d'un autre temps :-) Il est largement préférable d'utiliser les méthodes des classes .NET (par exemple FileStream) qui savent bien manipuler les classes .NET.
Le problème dans l'utilisation de ta string avec des caractères null, c'est que ce n'est pas la façon dont les méthodes des classes .NET ont l'habitude de travailler. Une astuce que j'ai trouvée est de passer par la méthode Trim.
Mais avant tout, je te conseille vivement de réécrire les méthodes d'accés aux fichiers de cette classe dite .NET mais écrite en VB6...
Fabien
"TroXsA - [VB.NET-2005]" a écrit dans le message de news: 4327500f$0$12688$
Bonjour a tous
ce message s'adresse particulièrement aux MVPs et MS (enfin je pense)
J'ai rencontré souvent le même problème dans la création d'une class La class en question ce trouve sur ce site : http://www.codeproject.com/vb/net/mp3id3v1.asp
Les problèmes ce trouve sur toutes les déclarations suivantes :
Dim strTag As New String(" ", 3) Dim strTitle As New String(" ", 30) Dim strArtist As New String(" ", 30) Dim strAlbum As New String(" ", 30) Dim strYear As New String(" ", 4) Dim strComment As New String(" ", 28)
et voila les phénomènes anormales http://planetenova.free.fr/1.jpg http://planetenova.free.fr/2.jpg
Dans l'image 1 on vois tres bien qu'il y a aucun probleme et a la validation de la ligne il manque le " a la fin de la chaine string (voir image 2) et ça pause un vrais probleme si on souhaite utiliser la valeurs directement ex : File.Move("1.mp3", MP3ID3v1.FrameTypes.Artist)
je suis obligé de passer par un controle "string" pour reformater la chaine, ce que je veux dire par la, c'est que je passe par un textBox.text pour recuperer la valeur ex : TextBox1.text = MP3ID3v1.FrameTypes.Artist File.Move("1.mp3", TextBox1.text)
TroXsA,
Je ne suis ni MVP, ni MS mais je vais essayer de faire avancer le
schmilblick.
Ce que je constate, c'est que la méthode FileGet remplit la chaîne de
longueur fixe avec des caractères Nothing. Pourquoi ? Car c'est une méthode
d'un autre temps écrite pour les développeurs d'un autre temps :-) Il est
largement préférable d'utiliser les méthodes des classes .NET (par exemple
FileStream) qui savent bien manipuler les classes .NET.
Le problème dans l'utilisation de ta string avec des caractères null, c'est
que ce n'est pas la façon dont les méthodes des classes .NET ont l'habitude
de travailler. Une astuce que j'ai trouvée est de passer par la méthode
Trim.
Mais avant tout, je te conseille vivement de réécrire les méthodes d'accés
aux fichiers de cette classe dite .NET mais écrite en VB6...
Fabien
"TroXsA - [VB.NET-2005]" <pouet@h.com> a écrit dans le message de news:
4327500f$0$12688$626a54ce@news.free.fr...
Bonjour a tous
ce message s'adresse particulièrement aux MVPs et MS (enfin je pense)
J'ai rencontré souvent le même problème dans la création d'une class
La class en question ce trouve sur ce site :
http://www.codeproject.com/vb/net/mp3id3v1.asp
Les problèmes ce trouve sur toutes les déclarations suivantes :
Dim strTag As New String(" ", 3)
Dim strTitle As New String(" ", 30)
Dim strArtist As New String(" ", 30)
Dim strAlbum As New String(" ", 30)
Dim strYear As New String(" ", 4)
Dim strComment As New String(" ", 28)
et voila les phénomènes anormales
http://planetenova.free.fr/1.jpg
http://planetenova.free.fr/2.jpg
Dans l'image 1 on vois tres bien qu'il y a aucun probleme et a
la validation de la ligne il manque le " a la fin de la chaine string
(voir image 2)
et ça pause un vrais probleme si on souhaite utiliser la valeurs
directement
ex : File.Move("1.mp3", MP3ID3v1.FrameTypes.Artist)
je suis obligé de passer par un controle "string" pour reformater la
chaine, ce
que je veux dire par la, c'est que je passe par un textBox.text pour
recuperer la valeur
ex : TextBox1.text = MP3ID3v1.FrameTypes.Artist
File.Move("1.mp3", TextBox1.text)
Je ne suis ni MVP, ni MS mais je vais essayer de faire avancer le schmilblick.
Ce que je constate, c'est que la méthode FileGet remplit la chaîne de longueur fixe avec des caractères Nothing. Pourquoi ? Car c'est une méthode d'un autre temps écrite pour les développeurs d'un autre temps :-) Il est largement préférable d'utiliser les méthodes des classes .NET (par exemple FileStream) qui savent bien manipuler les classes .NET.
Le problème dans l'utilisation de ta string avec des caractères null, c'est que ce n'est pas la façon dont les méthodes des classes .NET ont l'habitude de travailler. Une astuce que j'ai trouvée est de passer par la méthode Trim.
Mais avant tout, je te conseille vivement de réécrire les méthodes d'accés aux fichiers de cette classe dite .NET mais écrite en VB6...
Fabien
"TroXsA - [VB.NET-2005]" a écrit dans le message de news: 4327500f$0$12688$
Bonjour a tous
ce message s'adresse particulièrement aux MVPs et MS (enfin je pense)
J'ai rencontré souvent le même problème dans la création d'une class La class en question ce trouve sur ce site : http://www.codeproject.com/vb/net/mp3id3v1.asp
Les problèmes ce trouve sur toutes les déclarations suivantes :
Dim strTag As New String(" ", 3) Dim strTitle As New String(" ", 30) Dim strArtist As New String(" ", 30) Dim strAlbum As New String(" ", 30) Dim strYear As New String(" ", 4) Dim strComment As New String(" ", 28)
et voila les phénomènes anormales http://planetenova.free.fr/1.jpg http://planetenova.free.fr/2.jpg
Dans l'image 1 on vois tres bien qu'il y a aucun probleme et a la validation de la ligne il manque le " a la fin de la chaine string (voir image 2) et ça pause un vrais probleme si on souhaite utiliser la valeurs directement ex : File.Move("1.mp3", MP3ID3v1.FrameTypes.Artist)
je suis obligé de passer par un controle "string" pour reformater la chaine, ce que je veux dire par la, c'est que je passe par un textBox.text pour recuperer la valeur ex : TextBox1.text = MP3ID3v1.FrameTypes.Artist File.Move("1.mp3", TextBox1.text)
TroXsA - [VB.NET-2005]
Ok :) je suis pas expert dans la creation de class mais bon il y a un debut a tout :) je vais modifier la class (essayer du moin)
Merci d'avoir apporté une solution au probleme ... mais je trouve quand meme que ce comportement n'est pas normale
+ +
-- TroXsA http://cerbermail.com/?rIXgaw9Xsl
Ok :) je suis pas expert dans la creation de class mais bon il y a un debut
a tout :)
je vais modifier la class (essayer du moin)
Merci d'avoir apporté une solution au probleme ... mais je trouve quand meme
que ce
comportement n'est pas normale
J'ai bien fait des testes mais ça change rien du tout ... j'ai toujours le meme probleme ... je comprend pas là !
Fabien Bezagu
Quels tests as-tu fait ? En passant par la méthode Trim ? Ou en réécrivant la façon dont la classe accéde aux fichiers ? Peux-tu poster le code incriminé ?
Fabien
"TroXsA - [VB.NET-2005]" a écrit dans le message de news: 43288c1e$0$18576$
J'ai bien fait des testes mais ça change rien du tout ... j'ai toujours le meme probleme ... je comprend pas là !
Quels tests as-tu fait ? En passant par la méthode Trim ? Ou en réécrivant
la façon dont la classe accéde aux fichiers ? Peux-tu poster le code
incriminé ?
Fabien
"TroXsA - [VB.NET-2005]" <pouet@h.com> a écrit dans le message de news:
43288c1e$0$18576$626a14ce@news.free.fr...
J'ai bien fait des testes mais ça change rien du tout ...
j'ai toujours le meme probleme ... je comprend pas là !
Quels tests as-tu fait ? En passant par la méthode Trim ? Ou en réécrivant la façon dont la classe accéde aux fichiers ? Peux-tu poster le code incriminé ?
Fabien
"TroXsA - [VB.NET-2005]" a écrit dans le message de news: 43288c1e$0$18576$
J'ai bien fait des testes mais ça change rien du tout ... j'ai toujours le meme probleme ... je comprend pas là !
TroXsA - [VB.NET-2005]
En passant par trim ... En passant par un count de la chaine string il conte toujours 30 caractaires avec ou sans Trim que je mete des trim dans la class c'est exactement la meme chose
Le code c'est sur le site que j'ai donné (dans le premier poste)
... Merci de ton aide
-- TroXsA http://cerbermail.com/?rIXgaw9Xsl
"Fabien Bezagu" <fbezagu_at_novacor_dot_fr> a écrit dans le message de news:
Quels tests as-tu fait ? En passant par la méthode Trim ? Ou en réécrivant la façon dont la classe accéde aux fichiers ? Peux-tu poster le code incriminé ?
Fabien
"TroXsA - [VB.NET-2005]" a écrit dans le message de news: 43288c1e$0$18576$
J'ai bien fait des testes mais ça change rien du tout ... j'ai toujours le meme probleme ... je comprend pas là !
En passant par trim ...
En passant par un count de la chaine string il conte
toujours 30 caractaires avec ou sans Trim que je
mete des trim dans la class c'est exactement la meme chose
Le code c'est sur le site que j'ai donné (dans le premier poste)
...
Merci de ton aide
--
TroXsA
http://cerbermail.com/?rIXgaw9Xsl
"Fabien Bezagu" <fbezagu_at_novacor_dot_fr> a écrit dans le message de news:
eaxt4GduFHA.3864@TK2MSFTNGP12.phx.gbl...
Quels tests as-tu fait ? En passant par la méthode Trim ? Ou en réécrivant
la façon dont la classe accéde aux fichiers ? Peux-tu poster le code
incriminé ?
Fabien
"TroXsA - [VB.NET-2005]" <pouet@h.com> a écrit dans le message de news:
43288c1e$0$18576$626a14ce@news.free.fr...
J'ai bien fait des testes mais ça change rien du tout ...
j'ai toujours le meme probleme ... je comprend pas là !
En passant par trim ... En passant par un count de la chaine string il conte toujours 30 caractaires avec ou sans Trim que je mete des trim dans la class c'est exactement la meme chose
Le code c'est sur le site que j'ai donné (dans le premier poste)
... Merci de ton aide
-- TroXsA http://cerbermail.com/?rIXgaw9Xsl
"Fabien Bezagu" <fbezagu_at_novacor_dot_fr> a écrit dans le message de news:
Quels tests as-tu fait ? En passant par la méthode Trim ? Ou en réécrivant la façon dont la classe accéde aux fichiers ? Peux-tu poster le code incriminé ?
Fabien
"TroXsA - [VB.NET-2005]" a écrit dans le message de news: 43288c1e$0$18576$
J'ai bien fait des testes mais ça change rien du tout ... j'ai toujours le meme probleme ... je comprend pas là !
Fabien Bezagu
Il faut faire un Trim sur le caractère Nothing.
En rajoutant des lignes comme celle-ci, ça a l'air de fonctionner correctement chez moi :
strArtist = strArtist.Trim(New Char() {Nothing})
Fabien
"TroXsA - [VB.NET-2005]" a écrit dans le message de news: dgdvlp$2ih$
En passant par trim ... En passant par un count de la chaine string il conte toujours 30 caractaires avec ou sans Trim que je mete des trim dans la class c'est exactement la meme chose
Le code c'est sur le site que j'ai donné (dans le premier poste)
... Merci de ton aide
-- TroXsA http://cerbermail.com/?rIXgaw9Xsl
"Fabien Bezagu" <fbezagu_at_novacor_dot_fr> a écrit dans le message de news:
Quels tests as-tu fait ? En passant par la méthode Trim ? Ou en réécrivant la façon dont la classe accéde aux fichiers ? Peux-tu poster le code incriminé ?
Fabien
"TroXsA - [VB.NET-2005]" a écrit dans le message de news: 43288c1e$0$18576$
J'ai bien fait des testes mais ça change rien du tout ... j'ai toujours le meme probleme ... je comprend pas là !
Il faut faire un Trim sur le caractère Nothing.
En rajoutant des lignes comme celle-ci, ça a l'air de fonctionner
correctement chez moi :
strArtist = strArtist.Trim(New Char() {Nothing})
Fabien
"TroXsA - [VB.NET-2005]" <NoSpam@thx.com> a écrit dans le message de news:
dgdvlp$2ih$1@s1.news.oleane.net...
En passant par trim ...
En passant par un count de la chaine string il conte
toujours 30 caractaires avec ou sans Trim que je
mete des trim dans la class c'est exactement la meme chose
Le code c'est sur le site que j'ai donné (dans le premier poste)
...
Merci de ton aide
--
TroXsA
http://cerbermail.com/?rIXgaw9Xsl
"Fabien Bezagu" <fbezagu_at_novacor_dot_fr> a écrit dans le message de
news: eaxt4GduFHA.3864@TK2MSFTNGP12.phx.gbl...
Quels tests as-tu fait ? En passant par la méthode Trim ? Ou en
réécrivant la façon dont la classe accéde aux fichiers ? Peux-tu poster
le code incriminé ?
Fabien
"TroXsA - [VB.NET-2005]" <pouet@h.com> a écrit dans le message de news:
43288c1e$0$18576$626a14ce@news.free.fr...
J'ai bien fait des testes mais ça change rien du tout ...
j'ai toujours le meme probleme ... je comprend pas là !
En rajoutant des lignes comme celle-ci, ça a l'air de fonctionner correctement chez moi :
strArtist = strArtist.Trim(New Char() {Nothing})
Fabien
"TroXsA - [VB.NET-2005]" a écrit dans le message de news: dgdvlp$2ih$
En passant par trim ... En passant par un count de la chaine string il conte toujours 30 caractaires avec ou sans Trim que je mete des trim dans la class c'est exactement la meme chose
Le code c'est sur le site que j'ai donné (dans le premier poste)
... Merci de ton aide
-- TroXsA http://cerbermail.com/?rIXgaw9Xsl
"Fabien Bezagu" <fbezagu_at_novacor_dot_fr> a écrit dans le message de news:
Quels tests as-tu fait ? En passant par la méthode Trim ? Ou en réécrivant la façon dont la classe accéde aux fichiers ? Peux-tu poster le code incriminé ?
Fabien
"TroXsA - [VB.NET-2005]" a écrit dans le message de news: 43288c1e$0$18576$
J'ai bien fait des testes mais ça change rien du tout ... j'ai toujours le meme probleme ... je comprend pas là !
TroXsA - [VB.NET-2005]
Tien, je sais vais pas qu'on pouvais faire comme ça :) j'ai pas testé encore ... je testerais ça ce soirchez moi
Merci
-- TroXsA http://cerbermail.com/?rIXgaw9Xsl
Tien, je sais vais pas qu'on pouvais faire comme ça :)
j'ai pas testé encore ... je testerais ça ce soirchez moi