15.11.2011, 16:34 | #1 |
Участник
|
RS232 MSCommPort Output
Здраствуйте ,
Помогите мне , пожалуйста , разобраться . Пришлось такое , что надо вывести инфо через СОМ порт на радио сканер . Давненько вы помогли мне с ComPortMSComm и всю инфо от радио сканеров я считаю . С помочью таймера . В init есть такое : X++: public void init() { super(); comPort = new ComPortMSComm(); comPort.initParmDefault(); element.setTimeOut( #GetBarkod, 100, true ); atsijungt.enabled( false ); baigt.enabled( false ); lConnect = true; } X++: Str input; ComVariant res; ComVariant send1 = new ComVariant(); str 1 ch; int i, template, u; Str chk = "1234567890><"; Str cSend; Int nGun, nBs; ; i = comPort.InBufferCount(); input = ""; if ( i ) { sleep( 30 ); i = comPort.InBufferCount(); ... if ( input ) ... } element.setTimeOut( #GetBarkod, 10 ); } X++: ComVariant send1 = new ComVariant(); Str cSend; ... cSend = cGunNr + num2char( 27 ) + " " + num2char( 91 ) + num2char( 50 ) + num2char( 74 ); cSend += cBarcode; // первая строка if ( rInv ) { invTbl = InventTable::find( rInv.ItemId ); cSend += num2char( 27 ) + " " + num2char( 91 ) + num2char( 50 ) + num2char( 59 ) + num2char( 49 ) + num2char( 72 ) + substr( invTbl.ItemName, 1, 16 ); // вторая строка cSend += num2char( 27 ) + " " + num2char( 91 ) + num2char( 51 ) + num2char( 59 ) + num2char( 49 ) + num2char( 72 ) + strfmt( "kiekis - %1", rInv.Qty ); // 3-я } else { cSend += num2char( 27 ) + " " + num2char( 91 ) + num2char( 50 ) + num2char( 59 ) + num2char( 49 ) + num2char( 72 ) + "Barkodas nerastas !"; } cSend += num2char( 13 ); nBs = comPort.OutBufferSize(); send1.bStr( cSend ); comPort.SThreshold( strlen( cSend ) ); comPort.Output( send1 ); Заранее большое спасибо ! С уваженим , Римантас |
|
Теги |
com port, rs232, сканер |
|
|