TA的每日心情 | 郁闷 2017-1-11 15:48 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]测试小兵
|
前段时间有LR的网友提问如下的问题, 我将自己编写的代码贴出来,大家一起讨论。
问题:
我需要做参数化输入
假设有2个字段: customid和planid,一个customid下有多个planid,
我需要对customid和planid都做参数化输入,即顺序取一个customid,再随机在这个customid里取一个planid
但是planid要跟着customid变化
这是否是关联的问题?
怎么解决? 思路即可.
解决的代码:
Action()
{
int i,j,k,rnum;
char costomid[30];
char combin_planid[30],planid_temp[30],planid[30];
//先从costomid_single中顺序取一个costomid;
strcpy(costomid,lr_eval_string("{costomid_single}"));
lr_output_message("costomid=%s",&costomid);
//在combinid.dat中寻找相同costomid的个数;
j=0;
strcpy(combin_planid,"#");
for (i=1;i<10;i++) {
if (strcmp("end",lr_eval_string("{costomid}"))==0)
i=1000;
else
if (strcmp(costomid,lr_eval_string("{costomid}"))==0){
j=j+1;
strcat(combin_planid,lr_eval_string("{planid}"));
strcat(combin_planid,"#");
}
lr_advance_param("costomid");
}
lr_output_message("和%s相同的costomid的个数是=%d",&costomid,j);
//处理字符串,找出随机的那个planid
rnum = rand() % j;
lr_output_message("随机数是:%d",rnum);
k=0;
strcpy(planid_temp,"");
strcpy(planid,"");
for (i=0;i<50;i++) {
strncpy(planid_temp, &combin_planid, 1);
if (strcmp("#",planid_temp)==0)
k=k+1;
if (k-rnum-1==0)
strcat(planid,planid_temp);
}
strncpy(planid,&planid[1],10);
lr_output_message("你要用的参数costomid=%s,planid=%s",costomid,&planid);
return 0;
}
|
|