您的位置:首页 > 其它

[转] web_reg_save_param得到的数组的处理

2014-12-10 13:49 323 查看
方法一:

函数(sprintf,web_reg_save_param),其中红色字体是本文档最重要的
#include "web_api.h"

Action()
{
int i,iloop;
char idParam[200];
char idValue[200];
...
web_reg_save_param("topicarray", "LB=topic_", "RB=.html","Notfound=warning", "Search=body","Ord=All",LAST);
//注意Ord=All
web_url("访问指定XXX",
"URL=指定要访问的页面",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTTP",
LAST);

for ( i =1 ; i < atoi(lr_eval_string("{topicarray_count}"))+1; i++){

sprintf(idParam, "{topicarray_%d}", i);
sprintf(idValue, "%s", lr_eval_string(idParam));
lr_save_string(idValue,"topicid");//这个也比较实用的函数,放入参数,后续调用就比较简单了,
lr_message("The value argument is : %s", lr_eval_string("{topicid}"));

for ( iloop = 0; iloop < 5 ; iloop++){
web_submit_data("add_reply.do",
"Action=xxxxxxxxxxxx.do",
"Method=POST",
"RecContentType=text/html",
"Referer=xxxxxxx_{topicid}.html",
"Mode=HTTP",
ITEMDATA,
"Name=allow_guest", "Value=on", ENDITEM,
"Name=url", "Value=xxxxxxxxx{topicid}.html", ENDITEM,
"Name=Username", "Value=2007", ENDITEM,
"Name=Title", "Value=null", ENDITEM,
"Name=Content", "Value={topicid}", ENDITEM,
"Name=aaaa", "Value=aaa", ENDITEM,
LAST);
}
}

方法二:

如何使用web_reg_save_param方法保存的多个参数?

web_reg_save_param方法中,如果参数部分指明"ORD=ALL",则可以保存多个参数。例如“web_reg_save_param("flight_num","LB=<input type=/"checkbox/" name=/"","RB=/" value=/"on/">","ORD=ALL",LAST)”,将会根据实际情况查找符合条件的内容,然后把找到的结果依次保存在参数flight_num_1、flight_num_2、flight_num_3、……中。如果要使用这些参数,可以借助数组来完成。

下面的示例演示了在订票程序中,如何把找到的票号保存到数组中,然后利用循环语句生成参数名称并保存到数组中。得到参数列表后,接下来就能进行其它操作,例如删除订票等。

Action()

{ int i;

int count;

char param[10][20];

web_reg_save_param("flight_num","LB=<input type=/"checkbox/" name=/"","RB=/" value=/"on/">","ORD=ALL",LAST);

web_url("com.mercurytours.servlet.IteneraryServlet",

"URL=http://localhost/servlets/com.mercurytours.servlet.IteneraryServlet",

"TargetFrame=",

"Resource=0",

"RecContentType=text/html",

"Referer=http://localhost/servlets/com.mercurytours.servlet.ReservationServlet",

"Snapshot=t3.inf",

"Mode=HTML",

LAST);

count=atoi(lr_eval_string("{flight_num_count}"));

lr_error_message("已经订票的数量:%d",count);

for(i=1;i<=count;i++){

sprintf(param[i],"{flight_num_%d}",i);//参数名称存到数组中

lr_error_message(param[i]);

}

for(i=1;i<=count;i++){

lr_error_message(lr_eval_string(param[i]));//使用参数

}

return 0;

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: