13.07.2015 Views

Opis kontrole TCommPortDriver

Opis kontrole TCommPortDriver

Opis kontrole TCommPortDriver

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Tipovi property-jatype// moguće bitske brzine signalizacije (proizvoljna (custom) ili 110 baud ÷ 256 kbaud)TBaudRate = ( brCustom, br110, br300, br600, br1200, br2400, br4800, br9600, br14400,br19200, br38400, br56000, br57600, br115200, br128000, br256000 );// mogući broj porta (proizvoljan ili COM1 ÷ COM16 )TPortNumber = ( pnCustom, pnCOM1, pnCOM2, pnCOM3, pnCOM4, pnCOM5, pnCOM6,pnCOM7, pnCOM8, pnCOM9, pnCOM10, pnCOM11, pnCOM12, pnCOM13,pnCOM14, pnCOM15, pnCOM16 );// mogući broj informacionih bita ( 5, 6, 7, 8 )TDataBits = ( db5BITS, db6BITS, db7BITS, db8BITS );// mogući broj stop bita (1, 1.5, 2 )TStopBits = ( sb1BITS, sb1HALFBITS, sb2BITS );// mogući tipovi parnosti ( none, odd, even, mark, space )TParity = ( ptNONE, ptODD, ptEVEN, ptMARK, ptSPACE );// hardverski (nepotpuni) handshake ( None, None + RTS uvek na "1" ili RTS/CTS )THwFlowControl = ( hfNONE, hfNONERTSON, hfRTSCTS );// softverski handshake ( None, XON/XOFF )TSwFlowControl = ( sfNONE, sfXONXOFF );// tip događaja na koji će se aktivirati kontrola (normal, string, byte)TTrigerOn = (toNone, toString, toByte);type// Tipovi događaja// tip događaja koji se aktivira kada pristignu podaci na port sa udeljnog računara ili instrumenta.// podaci se prosleđuju preko pointeraTReceiveDataEvent = procedure( Sender: TObject; DataPtr: pointer; DataSize: DWORD ) ofobject;// tip događaja koji se aktivira kada pristignu podaci na port sa udeljnog računara ili instrumenta.// podaci se prevode u ASCII string i tako prosleđuju u parametru DataTReceiveStringEvent = procedure( Sender: TObject; Data: String) of object;// tip događaja koji se aktivira kada pristignu podaci na port sa udeljnog računara ili instrumenta.// podaci se dele u bajtove i tako se prosleđuju u parametru DataTReceiveByteEvent = procedure( Sender: TObject; Data: Byte) of object;// Koji tip događaja će biti aktiviran zavisi od propertija TrigerOn objekta <strong>TCommPortDriver</strong> koji// može uzimati vrednosti toNone, toString, toByte.1


<strong>TCommPortDriver</strong> = class( TComponent )// Kontrola// Propertiji (Properties)// Broj COM portaproperty Port: TPortNumber default pnCOM2;// Naziv COM porta (npr. ..//COM1/)property PortName: string;// Bitska brzina signalizacije (Baud Rate)property BaudRate: TBaudRate default br9600;// Stvarna vrednost brzine signalizacije u baudimaproperty BaudRateValue: DWORD default 9600;// Broj informacionih bita (od 5 do 8). Kod 8250 nije dozvoljeno korišćenje 5 informacionih bita// u kombinacija sa 2 stop bita ili 6, 7 i 8 informacionih bita sa 1,5 stop bitomproperty DataBits: TDataBits default db8BITS;// Broj stop bita (1, 1,5 ili 2)property StopBits: TStopBits default sb1BITS;// Tip parnosti (bez provere parnosti = ptNONE, neparna parnost = ptODD, itd.)property Parity: TParity default ptNONE;// Hardverski (nepotpuni) handshake// hfNONE bez handshake-a// hfNONERTSON bez handshake-a, ali je RTS linija stalno na "1" (-12 V)// hfRTSCTS koriste se Request-To-Send / Clear-To-Sendproperty HwFlow: THwFlowControl default hfNONERTSON;// Softverski handshake// sfNONE bez softverskog hanshake-a// sfXONXOFF softverski handhake postoji, koriste se Xon i Xoff karakteri za početak i// kraj porukeproperty SwFlow: TSwFlowControl default sfNONE;// Definiše koji tip događaja će biti aktiviran kada podaci prstignu sa udaljenog računara ili// instrumenta.// toNone poziva se događaj OnReceiveData// toString poziva se događaj OnReceiveString// toByte poziva se događaj OnReceiveByteproperty TrigerOn: TTrigerOn;2


Metodi (Methods)// Pokušava da otvori port za komunikaciju i vraća True ako je operacija uspela. U protivnom,// vraća vrednost False.function Connect: boolean;// Vraća True ako je port otvoren i ako su aktivne linije CTS, DSR, RING i DCD.function Connected: boolean;// Zatvara COM portprocedure Disconnect;// Šalje preko porta DataSize bajtova koje se nalaze u memoriji počev od adrese DataPtr.// Funkcija vraća vrednost stvarno prenetih bajtovafunction SendData( DataPtr: pointer; DataSize: DWORD ): DWORD;// Šalje preko porta DataSize bajtova koje se nalaze u memoriji počev od adrese DataPtr.// Funkcija vraća vrednost stvarno prenetih bajtovafunction SendByte( Value: byte ): boolean;// Šalje preko porta jedan bjat koji sadrži jedna ASCII karakter.// Funkcija vraća vrednost True ako je karakter uspešno prenetfunction SendChar( Value: char ): boolean;// Šalje preko porta niz bajtova koji predstavljaju string s u ASCII formatu.// Funkcija vraća vrednost True ako je ceo string uspešno prenetfunction SendString( s: string ): boolean;// Događaji (Events)// Aktivira se kada sa udaljenog računara ili instrumenta pristignu podaci, a property TrigerOn je// postavljen na toNoneproperty OnReceiveData: TReceiveDataEvent;// Aktivira se kada sa udaljenog računara ili instrumenta pristignu podaci, a property TrigerOn je// postavljen na toStringproperty OnReceiveString: TReceiveStringEvent;// Aktivira se kada sa udaljenog računara ili instrumenta pristignu podaci, a property TrigerOn je// postavljen na toByteproperty OnReceiveByte: TReceiveByteEvent;end;3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!