//Get PortComm number that already set from .txt file on local drive. private str getPortComm() { #file str getCOMport; boolean cekPortExist; AsciiIo file; Container data; int i; System.IO.FileInfo fileInfo; ; new InteropPermission(InteropKind::ClrInterop).assert(); fileInfo = new System.IO.FileInfo(@”C:\portcomm.txt”); if(fileInfo.get_Exists()) { file = new AsciiIo(@”C:\portcomm.txt”,#io_read); file.inFieldDelimiter(‘\t’); file.inRecordDelimiter(‘\n’); if(file) { while(file.status() == IO_Status::Ok) { data = file.read(); for(i = 1; i <= conlen(data); i++) { getCOMport = any2str(conpeek(data, i)); } } } } return strLTrim(getCOMport); }
————————————
//Get Weight from PortComm private real AI_getWeight() { System.String netstring; System.String sample; int WeightInReal; int tryCount; str value; str value2; str portComm; System.IO.Ports.SerialPort port3; real weightFinal; tryCount = 0; portComm = this.getPortComm(); if(portComm) { port3 = new System.IO.Ports.SerialPort(); value = “0”; port3.set_PortName(portComm); port3.set_BaudRate(9600); port3.set_Parity(System.IO.Ports.Parity::None); port3.set_DataBits(8); port3.set_StopBits(System.IO.Ports.StopBits::One); port3.set_Handshake(System.IO.Ports.Handshake::None); try { port3.Open(); while(tryCount<1) { WeightInReal = sleep(500); netstring = port3.ReadExisting(); value = netstring; value2 = value; tryCount++; } port3.Close(); port3.Dispose(); } catch(Exception::CLRError) { info(“Wrong Port Comm Number”); } value2 = strReplace(value,”=”,””); value2 = strReplace(value2,”-“,””); value2 = strLTrim(value2); value2 = subStr(value2,1,6); weightFinal = str2num(value2); } else { info(“Check file portcomm.txt at C:\””); } if(!weightFinal) { info(“Please check your device, clarify it already turned on”); } return weightFinal; }
—————————
on method button clicked, override.. some example here for you
void clicked() { real _value; InventTable inventTableLoc; super(); _value = this.AI_getWeight(); Select * from inventTableLoc where inventTableLoc.ItemId == ProdJournalProd.ItemId; if(_value) { if(inventTableLoc.AISatuanPrimer!=”Kg”) { ProdJournalProd.AISatuanTertier = _value; ProdJournalProd_AISatuanTertier.enabled(False); } else { ProdJournalProd.AISatuanTertier =_value; ProdJournalProd_AISatuanTertier.enabled(True); } } ProdJournalProd_ds.executeQuery(); }