Avatar billede nimmer Nybegynder
17. januar 2000 - 14:31 Der er 1 kommentar og
1 løsning

ComThread 4, Hvordan

Jeg skal læse fra en kortlæser, Hvordan læser jeg på det rigtige tidspunkt. Og hvordan læser jeg med dette program, der er ingen read-funktion.
Avatar billede rbnstudio Nybegynder
17. januar 2000 - 14:38 #1
Read funktionen er interrupt styret....altså når der modtages noget data, så hopper den til en funktion, hvor du så kan læse dataen.

Jeg mener den hedder "OnPacketReceived"

Avatar billede soepro Nybegynder
18. januar 2000 - 09:26 #2
Jeg formoder at du HAR installeret TComThread i dit IDE. Herefter lægget du den bare på din form, Vha. F11 får du object-inspector'en frem of vælger fane nr. 2 derpå (den der hedder Events) og dobbeltklikker på 'OnPacketReceived'. Herved får du adgang til en event-handler som giver dig det som er modtaget, hver gang der modtages noget på den valgte COM-port. Componenten er 'threaded', dvs. den kører egentlig i sit eget lille program, uafhængigt af hvad du ellers laver. I princippet kan du derfor sende SAMTIDIGT med at du modtager. (Det er selvfølgelig en sandhed med modifikationer - men programmet vil faktisk virke sådan.)

Jeg har lavet et simpel program til kommunikation mellem to PC'ere via et NULL-modem kabel vha. komponenten. Jeg har to TEdit componenter på formen - en til den tekst jeg vil sende, og en til den jeg (evt.) modtager. Jeg har derudover en knap til at sende det som jeg har indtastet. Event-handlerne til knappen og 'OnPacketReceived' ser sådan her ud:

void __fastcall TfrmMain::comPortPacketReceived(TObject *Sender,
      AnsiString &buffer)
{
  edtReceive->Text = buffer;
}
void __fastcall TfrmMain::btnSendClick(TObject *Sender)
{
  comPort->Write(edtSend->Text);
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester