C# help: pb de conversion string en integer

vdekeuwer Messages postés 7 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 13 novembre 2008 - 7 août 2008 à 10:15
gglamicose Messages postés 94 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 7 mars 2009 - 7 août 2008 à 12:12
Bonjour,
je fait un programme pour lire des données sur un puce RFID,je récupère grace au lecteur
RFID , Data qui est un byteArray, pour lire la donnée je fait

int valu = Convert.ToInt32(((ByteArray)Data).ToAscii());
mais il semble qu'il yait un pb de format dans valu (exception)
qqun peut me dire si ma conversion est juste

d'avance merci
Vincent

5 réponses

gglamicose Messages postés 94 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 7 mars 2009 1
7 août 2008 à 10:25
Salut Vdekeuwer !
 As - tu essayer de passer par une étape intermédiaire, a savoir essayer de voir ce que te retourne (ByteArray)Data).ToAscii();
A partir de la, tu auras une piste pour savoir si tu part sur une bonne base... Car ne connaissant pas particulièrement le type assez douteux de cette première étape, sa ne m'étonnerai pas que le problème vienne de la...
0
vdekeuwer Messages postés 7 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 13 novembre 2008
7 août 2008 à 10:30
salut,
j'ai essayé d'afficher ((ByteArray)Data).ToAscii()et même ((ByteArray)Data).Tohexstring et là pas de pb il m'affiche bien les données c'est après que ça se corse quand je fait la conversion, car le but de la manip est d'écrire sur un  des bloc de la puce le nb de blocs que va prendre la donnée que je vais saisir après et en plus je peux vérifier qu'il me rentre bien ce que je lui ai demané
PS: tu trouve que c'est douteux
0
gglamicose Messages postés 94 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 7 mars 2009 1
7 août 2008 à 10:43
Ok... Si je comprend bien, tu veut écrire un Int sur un bloc de ta puce.. il nous faudrait plus d'infos: Quelle taille fait ton tableau de Byte ? Que te renvoi l'affichage de ((ByteArray)Data).ToAscii(); ? Et pourquoi je devrais trouver ça douteux, t'as pas l'air sur de toi ^^ ?!
0
vdekeuwer Messages postés 7 Date d'inscription jeudi 31 janvier 2008 Statut Membre Dernière intervention 13 novembre 2008
7 août 2008 à 11:08
pour le douteux on s'est mal compris , voilà mon bytearray n'a pas de taille de prédéfinie
c'est une collection de byteaaray, je lis et je peux écrire sur la puce des bloc de 8 octets
ex de lecture sur ma puce que mon code me renvoie ex en hexa:
31 31 32 33 34 35 36 37 et j'aimerai qu'elle m'affiche ce que je lui est rentré lorque j'écris sur la puce j'utilise une fonction qui prends en paramètre towrite = new ByteArray( string info)
info est le string que je saisis via une textbox
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gglamicose Messages postés 94 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 7 mars 2009 1
7 août 2008 à 12:12
D'accord pour les bloc de 8 octets, c'est ce dont je voulais m'assurer. Ton problème a l'air bien plus sérieux que je ne le pensais !!
Je suppose dès lors que l'erreur intervient au niveau de ton tabeau de Bytes: il y a trop de données. Ce que je te propose (mais alors la je prend ton problème comme ça, mon conseil vaut ce qu'il vaut ^^) c'est de te créer une méthode qui va boucler sur tous les éléments de ce tableau, style

int valu = 0;
Foreach (Byte b in Data)
{
        value += Convert.ToInt32(b.ToAscii());
}

En gros c'est l'idée !! Voila, il ne me reste plus qu'a te souhaiter bon courage et ... Bonne chance !
0
Rejoignez-nous