jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 201413 16 déc. 2005 à 15:19
je ne comprends pas très bien ta question
il faut que tu es mis un composant dans ton projet (TComport ou autre)
ou une DLL et après ouverture du port tu le lis (par exemple
readstr(buffer,count))
S'il s'agit d'une chaine de caractères qui commence toujours par
une lettre il te suffit de copier la fin de la chaine et de la
convertir.
resultat:=copy(buffer,2,length(buuffer));
valeur:=strtoint(resultat);
Si ce n'est pas ce que tu cherche précise ta question
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 201413 16 déc. 2005 à 15:51
un petite chose si tes données sont codées ainsi:
un caractère + une valeur binaire su 2 octets le plus simple est de
recevoir la totalité comme une chaine de caractères et ensuite de faire
un transtypage sur la valeur numérique
Dans ton exemple la chaine aura une longueur de 3 octets
si buffer contient la chaine:
var valeur:^smallint; (ou^word si jamais négatif);
valeur:=@buffer[2];// on pointe sur le début de la valeur;
ShowMessage('Ceci est la valeur' + inttistr(valeur^));
en particulier dans le timer "scanner" ou on lit des données arriavnt
de façon aléatoire tu peux aussi regarder dans la fonction
"LectureCompteur"(actionlist:"utilitaire")