现在有一个流程理不出头绪来,程序中有一个定时器,每隔5秒触发一次。有一个listbox,里面的数据也是不确定的,可能增加也可能减少。
现在要求:触发定时器时,发送listbox的项数据,如果就一项,则发送第一项的数据。如果listbox有3项,则下一次时传送第2项的数据,如此类推循环执行。
现在要求:触发定时器时,发送listbox的项数据,如果就一项,则发送第一项的数据。如果listbox有3项,则下一次时传送第2项的数据,如此类推循环执行。
这是个定时监控listbox中数据的程序,而listbox中的数据是动态变化的,如果监控到listbox中只有一项数据,那么就直接发送listbox中的第一项数据,如果监控到listbox中有三项数据,则下一次时间间隔(也就是下一次定时器触发时)发送listbox中的第二项数据。如此一直监控下去。
if(m_nIndex < nItemCount - 1)
SendOneItem(++m_nIndex);
并且不允许发送重复数据
还需要一个结构记录已经发送的项
当定时器触发时,取出一项,与历史记录比较,如果没有发送过,就发送
为保证数据发送的完整性,也为了软件的可靠性,进行如下步骤
1。在定时器回调函数中,记录listctrl中的记录个数,并根据个数申请空间,将控件所有条目获得并保存到申请空间内(快照)
2。发送第一个数据
3。在定时器回调函数中,逐条顺序发送快照中数据
4。当发送个数等于记录个数,返回1,重复快照动作