首页 > 代码库 > [转] web_reg_save_param得到的数组的处理
[转] web_reg_save_param得到的数组的处理
方法一:
函数(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=http://www.mamicode.com/on", ENDITEM,
"Name=url", "Value=http://www.mamicode.com/xxxxxxxxx{topicid}.html", ENDITEM,
"Name=Username", "Value=http://www.mamicode.com/2007", ENDITEM,
"Name=Title", "Value=http://www.mamicode.com/null", ENDITEM,
"Name=Content", "Value=http://www.mamicode.com/{topicid}", ENDITEM,
"Name=aaaa", "Value=http://www.mamicode.com/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=http://www.mamicode.com/"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=http://www.mamicode.com/"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; } |
[转] web_reg_save_param得到的数组的处理