📄 modbusregset.cpp
字号:
#include "modbusregset.h"bool CModbusRegDefSet::GetFirst(){ bool bRet = false; if ( GetFirstRecord() == XB_NO_ERROR ) { m_wRegAddr = GetLongField(localno); m_wDevID = GetLongField(devno); m_wMSDevID = GetLongField(msdevno); m_wArea = GetLongField(area); m_wLocalAddr = GetLongField(regaddr); m_strName = GetStringField(name); bRet = true; } return bRet;} bool CModbusRegDefSet::GetNext(){ bool bRet = false; if (GetNextRecord() == XB_NO_ERROR ) { m_wRegAddr = GetLongField(localno); m_wMSDevID = GetLongField(msdevno); m_wDevID = GetLongField(devno); m_wArea = GetLongField(area); m_wLocalAddr = GetLongField(regaddr); m_strName = GetStringField(name); bRet = true; } return bRet;} bool CModbusRegDefSet::GetFirst(WORD wArea){ bool bRet = false; if ( GetFirstRecord() == XB_NO_ERROR ) { do { m_wRegAddr = GetLongField(localno); m_wMSDevID = GetLongField(msdevno); m_wDevID = GetLongField(devno); m_wArea = GetLongField(area); m_wLocalAddr = GetLongField(regaddr); m_strName = GetStringField(name); } while ((m_wArea != wArea) && (GetNextRecord() == XB_NO_ERROR )); if (m_wArea == wArea) bRet = true; } return bRet;} bool CModbusRegDefSet::GetNext(WORD wArea){ bool bRet = false; if (GetNextRecord() == XB_NO_ERROR ) { do { m_wRegAddr = GetLongField(localno); m_wMSDevID = GetLongField(msdevno); m_wDevID = GetLongField(devno); m_wArea = GetLongField(area); m_wLocalAddr = GetLongField(regaddr); m_strName = GetStringField(name); } while ((m_wArea != wArea) && (GetNextRecord() == XB_NO_ERROR )); if (m_wArea == wArea) bRet = true; } return bRet;} short CModbusRegDefSet::Update(){ PutLongField(localno,m_wRegAddr); PutLongField(msdevno,m_wMSDevID); PutLongField(devno,m_wDevID); PutLongField(area,m_wArea); PutLongField(regaddr,m_wLocalAddr); PutField(name,m_strName.data()); return PutRecord(GetCurRecNo());}short CModbusRegDefSet::Add(){ BlankRecord(); /* blank out the record buffer */ PutLongField(localno,m_wRegAddr); PutLongField(devno,m_wDevID); PutLongField(area,m_wArea); PutLongField(regaddr,m_wLocalAddr); PutField(name,m_strName.data()); return AppendRecord();}void CModbusRegDefSet::DeleteAll(){ ExclusiveLock( F_SETLKW ); /* lock the files for our exclusive use */ while (GetFirst()) { DeleteRecord(); if (RecordDeleted()) PackDatabase(F_SETLKW); } ExclusiveUnlock(); /* unlock the files */}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -