主对话框单击事件里使用多线程创建对话框B,正常情况见B对话框都是闪现一次,无法长期停留。
本代码利用MSG防止了此现象的发生,适合初学多线程的新手。
2024/8/3 22:16:18 9.88MB MFC 多线程 非模态对话框
1
用Delphi2010编码实现。
在开发中遇到了几个问题,现写出来供需要的朋友参考。
1.SSL问题,用的是indyhttp控件,使用SSL时需要添加IdSSLIOHandlerSocketOpenSSL1组件然后idhttp的iohandler属性指向IdSSLIOHandlerSocketOpenSSL1。
然后SSLoptions的method属性改为sslvSSLv23然后再放置两个SSL用到的DLL文件,可从这里下载Delphi2010兼容的dll文件http://pan.baidu.com/s/1mh6Lu6O2.图片编码问题,刚开始试用了各种编码,总是提示error_code":216201,"error_msg":"imageformaterror后在网上看到有人提示indy控件默认会对参数重新编码,把这个属性关闭后图片上传正常。
具体属性:httpoptions下的hoforceencodeparams关闭。
图片编码为base64,然后urlencode一下即可。
3.识别完成后的中文乱码问题其实传回的只要utf8转为unicode的,但由于一开始图简单,用了result:=indyhttp.post(url,img)这样的方法来直接获取返回值,导致返回值被indy又编码了一次。
然后再解码就总是不正常。
后改为post内用流接收返回值,然后再utf8解码正常。
1
1、用户登录页面,设为web应用的首页。
页面中应该包括用户名和密码的输入框以及登录和注册按钮。
2、登录成功页面。
页面中要包括“欢迎你,xxx”、“服务器处理结果:msg”(Action中封装的处理结果信息)和“服务器访问次数:n”这三行信息,其中,xxx为访问者在login页面提交的用户名,msg为服务器在判断用户名和密码一致后返回的信息(例如“登录成功”)或者为用户注册成功后返回的信息(例如“注册成功”),n为服务器访问次数的值。
3、登录失败页面。
页面中要包括“服务器处理结果:msg”,其中msg为服务器在判断用户名和密码不一致后返回的信息(例如“用户名与密码不一致”)。
2023/11/7 22:41:06 3.8MB j2ee struts action method
1
javacmpp2.03.0无jar纯源码demo(含服务端测试工具)[20171205]找了挺多资料,CMPP的资源很多,但可以参考可用的不多,特此开源cmpp的DEMO程序,无jar插件,纯源码实现。
语言为:java工具为:IntellijIDEA2017附带第三方CMPP服务器测试工具,便于调试。
注解详细如:privatelongMsg_Id=0x00;//信息标识,由SP接入的短信网关本身产生,本处填空。
privatebytePk_total=0x01;//相同Msg_Id的信息总条数,从1开始privatebytePk_number=0x01;//相同Msg_Id的信息序号,从1开始privatebyteRegistered_Delivery=0x01;//是否要求返回状态确认报告:0:不需要1:需要privatebyteMsg_level=0x01;//信息级别privateStringService_Id="";//业务类型,是数字、字母和符号的组合。
privatebyteFee_UserType=0x00;//计费用户类型字段0:对目的终端MSISDN计费;
1:对源终端MSISDN计费;
2:对SP计费privateStringFee_terminal_Id="";//被计费用户的号码privatebyteTP_pId=0x00;//GSM协议类型privatebyteTP_udhi=0x00;//GSM协议类型。
详细是解释请参考privatebyteMsg_Fmt=0x0f;//信息格式0:ASCII串3:短信写卡操作4:二进制信息8:UCS2编码(0f)15:含GB汉字privateStringMsg_src="";//信息内容来源(SP_Id)privateStringFeeType="01";//资费类别01:对“计费用户号码”免费02:对“计费用户号码”按条计信息费03:对“计费用户号码”按包月收取信息费04:对“计费用户号码”的信息费封顶05:对“计费用户号码”的收费是由SP实现privateStringFeeCode="000000";//资费代码(以分为单位)privateStringValId_Time="";//存活有效期privateStringAt_Time="";//定时发送时间privateStringSrc_Id="";//源号码SP的服务代码或前缀为服务代码的长号码,网关将该号码完整的填到SMPP协议Submit_SM消息相应的source_addr字段,该号码最终在用户手机上显示为短消息的主叫号码privatebyteDestUsr_tl=0x01;//接收信息的用户数量(小于100个用户)privateStringDest_terminal_Id="";//接收短信的MSISDN号码privatebyteMsg_Length;//信息长度(Msg_Fmt值为0时:<160个字节;
其它<=140个字节)privatebyte[]Msg_Content;//信息内容privateStringReserve="";//保留
2023/10/3 2:42:31 330KB cmpp
1
安装好python就能用
2023/9/13 22:16:33 3.87MB python 短信
1
识别结果大概是这样{'result':{'face_num':1,'face_list':[{'quality':{'occlusion':{'right_eye':0,'left_cheek':0.1459853947,'right_cheek':0.05144193396,'left_eye':0.465408802,'mouth':0.02919708006,'chin_contour':0.01420217194,'nose':0},'illumination':116,'blur':7.266304692e-06,'completeness':1},'age':22,'face_token':'dc6f8f9df5d977ea476e2d04acdf5063','race':{'type':'white','probability':0.6173604727},'glasses':{'type':'common','probability':0.9834988713},'gender':{'type':'male','probability':0.655915916},'face_probability':0.9185044169,'beauty':51.21487427,'angle':{'roll':-2.750922441,'yaw':28.97134399,'pitch':5.202290535},'location':{'height':65,'top':112.0704803,'width':76,'left':76.20765686,'rotation':-4},'face_type':{'type':'human','probability':0.9992217422},'face_shape':{'type':'oval','probability':0.4419156313},'expression':{'type':'none','probability':0.9999142885}}]},'error_msg':'SUCCESS','timestamp':1537413754,'cached':0,'error_code':0,'log_id':9465840013520}年龄:22颜值:51.21487427表情-type(none:不笑;
smile:微笑;
laugh:大笑):none表情-probability(表情置信度,范围【0~1】,0最小、1最大):0.9999142885脸型-type(square:正方形triangle:三角形oval:椭圆heart:心形round:圆形):oval脸型-probability(置信度,范围【0~1】,代表这是人脸形状判断正确的概率,0最小、1最大):0.4419156313性别-type(male:男性female:女性):male性别-probability(性别置信度,范围【0~1】,0代表概率最小、1代表最大。
):0.655915916能否带眼镜-type(none:无眼镜,common:普通眼镜,sun:墨镜):common能否带眼镜-probability(眼镜置信度,范围【0~1】,0代表概率最小、1代表最大。
):0.9834988713人种-type(yellow:黄种人white:白种人black:黑种人arabs:阿拉伯人):white人种-probability(人种置信度,范围【0~1】,0代表概率最小、1代表最大。
):0.6173604727真实人脸/卡通人脸-type(human:真实人脸cartoon:卡通人脸):human真实人脸/卡通人脸-probability(人脸类型判断正确的置信度,范围【0~1】,0代表概率最小、1代表最大。
):0.9992217422
2015/7/3 8:12:32 3KB python3.5 百度ai 人脸识别
1
移动应用平台appcanmas开发AppCan后端服务集成系统MAS 3MAS–MEAPAdapterSystem 3为什么使用MAS 5MAS系统构成 6MAS系统目录结构分析 7MAS配置文件解析 8service.xml 8interface.xml 11application.xml 12policy_[PolicyName].xml 12Initialize.js 13MAS适配器的实现 13MAS适配器运转环境 13MAS适配器 13Param对象 14Robot对象 14Request对象 16Response对象 16IF对象 16MAS适配器API 16MEAP.AJAX 17函数Runner(Option,Callback,Robot,Pretreat) 18MEAP.MYSQL 19函数BuildStatement(sql,params,options,cb) 21函数Runner(Option,Callback,Robot) 21函数buildPool(Option) 21MYSQLPOOL对象 22MEAP.SOAP 22函数Runner(Option,Callback,Robot) 23函数Server(Option,Callback) 24MEAP.SFS 25函数Runner(Option,Callback,Robot) 25MEAP.PARSER 26函数Runner(Type,SrcData,Callback,XSLT) 26函数MakeXSL(XSLTString) 27MEAP.MSG 27MEAP.LDAP 29MAS默认错误码 30
2019/11/11 4:21:47 261KB appcan MAS开发
1
st_asio_wrapper是一组类,功能是对boost.asio的包装(调试环境:boost-1.51.0),目的是简化boost.asio开发;
其特点是效率高、跨平台、完全异步,当然这是从boost.asio继承而来;
自动重连,数据透明传输,自动处理分包粘包问题(你可以像udp一样使用它);
注:只支持tcp协议;
教程:http://blog.csdn.net/yang79tao/article/details/77245141.1版更新内容:增加了自定义数据模式的支持,可用于st_asio_wrapperserver与其它客户端的通信、或者st_asio_wrapperclient与其它服务端的通信;
当然,两端都是st_asio_wrapper的话,就用透明传输即可(1.0版已经支持了)。
1.2版更新内容:修复BUG:当stop_service之后,再start_service时,client_base内部某些成员变量可能没有得到复位;
服务端增加修改监听地址功能,当然仍然要在start_service之前调用set_server_addr函数。
1.3版更新内容:增加自定义消息格式的发送,这个本来是在1.1版本实现的,结果我漏掉了,只实现了自定义消息格式的接收。
1.4版更新内容:将打包与解包器从client_base分离出来,以简化这个日益复杂的基类;
可以在运行时修改打包解包器。
1.5版更新内容:增加ipv6支持,默认是ipv4,服务端和客户端都通过设置一个ipv6的地址来开启这个功能;
增加了一些服务端helper函数,小改了一下客户端set_server_addr函数签名(调换了两个参数的位置以保持和服务端一样)。
1.6版更新内容:增加了接收消息缓存(改动较大,on_msg的语义有所变化,请看开发教程第三篇)。
1.7版更新内容:修复vc2010下编译错误;
修复默认解包器BUG(同时修改解包器接口);
修复log输出BUG;
更好的包装了服务端类库,现在服务端可以像客户端一样简单的使用了(完全不用继承或者重写虚函数,申请一个对象即可);
结构大调整,类名大调整,请参看开发教程第一篇。
1.8版更新内容:增加健壮性和稳定性;
退出服务更新优雅。
1.9版更新内容:提高代码通用性;
可以指定服务端同时投递多少个async_accept;
修复BUG,此BUG可能造成数据发送不完全。
2.0版更新内容:服务端增加对象池功能;
优化美化代码;
更规范化接口签名。
2015/10/13 15:38:36 16KB boost asio boost.asio asio_wrapper
1
无忧无虑工具包carefree-toolkit实现了一些常用功能和模块安装carefree-toolkit需求Python3.6或更高版本。
pipinstallcarefree-toolkit要么gitclonehttps://github.com/carefree0910/carefree-toolkit.gitcdcarefree-toolkitpipinstall-e.用法timeitclasstimeit(context_error_handler):def__init__(self,msg)时序上下文管理器。
参量msg:str,我们要计时的上下文名称。
例importtimefromcftool.miscimporttimeit#~~~[info]timing
2016/7/2 21:48:03 92KB python data-science numpy Python
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