devset.cpp
来自「一个通讯管理机的源代码。比较好用。推荐」· C++ 代码 · 共 96 行
CPP
96 行
#include "devset.h"bool CDevSet::GetFirst(){ bool bRet = false; if ( GetFirstRecord() == XB_NO_ERROR ) { m_wDevNo = GetLongField(devno); m_wChannelNo = GetLongField(channelno); char* p = GetStringField(devname); int nLen = strlen(p); memcpy(m_szDevName,p,nLen+1); m_byDllAddr = GetLongField(dlladdr); m_bIsOn = GetLogicalField(ison); m_byLocalNo = GetLongField(localno); m_strDT = GetStringField(kind); m_wPasswd = (WORD)GetLongField(passwd); m_wConnectYXNo = GetLongField(connectyxno); m_dwIPAddr = GetLongField(ipaddr); bRet = true; } return bRet;} bool CDevSet::GetNext(){ bool bRet = false; if (GetNextRecord() == XB_NO_ERROR ) { m_wDevNo = GetLongField(devno); m_wChannelNo = GetLongField(channelno); char* p = GetStringField(devname); int nLen = strlen(p); memcpy(m_szDevName,p,nLen+1); m_byDllAddr = GetLongField(dlladdr); m_bIsOn = GetLogicalField(ison); m_byLocalNo = GetLongField(localno); m_strDT = GetStringField(kind); m_wPasswd = (WORD)GetLongField(passwd); m_dwIPAddr = GetLongField(ipaddr); bRet = true; } return bRet;} short CDevSet::Update(){ PutLongField(devno,m_wDevNo); PutField(devname,m_szDevName); PutLongField(dlladdr,m_byDllAddr); PutLongField(channelno,m_wChannelNo); PutField(ison,m_bIsOn?"T":"F"); PutLongField(localno,m_byLocalNo); PutField(kind,m_strDT.data()); PutLongField(passwd,m_wPasswd); PutLongField(connectyxno,m_wConnectYXNo); PutLongField(ipaddr,m_dwIPAddr); return PutRecord(GetCurRecNo());}short CDevSet::Add(){ BlankRecord(); /* blank out the record buffer */ PutLongField(devno,m_wDevNo); PutField(devname,m_szDevName); PutLongField(dlladdr,m_byDllAddr); PutLongField(channelno,m_wChannelNo); PutField(ison,m_bIsOn?"T":"F"); PutLongField(localno,m_byLocalNo); PutField(kind,m_strDT.data()); PutLongField(passwd,m_wPasswd); PutLongField(connectyxno,m_wConnectYXNo); PutLongField(ipaddr,m_dwIPAddr); return AppendRecord();}void CDevSet::Delete(WORD wDevNo){ ExclusiveLock( F_SETLKW ); /* lock the files for our exclusive use */ if (GetFirst()) { do { if (m_wDevNo == wDevNo) { DeleteRecord(); if (RecordDeleted()) PackDatabase(F_SETLKW); break; } } while(GetNext()); } ExclusiveUnlock(); /* unlock the files */}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?