📄 msdevset.cpp
字号:
#include "msdevset.h"bool CMSDevSet::GetFirst(){ bool bRet = false; if ( GetFirstRecord() == XB_NO_ERROR ) { m_wDevID = GetLongField(devno); m_wChannelID = GetLongField(channelno); m_strName = GetStringField(devname); m_byDllAddr = GetLongField(dlladdr); m_bIsOn = GetLogicalField(ison); m_wPasswd = (WORD)GetLongField(passwd); bRet = true; } return bRet;} bool CMSDevSet::GetNext(){ bool bRet = false; if (GetNextRecord() == XB_NO_ERROR ) { m_wDevID = GetLongField(devno); m_wChannelID = GetLongField(channelno); m_strName = GetStringField(devname); m_byDllAddr = GetLongField(dlladdr); m_bIsOn = GetLogicalField(ison); m_wPasswd = (WORD)GetLongField(passwd); bRet = true; } return bRet;} bool CMSDevSet::GetFirst(WORD wChannelNo){ bool bRet = false; if ( GetFirstRecord() == XB_NO_ERROR ) { do { m_wDevID = GetLongField(devno); m_wChannelID = GetLongField(channelno); m_strName = GetStringField(devname); m_byDllAddr = GetLongField(dlladdr); m_bIsOn = GetLogicalField(ison); m_wPasswd = (WORD)GetLongField(passwd); } while ((m_wChannelID != wChannelNo) && (GetNextRecord() == XB_NO_ERROR )); if (m_wChannelID == wChannelNo) bRet = true; } return bRet;} bool CMSDevSet::GetNext(WORD wChannelNo){ bool bRet = false; if (GetNextRecord() == XB_NO_ERROR ) { do { m_wDevID = GetLongField(devno); m_wChannelID = GetLongField(channelno); m_strName = GetStringField(devname); m_byDllAddr = GetLongField(dlladdr); m_bIsOn = GetLogicalField(ison); m_wPasswd = (WORD)GetLongField(passwd); } while ((m_wChannelID != wChannelNo) && (GetNextRecord() == XB_NO_ERROR )); if (m_wChannelID == wChannelNo) bRet = true; } return bRet;} short CMSDevSet::Update(){ PutLongField(devno,m_wDevID); PutField(devname,m_strName.data()); PutLongField(dlladdr,m_byDllAddr); PutLongField(channelno,m_wChannelID); PutField(ison,m_bIsOn?"T":"F"); PutLongField(passwd,m_wPasswd); return PutRecord(GetCurRecNo());}short CMSDevSet::Add(){ BlankRecord(); /* blank out the record buffer */ PutLongField(devno,m_wDevID); PutField(devname,m_strName.data()); PutLongField(dlladdr,m_byDllAddr); PutLongField(channelno,m_wChannelID); PutField(ison,m_bIsOn?"T":"F"); PutLongField(passwd,m_wPasswd); return AppendRecord();}void CMSDevSet::Delete(WORD wDevNo){ ExclusiveLock( F_SETLKW ); /* lock the files for our exclusive use */ if (GetFirst()) { do { if (m_wDevID == wDevNo) { DeleteRecord(); if (RecordDeleted()) PackDatabase(F_SETLKW); break; } } while(GetNext()); } ExclusiveUnlock(); /* unlock the files */}void CMSDevSet::DeleteAll(){ if ( NoOfRecords()) { if(GetFirstRecord() == XB_NO_ERROR ) { while( 1 ) { if( !RecordDeleted()) { if(DeleteRecord() != XB_NO_ERROR ) break; } if(GetNextRecord() != XB_NO_ERROR ) break; } } PackDatabase(F_SETLKW); }// 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 + -