Fonctions de conversion d'une chaîne en bits

Signaler
Messages postés
3
Date d'inscription
dimanche 10 mai 2015
Statut
Membre
Dernière intervention
12 mai 2015
-
Messages postés
3
Date d'inscription
dimanche 10 mai 2015
Statut
Membre
Dernière intervention
12 mai 2015
-
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

Messages postés
133
Date d'inscription
dimanche 10 mai 2015
Statut
Membre
Dernière intervention
5 juillet 2015

bit ou byte?

c'est different
Messages postés
3
Date d'inscription
dimanche 10 mai 2015
Statut
Membre
Dernière intervention
12 mai 2015

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...
Messages postés
3826
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
10 mai 2021
44
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 ;)
Messages postés
3
Date d'inscription
dimanche 10 mai 2015
Statut
Membre
Dernière intervention
12 mai 2015

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. :-)