-1
J'ai ce code:Delphi Comport ne pas obtenir l'ensemble des données
procedure Tfrm_main.cport_scanningRxChar(Sender: TObject; Count: Integer);
begin
cport_scanning.ReadStr(data, Count);
memo3.Text := data;
end;
Le résultat réel est:
memo3.text := M000000;
Ensuite, il a changé en:
memo3.text := 021111D;
Le résultat attendu:
memo3.text := M000000021111D;
Imaginez ce qui se passe lorsque vous numérisez le code suivant (en supposant que l'appareil connecté est un scanner de codes à barres). Vous devez former le code jusqu'à ce qu'une séquence de terminaison soit reçue à la place. Certains composants de port COM sont capables de prédéfinir ceci et de faire le reste pour vous (et de déclencher un événement lorsque les données complètes sont reçues). – Victoria
Après un coup d'oeil rapide sur [cette bibliothèque] (https://sourceforge.net/projects/comport/) je dirais que c'est le 'TComDataPacket' qui implémente une telle chose. – Victoria
Oui, je m'attendais à ce qu'ils aient soit une séquence de fin, soit un autre indicateur –