Fonctions de conversion d'une chaîne en bits

BernardCollombet Messages postés 3 Date d'inscription dimanche 10 mai 2015 Statut Membre Dernière intervention 12 mai 2015 - 10 mai 2015 à 15:53
BernardCollombet Messages postés 3 Date d'inscription dimanche 10 mai 2015 Statut Membre Dernière intervention 12 mai 2015 - 12 mai 2015 à 13:10
Je travaille sur un projet de transfert de données via un circuit branché sur le port usb. Le circuit ne pouvant recevoir que des données "bits", je dois convertir des chaînes contenant mes données sous forme de bits.
Existe-t-il une fonction permettant cette conversion ?
Question annexe : j'ai besoin d'indiquer au système le nombre de bits que je vais transmettre.
J'avoue que je patine un brin (et même un peu plus que ça...)
Quelqu'un peut-il m'éclairer ?

2 réponses

courtierbanque Messages postés 133 Date d'inscription dimanche 10 mai 2015 Statut Membre Dernière intervention 5 juillet 2015
11 mai 2015 à 23:22
bit ou byte?

c'est different
0
BernardCollombet Messages postés 3 Date d'inscription dimanche 10 mai 2015 Statut Membre Dernière intervention 12 mai 2015
12 mai 2015 à 08:07
Bonne question. Les seules docs dont je dispose sont en anglais et il est question de données "bytes". Du haut de ma grande "franchouillardise", j'avais traduit en "bits" mais je me demande si je ne me suis pas fichu dedans...
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
12 mai 2015 à 13:01
Bonjour,

effectivement (Bytes & Bits) c'est pas la même chose

envoyer des données en Bytes c'est assez simple en soit ... mais comme on a pas de bout de code de ta part qui nous montre comment ou avec quelle procédure les données doivent être envoyées on ne peut que te donner la méthode qui va convertir chaque caractère d'une chaine en son équivalent en Byte.
var 
  aStr: string = 'Une chaine a envoyer';

procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
  aByteArray: array of Byte; // un tableau pour récupérer les fameux Bytes
begin
   // on ajuste la taille du tableau à la taille de la chaine de caractères
   SetLength(aByteArray, Length(aStr));
   // et on convertit chaque caractère en Byte
   for I := 1 to Length(aStr) do
     aByteArray[I-1] := Ord(aStr[I]);// I-1 parce qu'un tableau commence à 0 et non à 1 comme une chaine de type string

   //ici tu envoies les données ...
end;


voilà déjà un début qui devrait te mettre sur la piste ;)
0
BernardCollombet Messages postés 3 Date d'inscription dimanche 10 mai 2015 Statut Membre Dernière intervention 12 mai 2015
12 mai 2015 à 13:10
Un big merci, je crois que ça doit répondre exactement à ce que je cherchais à obtenir. Je vais tester ça et je vous dis ce que ça donne. :-)
0
Rejoignez-nous