“存每个Tag的状态”是个不错的想法。
其实这并不麻烦啊,变量再多,只用一个循环就解决了。
#define AllCount 250
char TagName[30];
static short int LastStatus[AllCount];
static long int Count;
short int CurrentStatus,i;
Count=Count+1;
if (Count==1)//只是初始化数组,得到变量的初始值
{
for (i=0;i
{
sprintf(TagName,"Tag%d",i+1);
LastStatus[i]=GetTagWord(TagName);
return;
}
else
{
sprintf(TagName,"Tag%d",i+1);
CurrentStatus=GetTagWord(TagName);
if (CurrentStatus==LastStatus[i])
{ //应该做的事情}
else
{ //应该做的事情}
SetTagWord(TagName,CurrentStatus);
}
}