DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: ZMskyuza
今日帖子: 27
在线用户: 12
导航: 论坛 -> 发布控件 斑竹:liumazi,ruralboy  
作者:
男 jopher3 (樵夫的马六甲) ▲▲▲▲▲ -
普通会员
2023/3/12 15:44:26
标题:
QuickBurro V8发布,支持Python语言!支持D11.3! 浏览:2573
加入我的收藏
楼主: QuickBurro V8发布!本次主要更新:
==========
1、Lua脚本语言引擎增强,增加32个新函数
2、新增Python脚本语言引擎,并为其扩展了18个模块、400余个函数
3、QuaBuilder升级为QuxBuilder,能同时编辑发布qua/qup模块
4、修复了SSL通信中的重协商漏洞
5、开始支持Delphi 11.3

产品网站:https://www.quickburro.org/
可下载使用,享受Delphi+Lua+Python混合编程的强大功能及创新乐趣!
----------------------------------------------
樵夫的大马甲
作者:
男 jopher3 (樵夫的马六甲) ▲▲▲▲▲ -
普通会员
2023/3/12 15:54:01
1楼: 用QuxBuilder,用Python/Lua脚本写三层架构的后端逻辑:
.
此帖子包含附件:
PNG 图像
大小:535.0K
----------------------------------------------
樵夫的大马甲
作者:
男 hujunchao (hujunchao) ▲△△△△ -
普通会员
2023/3/12 17:24:42
2楼: 好东西啊
----------------------------------------------
-
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2023/3/13 0:32:33
3楼: 既然号称市场萎缩,那为什么不分一部分精力去搞点别的语言和项目?
----------------------------------------------
只有偏执狂才能生存!
作者:
男 jopher3 (樵夫的马六甲) ▲▲▲▲▲ -
普通会员
2023/3/13 9:52:52
4楼: 怎样使用Python语言写后端业务逻辑?方便吗?
这里举个小例子:

1)、前端页面通过AJAX等方式对一个后端.qup模块发起调用,索取数据:
//
//  这里调用readdata.qua读取数据集...
 var _store = new Ext.data.Store({
    proxy: new Ext.data.HttpProxy({url: "/qupdemo/rpc/readdata.qup",method:"GET"}),
    reader: new Ext.data.JsonReader({recordcount: ''},QuaDataRecord),
    sortInfo: {field: 'customerid', direction: 'ASC'}});
 _store.setDefaultSort('customerid', 'ASC');
 _store.sort('customerid', 'ASC');
 _store.load();
//
// 这里显示一个表格... 
 var grid = new Ext.grid.GridPanel({
 store: _store,
 columns: [
    {header: '编号', dataIndex: 'customerid', width: 80},
    {header: '公司名称', dataInex: 'companyname', width: 250},
    {header: '通信地址', dataInex: 'address', width: 250},
    {header: '联系人', dataInex: 'contactname', width: 200},
    {header: '职位', dataInex: 'contacttitle', width: 200},
    {header: '联系电话', dataInex: 'phone', width: 150}
 ], autoHeight: true, renderTo: 'grid'});

2)、后端用Python写一个.qup模块,代码:
dbsettarget("","testdb");
h=dbopen("select customerid,companyname,address,contactname,"\
    +"contacttitle,phone from customers");
jh=dbtojsonarray(h);
print(joarraytostring(jh));

3)、用浏览器访问前端页面,看运行效果:
.
此帖子包含附件:
PNG 图像
大小:122.5K
----------------------------------------------
樵夫的大马甲
作者:
男 jopher3 (樵夫的马六甲) ▲▲▲▲▲ -
普通会员
2023/3/13 10:00:24
5楼: 上面这个示例是Python写Web业务逻辑(数据库访问)的例子。可以看出,非常的简单便捷!

同理,在QuickBurro支持下的Python还可以轻松实现消息推送、横向及反向RPC、文件目录访问、多服务器分布式访问、Json/Xml/Parcel、WebSocket服务、JWT/Web会话及中间件配置管理等大量功能。

既可以提供B/S服务,也可为C/S三层、移动客户端等提供服务。
----------------------------------------------
樵夫的大马甲
作者:
男 jopher3 (樵夫的马六甲) ▲▲▲▲▲ -
普通会员
2023/3/13 10:16:10
6楼: 再看一个消息推送的示例:

