如何在sencha touch开发应用中打开网页
Sencha 旗下的产品,如果你熟练Extjs,几乎是零学习成本,平滑过渡到Touch开发,Sencha是一个非常活跃的组织,技术更新和支持都有很好的保障,世界财富100强里,50%都在用他们的产品完美支持各大移动平台Android、IOS、WP、BlackBerry等,同时可以运行在任何HTML5兼容或以webkit为内核的浏览器上(chrome,safari,360|搜狗极速模式)等,一次编写,n次复用采用超强的cmd压缩、Html5缓存和over-the-air技术,离线访问,解决您对流量的担忧完美支持本地打包,一行命令即可将整个WebAPP打包成为NativeApp,非常方便,不需做任何变更(令我震惊的是可以直接通过ajax访问远程的服务没有跨域问题)MVC开发模式,充分解耦,层次分明针对不同平台,区别对待,一个app,phone和tablet两种展现便捷的Sencha Cmd命令工具,类似ruby的命令行,辅助开发丰富的报表控件业界最完备、精致的API文档,丰富的学习资料,几乎一看就懂,强大的forum支持稳定性、JSONP、兼容性等小细节,堪称完美
pcre匹配后出现什么样的结果
参考如下代码:
#include 《string.h》#include 《stdio.h》#include 《pcre.h》 int main(){ pcre *re; const char *error; int errorOffset, i = 0; /** * pcre_exec匹配的结果 * ovector的结构为 * {匹配结果1的起始位置,匹配结果1的结束位置,匹配结果2的起始位置,...匹配结果N的结束位置} */ int oveccount = 2, ovector[oveccount]; /** * rc是pcre_exec匹配到的结果数量 */ int rc; /** * pcre_exec执行的偏移量 * 从匹配到的结果的结束位置开始下一次匹配 */ int exec_offset = 0; const char *captured_string; char *subject = “1t2t3t4t5t6t7t8t9t0tatbtct黄t避孕t“; char *pattern = “[^t]+t“; re = pcre_compile( pattern, PCRE_CASELESS, &error, &errorOffset, NULL ); if ( re == NULL ) { printf(“compilation failed at offset%d: %s\n“, errorOffset, error); return 0; } do { // exec_offset偏移量 默认从1开始,然后循环的时候从匹配到的结果开始 rc = pcre_exec( re, NULL, subject, strlen(subject), exec_offset, 0, ovector, oveccount ); if ( rc 》 0 ) { // 获取到匹配的结果 pcre_get_substring( subject, ovector, rc, 0, &captured_string ); printf(“captured string : %s\n“, captured_string); // 设置偏移量 exec_offset = ovector; i++; } } while ( rc 》 0 ); printf(“match %d\n“, i); return 0;}
vb+asp.net中的attributes.add
btSure.Attributes.add(“onclick“,“check();“)是前台运行的,效果跟OnClientClick这个事件一样。btSure_Click()这个事后台的方法自由你的check()返回TRUE了才执行btSure_Click()