lecture port serie tcomport
Salut amis d�veloppeurs,
Je voudrais vous poser une question a propos du composant tcomport.
J'arrive a envoyer des trames en hexa mais je n'arrive pas a recevoir de donnees.
J'ai suivis le tuteuriel sur le site avec la fonction onrxchar mais l evenement ne se declenche pas.
Est ce qu il faut configurer un parametre du compsant?
Qu est ce qu il faut mettre dans le parametre eventchar?
Merci d'avance.
Tcomport 3.1 en C++ builder
:oops: Bonjour la communaut� Je suis nouveau sur ce forum, je bidouille pas mal en informatique et juste pour apprendre en m'amusant je teste le C++ Builder, j'ai de bonnes connaissances en Delphi 6 et j'ai voulu faire un test en c++ pour comparer les 2 environnements or autant en delphi �a marche en C++ la fonction m'en read n'a pas l'air de fonctionner
en Delphi mon programme est (dans un timer 100ms)
Code:
1 2 3
| var bit:byte;
bit:=strtoint('209');
comport1.Write(bit,1); |
Pour la r�ception c'est
Code:
1 2 3 4 5 6 7 8 9 10
| procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
var temp,press: byte;
Buff : byte;
ligne:integer;
begin
comport1.Read(buff,1); // valeur reçue du port série
if Buff >= 254 then exit;
Temp:=buff; // mesure de la Température dans le buffer
Statusbar1.Panels[0].text:='T° = '+inttostr(Temp);
end; |
comment faire en C++
si quelqu'un peut m'aider � comprendre
car en c++ malgr� beaucoup d'essai �a ne marche pas
merci d'avance
erreur Composant TComPort
Bonjour � tous
je me bat en se moment avec mon projet en cours
je dois r�cuperer les trames envoy�s par un PABX sur le Port S�rie d'un PC pour avoir les infos n�cessaires pour concerver une trace de l'appel et le facturer.
j'utilise donc le port s�rie en configuration 7bits de donn�es, 1 bits de stop, impaire, et sans contr�le de flux.
j'essai d'implenter le composant de cette mani�re:
Code:
1 2 3 4 5 6 7
|
void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count)
{
AnsiString Str;
ComPort1->ReadStr(Str, Count);
Memo1->Text=Memo1->Text + Str;
} |
cependant j'ai une erreur quelque part car lors de la compilation, borland C++ 6 me dis
Code:
1 2
|
[C++ Error] Unit1.cpp(20): E2316 '_fastcall TForm1::ComPort1RxChar(TObject *,int)' is not a member of 'TForm1' |
est-ce que quelqu'un pourrai m'en dire plus?
merci
retour au probl�me de trames
c'est encore moi
je revient avec mon histoire de d�finitions de trames
voici donc un exemple de trame que mon programme a � analyser:
Code:
153014-02173847 403100100F10619181428 00'12" 3B0040101 00023084
le probl�me est que cette trames est compos�e de 5 bloc et que mon programme reconnait donc 5 trames diff�rentes...
Lorsque je fait
Code:
1 2 3
| AnsiString Str;
ComPort1->ReadStr(Str, Count);
Edit1->Text=Edit1->Text + Str; |
le programme m'affiche la trame � la suite de ce qui ce trouver d�j� dans le Edit.
Normal...
maintenant si je transforme le
Code:
Edit1->Text=Edit1->Text + Str;
en
il me fait defiler les 5 bloc et s'arr�te sur le dernier
encore normale mais bon... c'est pas ce que je veut moi :(
n'y a t'il donc pas moyen de faire en sorte qu'il comprenne que la trame est compos�e des 5 bloc?
la taille de mes trames est variables
comment faire?
avec un boucle? (�a fait un peut bricolage :? )
A+
tibo