1)、用Python写个示例程序testsendmsg.qup,推送消息给中间件的桌面长连接客户端:
def testmain():
    println("Qup动态页面消息传输函数测试!<br><br>")
    if sendtoallconnections("","MessageText","别有幽愁暗恨生,此时无声胜有声!") : 
        println("群发消息到全部连接成功!<br>")
    else :
        println("群发消息到全部连接失败啦!<br>")
    delay(20)
    if sendtostrpropconnections("china","customer","MessageText","四弦一声如裂帛,东船西舫悄无言!") : 
        println("向customer小组群发消息成功!<br>")
    else :
        println("向customer小组群发消息失败啦!<br>")
    delay(20)
    if sendtointpropconnections("china",1,"MessageText","千呼万唤始出来,犹抱琵琶半遮面!") : 
        println("向小组1群发消息成功!<br>")
    else :
        println("向小组1群发消息失败啦!<br>")
    delay(20)
    if sendtoroleidconnections("china","operator","MessageText","住近浔阳低地湿,黄芦苦竹绕宅生。") : 
        println("向操作员们群发消息成功!<br>")
    else :
        println("向操作员们群发消息失败啦!<br>")
testmain()

2)、打开一个消息接收的中间件客户端程序,准备接收

3)、用浏览器打开上面的这个testsendmsg.qup模块,看效果:
.
此帖子包含附件:
PNG 图像
大小:78.3K
----------------------------------------------
樵夫的大马甲
作者:
男 ritapl (ritapl) ★☆☆☆☆ -
盒子活跃会员
2023/3/13 10:27:37
7楼: 服务器部署Python的环境和依赖库这些是不是比较麻烦?
----------------------------------------------
-
作者:
男 jopher3 (樵夫的马六甲) ▲▲▲▲▲ -
普通会员
2023/3/13 10:29:04
7楼: 再看一个横向调用Delphi写的动态库的示例:

1)、用Delphi写一个动态库potyman.so,注册到中间件,业务逻辑:
//
// 业务逻辑处理主函数...
function MainFunction(InParcel: TMBParcel; OutParcel: TMBParcel): boolean;
var
   manname,resultstr: String;
   age: integer;
   hours: integer;
   salary: double;
   ispity: boolean;
begin
//
// 取传入参数...
   manname:=InParcel.GetStringGoods('name');
   age:=InParcel.getIntegerGoods('age');
   hours:=InParcel.getIntegerGoods('hours');
   salary:=InParcel.getdoubleGoods('salary');
//
// 业务逻辑处理...
   try
      if (hours<1) or (salary>5000000) then
         ispity:=false
      else
         ispity:=((salary/30/hours)<(age+5));
      if ispity then
         begin
          resultstr:='可怜的'+manname+',今年'+inttostr(age)+'岁,每天必须工作'+inttostr(hours)
          +'个小时,每月薪水才'+formatfloat('0.00',salary)+'元,真特么惨!';
         end
      else
         begin
          resultstr:='幸运的'+manname+',今年'+inttostr(age)+'岁,每天只需要工作'+inttostr(hours)
          +'个小时,每月薪水可达'+formatfloat('0.00',salary)+'元,真特么爽!';
         end;
      //
      // 返回结果...
      outparcel.putstringgoods('result',resultstr);
      result:=true;
   except
      result:=false;
   end;
end;

2)、用Python写一个.qup模块,用于调用pityman.so:
#
# 注意: 本示例运行之前需要事先将pityman.dll(.so)插件注册到中间件,plugid为“pityman”,
#        此插件位于中间件demo目录下的Demo002-公用测试插件下
#
def testmain() :   
    # 准备传入参数包...
    h1=createparcel("")
    putstringgoods(h1,"name","李二毛") 
    putintegergoods(h1,"age",35)    
    putintegergoods(h1,"hours",12)    
    putfloatgoods(h1,"salary",3578.50)   
    # BinaryRPC(调用Delphi写的pityman插件)...
    h2=binaryrpc("","pityman","",h1)
   
    # 成功,输出结果...
    if h2!=-1 :
        println("个人信息经智能机器人测算成功,结论:<br>")
        println(getstringgoods(h2,"result"))
        freeparcel(h2)
    else :
        println("个人信息经智能机器人测算失败,错误:<br>")
        println(lasterror())  
    # 释放对象...   
    freeparcel(h1)
testmain()

