循环读取datapool中数据

datapool已建好并与脚本关联。

 

DatapoolScriptSupport dpss = new DatapoolScriptSupport();
        //Declare 'dp' as an object for IDatapool
        //(org.eclipse.hyades.execution.runtime.datapool.IDatapool)
        org.eclipse.hyades.execution.runtime.datapool.IDatapool dp;
        //Create a file object with complete TestDatapool file path
        java.io.File dpfile = new java.io.File(".//resources//Script2.rftxdp");
        //Load the Testdatapool
        dp = dpss.dpFactory().load(dpfile,true);
        //Open the Test Datapool
        IDatapoolIterator dpitr = dpss.dpFactory().open(dp,"");
        dpitr.dpInitialize(dp);
  
       
        
        while(!dpitr.dpDone())
        {
            link_locations().click();
            link_rootLocation().click();
            button_createContainedLocation().click();
         
            IDatapoolRecord dprec = (IDatapoolRecord) dpitr.dpCurrent();
            text_locId().setText(dprec.getCell(0).getStringValue());
            text_userName().setText(dprec.getCell(1).getStringValue());
            text_locAlias().setText(dprec.getCell(2).getStringValue());
            list_locationType().select(dprec.getCell(9).getStringValue());
   
            button_createsubmit().click();
   
            dpitr.dpNext();
        } 

#include "qserial.h" #include<QDebug> qserial::qserial(Ui::MainWindow *ui, QObject *parent):QObject(parent), ui(ui), serialPort(new QSerialPort(this)) { QObject::connect(serialPort, &QSerialPort::readyRead, this, &qserial::onReadyRead); QList<QSerialPortInfo> PORT=QSerialPortInfo::availablePorts(); //获取可用串口 QList<qint32> bands=QSerialPortInfo::standardBaudRates(); //获取波特率 foreach (const QSerialPortInfo &port, PORT) { ui->port_chose->addItem(port.portName()); //将可用串口传入控件 } foreach ( qint32 band, bands) { ui->band_rate->addItem(QString::number(band)); //将可用波特率传入控件 } ui->band_rate->setCurrentText("115200"); } qserial::~qserial() { delete serialPort; delete ui; } bool qserial::connect() { // 设置串口名称(根据你的系统,可能需要使用具体的端口名称) serialPort->setPortName(ui->port_chose->currentText()); // 设置波特率 serialPort->setBaudRate(ui->band_rate->currentText().toInt()); // 设置数据位 serialPort->setDataBits(QSerialPort::Data8); // 设置停止位 serialPort->setParity(QSerialPort::NoParity); // 设置停止位长度 serialPort->setStopBits(QSerialPort::OneStop); // 设置流控制 serialPort->setFlowControl(QSerialPort::NoFlowControl); if (!serialPort->open(QIODevice::ReadWrite)) { return false; //返回打开失败 } else { return true; //返回打开成功 } } void qserial::dis_connect() { serialPort->close(); //关闭串口 } void qserial::onReadyRead() { // 读取所有可用数据 m_buffer += serialPort->readAll(); // 持续处理完整数据帧 while(true) { // 查找换行符位置 int endIndex = m_buffer.indexOf('\n'); if(endIndex == -1) break; // 没有完整帧则退出 // 提取完整数据(包含换行符) QByteArray frame = m_buffer.left(endIndex + 1); m_buffer = m_buffer.mid(endIndex + 1); // 移除已处理数据 // 将数据存入公共池 datapool::instance()->addData(frame.trimmed()); } }
03-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值