步科触摸屏 宏 刚写的 ,看看有没有办法压缩一下
#include "macrotypedef.h"
#include "math.h"
int MacroEntry()
{
signed short recipeNameBuf[12] = {0};
signed short Buf[12] = {0};
short i;
// 根据 LW130 的值执行不同的操作
switch (LW130)
{
case 1:
// 在 15 组用户密码中对比
for (i = 0; i < 27; i++)
{
// 将 D400 数组的值复制到 RW10000 数组中
RW10000[i] = D400[i];
}
break;
case 2:
// 在 15 组用户密码中对比
for (i = 0; i < 27; i++)
{
// 将 D400 数组的值复制到 RW10100 数组中
RW10100[i] = D400[i];
}
break;
case 3:
for (i = 0; i < 27; i++)
{
RW10200[i] = D400[i];
}
break;
case 4:
for (i = 0; i < 27; i++)
{
RW10300[i] = D400[i];
}
break;
case 5:
for (i = 0; i < 27; i++)
{
RW10400[i] = D400[i];
}
break;
case 6:
for (i = 0; i < 27; i++)
{
RW10500[i] = D400[i];
}
break;
case 7:
for (i = 0; i < 27; i++)
{
RW10600[i] = D400[i];
}
break;
case 8:
for (i = 0; i < 27; i++)
{
RW10700[i] = D400[i];
}
break;
case 9:
for (i = 0; i < 27; i++)
{
RW10800[i] = D400[i];
}
break;
case 10:
for (i = 0; i < 27; i++)
{
RW10900[i] = D400[i];
}
break;
case 11:
for (i = 0; i < 27; i++)
{
RW11000[i] = D400[i];
}
break;
case 12:
for (i = 0; i < 27; i++)
{
RW11100[i] = D400[i];
}
break;
case 13:
for (i = 0; i < 27; i++)
{
RW11200[i] = D400[i];
}
break;
default:
// 如果 LW130 的值不是 1 或 2,则什么也不做
break;
}
// 根据 LW132 的值执行不同的操作
switch (LW132)
{
case 1:
// 在 15 组用户密码中对比
for (i = 0; i < 27; i++)
{
// 将 D400 数组的值复制到 RW10000 数组中
D400[i]=RW10000[i] ;
}
break;
case 2:
// 在 15 组用户密码中对比
for (i = 0; i < 27; i++)
{
// 将 D400 数组的值复制到 RW10100 数组中
D400[i]=RW10100[i] ;
}
break;
case 3:
for (i = 0; i < 27; i++)
{
D400[i]=RW10200[i] ;
}
break;
case 4:
for (i = 0; i < 27; i++)
{
D400[i]=RW10300[i] ;
}
break;
case 5:
for (i = 0; i < 27; i++)
{
D400[i]=RW10400[i];
}
break;
case 6:
for (i = 0; i < 27; i++)
{
D400[i]=RW10500[i];
}
break;
case 7:
for (i = 0; i < 27; i++)
{
D400[i]=RW10600[i];
}
break;
case 8:
for (i = 0; i < 27; i++)
{
D400[i]=RW10700[i];
}
break;
case 9:
for (i = 0; i < 27; i++)
{
D400[i]=RW10800[i];
}
break;
case 10:
for (i = 0; i < 27; i++)
{
D400[i]=RW10900[i];
}
break;
case 11:
for (i = 0; i < 27; i++)
{
D400[i]=RW11000[i];
}
break;
case 12:
for (i = 0; i < 27; i++)
{
D400[i]=RW11100[i];
}
break;
case 13:
for (i = 0; i < 27; i++)
{
D400[i]=RW11200[i];
}
break;
default:
// 如果 LW132 的值不是 1 或 2,则什么也不做
break;
}
// 确定当前配方编号
int currentRecipeNumber = LW130;
if (currentRecipeNumber != 0)
ReadLocal("RW", 0, 12, (void*)recipeNameBuf, 0);
{
// 计算配方名称和参数的写入地址
int recipeNameStartAddress = 20 + (currentRecipeNumber - 1) * 100;
// 写入配方名称和参数
WriteLocal("RW", recipeNameStartAddress, 12, (void*)recipeNameBuf, 0);
}
// 确定当前选择的模型编号
int currentModelNumber = LW132;
// 判断 LW132 是否不等于 0
if (currentModelNumber != 0)
{
// 计算模型名称和参数的读取地址
int modelNameStartAddress = 20 + (currentModelNumber - 1) * 100;
// 读取模型名称和参数
ReadLocal("RW", modelNameStartAddress, 12, (void*)Buf, 0);
// 写入模型名称和参数
WriteLocal("RW", 0, 12, (void*)Buf, 0);
}
return 0;
}