3)、浏览器访问上面这个.qup文件,进行试运行,看效果:
.
此帖子包含附件:
PNG 图像
大小:25.7K
----------------------------------------------
樵夫的大马甲
作者:
男 jopher3 (樵夫的马六甲) ▲▲▲▲▲ -
普通会员
2023/3/13 10:30:36
8楼: @7楼,安装部署Python的资料
此帖子包含附件:jopher3_2023313103035.pdf 大小:2.20M
----------------------------------------------
樵夫的大马甲
作者:
男 lufangyu (伟人录) ★☆☆☆☆ -
盒子活跃会员
2023/3/13 11:08:11
9楼: 厉害!
----------------------------------------------
-
作者:
男 gsdfer (gsdfer001) ▲▲△△△ -
普通会员
2023/3/14 14:06:13
10楼: 垃圾,大家千万别买,V7搞的大批老用户不敢升级,现在还要收年费才能用, 有时候服务态度还十分恶劣。现在的版本都没几个人用于生产,又没源码,大家要小心。
----------------------------------------------
-
作者:
男 jopher3 (樵夫的马六甲) ▲▲▲▲▲ -
普通会员
2023/3/14 16:18:13
11楼: 一个是永久升级版,收年费的是年费会员版,两者相关吗?
谁说V7不能升级? 自己无能还怪别人,搞笑。谁阻止你升级了?
我新功能加在年费会员版收费,有错吗?关你什么事?
----------------------------------------------
樵夫的大马甲
作者:
男 jopher3 (樵夫的马六甲) ▲▲▲▲▲ -
普通会员
2023/3/14 16:25:48
12楼: 你都免费升级了十几年了,
我用新功能弄个年费会员版收点费,你心理不平衡?需要我永久对你那1.5k或3k,5k服务?不允许我有新的利润增长点?
千万注意这种不正常的逻辑!
天下熙熙,皆为利来,天下攘攘,皆为利往,谁都是凭劳动谋福利,咱收点钱谋求产品长期发展,有错了吗?
----------------------------------------------
樵夫的大马甲
作者:
男 jopher3 (樵夫的马六甲) ▲▲▲▲▲ -
普通会员
2023/3/14 16:31:13
13楼: 永久升级版不是一直在修复缺陷吗?稳定一个经典版不好吗?
说升级太频繁是你们,现在稳住一个版本,又不行了吗?
别来搞事!我可不吃你这套。
----------------------------------------------
樵夫的大马甲
作者:
男 gsdfer (gsdfer001) ▲▲△△△ -
普通会员
2023/3/14 16:38:27
14楼: 稳个鸟毛啊,V6升V7阉了那么多功能没补回来,谁像你这么升级的,V7都没多少人用上,别人一提BUG你就怼回来别人不会用,谁敢继续听你忽悠,没大规模使用所谓的稳定都是你自己一厢情愿,为啥群里还有那么多停在V5,V4的,如果真产品真能用,别人是傻子吗。
----------------------------------------------
-
作者:
男 jopher3 (樵夫的马六甲) ▲▲▲▲▲ -
普通会员
2023/3/14 16:48:24
15楼: 不要恶意中伤!

V7.21非常稳定可靠,经过大量压力测试和实际问题的修复处理的,而且我一直叫你们提bug反馈的!你不提,莫须有说不好用,对吗?

至于功能取舍,作为开发者,我有权力决定的!主体功能都没变,源码级兼容,很差吗?!

给你升级又不升,又要怪我,什么逻辑!没有根据的话,请你不要瞎bb
----------------------------------------------
樵夫的大马甲
作者:
男 gsdfer (gsdfer001) ▲▲△△△ -
普通会员
2023/3/14 16:50:37
15楼: 永久升级是当初你自己说的,现在你反悔还说别人不地道,当初你别承诺啊。
搞个V8,还不是和之前一样,你改个名字叫快狗行不行。名字都搞一样,版本号也延续,操作界面模式都一样,这就是同一个产品的功能迭代。就是把当初的承诺撕毁了,毫无契约精神。
----------------------------------------------
-
作者:
男 jopher3 (樵夫的马六甲) ▲▲▲▲▲ -
普通会员
2023/3/14 16:53:28
16楼: V7.x都磨砺了2,3年了,一直在等你们提bug及不断改进完善,到7.21,目前都提不出bug了,还恶意中伤说不好用,亏你有脸说!丢脸啊!

都是成年人了,都应该知道分寸,无厘头的话,不要瞎说!
----------------------------------------------
樵夫的大马甲
作者:
男 gsdfer (gsdfer001) ▲▲△△△ -
普通会员
2023/3/14 16:55:26
17楼: 还一直等,前面几年一提bug都被你怼回来,大家都不敢说话了,最近你态度好点了,说话的才多了几个,你真不知道还是假不知道
----------------------------------------------
-
作者:
男 jopher3 (樵夫的马六甲) ▲▲▲▲▲ -
普通会员
2023/3/14 16:56:54
17楼: V7.21永久升级的呀!新功能加在年费会员版里,不矛盾!

谁说V7.21不升级了吗?我在等你们的使用反馈,等你们提问题,不可以吗? 稳住一下,不可以吗?

我出分支版本搞收入,你不支持,可以无视的!
----------------------------------------------
樵夫的大马甲
作者:
男 jopher3 (樵夫的马六甲) ▲▲▲▲▲ -
普通会员
2023/3/14 17:12:20
18楼: 为了让你们用好,V7.21下我都写了1000页的中文资料,与版本100%配套的,还要说啥?!我有啥问题? 你自己不看资料,又不去仔细用,靠想象说V7有bug不好用,对吗?

你做过压测、对比过性能吗?凭啥说不好?你总得给出具体的证据的。

一直叫你们提bug,你提了吗?哪次我不是非常迅速地修复的?请把bug说明白,发给我!不要在这里莫须有!
----------------------------------------------
樵夫的大马甲
作者:
男 wfbhappy (波波) ★☆☆☆☆ -
普通会员
2023/3/14 17:12:58
18楼: 好东西,多招个人就好了
----------------------------------------------
长兴波波
作者:
男 jopher3 (樵夫的马六甲) ▲▲▲▲▲ -
普通会员
2023/3/15 9:50:28
19楼: 完备的体系结构,通过功能调整及引入Lua/Python等脚本语言,使系统的适应性、兼容性、应用开发能力都得到了显著的提高。
.
此帖子包含附件:
PNG 图像
大小:101.9K
----------------------------------------------
樵夫的大马甲
作者:
男 jopher3 (樵夫的马六甲) ▲▲▲▲▲ -
普通会员
2023/3/15 9:53:41
20楼: 完善的技术资料,对应几百个Demo程序,与版本完全配套:
.
此帖子包含附件:
PNG 图像
大小:454.5K
----------------------------------------------
樵夫的大马甲
作者:
男 blueflag (昆了) ★☆☆☆☆ -
盒子活跃会员
2023/3/15 10:09:05
21楼: 其实QuickBurro还不错,我是很多年前都买了OEM版,纯属爱好,一直在研究学xi。中间发生很多故事都能理解,换位思考就好了。
----------------------------------------------
-
作者:
男 hsj (hsj) ★☆☆☆☆ -
盒子活跃会员
2023/3/15 18:05:29
22楼: 前几天给提了个udpclient不能发包的问题,没有给出啥建设性意见,可能楼主比较忙,只好自己动手,还好解决了
----------------------------------------------
qq:171833017,靖源软件http://www.dxmylove.com
作者:
男 jopher3 (樵夫的马六甲) ▲▲▲▲▲ -
普通会员
2023/3/15 21:08:40
23楼: 楼上的,最近是比较忙,直到今天才把事情弄好,开始空点了。

你说的udp控件问题,是由于中间件全都使用TCP通信、很少用到UDP,没有经过各种delphi版本的测试造成。 目前已经修复,会在后续更新中生效。
----------------------------------------------
樵夫的大马甲
作者:
男 clis (kapoka) ★☆☆☆☆ -
盒子活跃会员
2023/3/15 22:17:00
24楼: 目前采用QB V7 在六七个服务器,包括 win/Linux、内外网生产环境下组网使用,很稳定 , 尤其是利用Lua 的脚本(现在支持Python),解决了业务逻辑脚本化的需求,为这个打磨了N年的产品点赞 !
----------------------------------------------
望山跑死马
作者:
男 wfbhappy (波波) ★☆☆☆☆ -
普通会员
2023/3/18 15:29:27
25楼: 脚本化和php脚本语言是一样的吧
----------------------------------------------
长兴波波
作者:
男 zhengganghua (大猫咪) ★☆☆☆☆ -
盒子活跃会员
2023/3/20 13:58:28
26楼: 老樵的东西还是不错的,增加新功能收费无可厚非,对老用户优惠一点就可以,毕竟是大家陪着一起走过来的,需要照顾一下情绪
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行109.375毫秒 RSS