- 博客(227)
- 资源 (14)
- 收藏
- 关注

原创 发布Acro Multi-Language Suite for Delphi.Net
在www.evget.com 发布Acro Multi-Language Suit for Delphi.Nethttp://www.evget.com/zh-CN/product/1534/feature.aspx原来的Acro Multi-Language DD改为Acro Multi-Language Suit for Delphi Win32
2008-03-02 14:43:00
1670
1

原创 干净搞定delphi多语言-兼论设计模式
随着全球化程度加深,软件越来越像蒲公英,到处飘散、扎根。这其中要解决的是不同语言的显示问题。我们当然希望一套程序,可以不修改代码就可以支持不同的语言,不要去维护很多的版本。 首先要谈到的一个问题是乱码问题,因为delphi win32到11.x版还是不支持unicode,所以一般使用Ansi码,有这样几种情况会显示乱码:使用的语言文字与系统当前设定的语
2005-01-11 10:38:00
10351
2
原创 使用Xenova/detr-resnet-50作物品识别
(3)模型如果按Xenova/detr-resnet-50/resolve/main放置,执行会报错:Error: An error occurred during model execution: "Missing the following inputs: pixel_mask.解决:从国内镜像下载:https://hf-mirror.com/Xenova/detr-resnet-50/tree/main。(2)huggingface.co网站被封锁了,下载不了模型。感觉不快,我笔电上花了14秒。
2025-02-12 12:55:24
249
原创 按vue组件实例类型实现非侵入式国际化多语言翻译
vue3##国际化##本地化##international#web界面国际化,I18N(Internationalization,国际化),I11L(International,英特纳雄耐尔),L10N(Localization,本地化),显示文字多语言化是其主要内容。浏览器的js提供了Intl全局对象,html提供了translate属性。某些浏览器插件支持一键“翻译网页”。
2024-12-02 18:45:00
2100
原创 qunit/mocha/jest在nodejs下的集成测试原理分析
qunit、mocha、jest是javascript单元测试框架中比较流行的几个。单元测试强调的是“独立性”,验证这个单元自身是否能正常工作。测试用例尽量不要依赖外部条件,必须依赖的外部条件不具备时自己mock模拟,不需要等待别的同事提供条件给你。集成测试强调的是“协作”,在正式工作环境中,验证全部单元是否能彼此匹配的正常工作。但在实践中,单元对外部的依赖是常常发生的,如果都要自己mock一个环境,工作量就比较大,因此想在集成的环境中来做单元测试。
2024-12-02 18:15:00
619
原创 nodejs后台babel在线热编译jsx
浏览器加载react/vue组件时,遇到es6转es5,jsx转js...时,一种方法是用webpack离线编译,一种方法是用babel在线热编译(为了效率部署前可以预热)。但在多并发时,问题来了:多个并发任务可能会同时都检查到缓存不存在,然后开始编译.......很浪费,其实只需要一个任务来编译,其它任务等待编译结束后再读取缓存。先检查是否有编译后缓存文件,有就直接读取,否者编译,再读取。我比较喜欢在线热编译,好处是发布时快,不经过build直接源码发布,并可以避免忘记编译步骤导致bug。
2024-05-09 18:04:39
508
原创 react框架中无构建模式直接使用es6组件
但是,大家写react组件都是按es6语法在写,最后搞了一大堆webpack/babel来转成es5运行,啰里啰嗦的。我比较喜欢“浏览器原生开发”,不想如俄罗套娃一样,一层层套下去,搞了很多半生不熟的工具(react-app在node_modules下搞出的921个组件,是很唬人的),最后出问题了还不知道哪里找。react框架,看到的总是使用es5,通过webpack编译构建。react官方,直到现在的v18.1.0版本中,只有cjs和umd版本,都没有esm(es6)版本,看起来是对es6的不认可?
2024-03-13 16:14:02
502
原创 浏览器require加载devextreme-react组件
let require('a/b/c'),实际是加载了/a/b/c/index.js,浏览器以为是来自/a/b/c.js,当前目录是/a/b,实际当前目录应该是/a/b/c,如果index.js中有一句require('../d.js'),浏览器就会解析为require('/a/d.js'),导致找不到文件,实际应该是a/b/d.js。后台的static要尝试在使用此目录下的index.js文件,如果没有index.js,看看有没有package.json文件,解析使用其中的main属性指向的文件。
2024-01-22 18:22:34
1111
1
原创 建立无需build的react单页面应用SPA框架(2)
create可以在异步组件的componentDidMount处理,destroy就不能在动态元件的componentWillUnmount处理了,甚至不能在tabs的onTabClose事件处理,来不及了,虽然类组件可以,但函数式组件不会触发渲染重调用。tabs切换时,自己的框架需要处理组件的生命周期,要有active/deactive,让组件能知道何时创建或清除一些资源的使用,比如setInterval/clearInterval。只要在根原件把LCID设置为响应式,改变时,tabs各个组件会刷新。
2023-08-28 18:09:13
699
原创 用easyui DataGrid编辑树形资料
easyui显示编辑树形资料有TreeGrid元件,但是这个元件的vue版本和react版本没有分页功能。virtual scroll功能也表现不佳。展开收拢时,计算好每个节点的isVisual属性,通过DataGrid的filter来显示和隐藏。节点按同级排序,按深度优先扫描树形节点,把节点一个个加入到平面的数组中。先计算好每个节点的层级level,然后template中设置缩进大小。(1)如何显示成树形。即,子节点如何有缩进。(3)排序时如何保持节点的上下级层级关系。(2)如何展开和收拢节点。
2023-08-17 17:57:51
1489
原创 建立无需build的react单页面应用SPA框架(1)
babel需要require函数,浏览器没有这个函数,必须是同步函数,浏览器原生fetch函数是异步的不可用。用了函数的caller来处理相对路径问题。react版本的easyui的tabs元件,可能有bug,新增加的tabPanel不会被选中,无论用tabs的select函数,还是用tabs的selectedIndex属性,或者tabPanel的selected属性,都没搞定。业务组件不可能写的时候全部知道(根据用户权限决定),也不可能一次性全部加载(影响首屏效率),应该是需要的时候,才从服务器加载。
2023-06-21 11:45:35
582
原创 建立无需build的vue单页面应用SPA框架
业务组件不可能写的时候全部知道(根据用户权限决定),也不可能一次性全部加载(影响首屏效率),应该是需要的时候,才从服务器加载。vue为此提供了异步组件,可以用Vue.defineAsyncComponent来创建。(1)业务组件用什么文件格式?本来js的初心就是“即改即用”,我不太喜欢ts,jsx这些需要build的东西。如果用ejs做SPA,js代码控制好全局变量冲突不算严重,但dom元素用jquery操作会遇到很多的命名冲突。页面划分为上中下三层,中间划分为左右两部分,左边是功能树,右边是功能区。
2023-06-19 16:48:21
561
原创 react easyui datagrid/treegrid的几个问题
easyui的react版本比较难用。1.如何增加column?column是增加了,但是filter面板和资料区都没有刷新,不行。 easyui文档不全面,通过console debug找到个changeColumns函数,改为: ok,显示正常。2.如何新增row?选中新增的row,聚焦到新增的row光标闪烁。 焦点没有聚焦到新增的行,光标没有闪烁。...
2022-06-24 16:16:10
610
原创 浏览器中使用react+jsx
开始学react,先只在浏览器处理,不搞webpack等预处理。先安装react,我的版本18.1.0:npm install -g reactnpm install -g react-dom再安装babel,我的版本7.17.11。通天塔,很牛的样子,要把上帝搞乱的语言重新统一起来,负责解析jsx文件:npm install -g @babel/standalone写一个like_button.jsx文件:'use strict';class LikeButton ex
2022-05-13 17:39:20
863
原创 delphi10.4使用uniGUI
从csdn下载了uniGUI的1.90.0.1555版本:uniGUI_Professional_1.90.0.1555.rar_unigui-Web服务器文档类资源-CSDN下载编译时还是找不到某些源码文件如:uniStrUtils.pas,ext.pas..............但是没关系,用里面的\Framework\uniGUI\Dcu或\Framework\uniGUI\Dcu64目录中的dcu文件,可以全部dpk编译通过。写了一个demo,用exe模式或者isa...
2022-04-20 17:29:33
2798
原创 从three.js的字体文件中精简提取自己需要的字符
three.js的中文字体文件很大,以微软雅黑为例,有26M。如果程序中只用到了部分汉字,那么可以瘦身一下,只保留自己需要的汉字。three.js的字体文件格式是这样的:module.exports={ "glyphs":{ "A":{ "ha":977, "x_min":16, "x_max":961, "o":"m 961 0 l 811 0 l 704 288 l 267 288 l 165 0 l 16 0 l 416 105
2021-10-27 17:56:54
1030
原创 在微信小游戏中使用tensorflow的face-landmarks-detection
做人脸识别,先要获取面部特征,然后提取面部图片。https://www.npmjs.com/package/@tensorflow-models/face-landmarks-detection查看这个包的源码,发现要下载3个模型文件:facemesh:https://tfhub.dev/mediapipe/tfjs-model/facemesh/1/default/1 iris:https://tfhub.dev/mediapipe/tfjs-model/iris/1/default/2
2021-06-21 18:03:07
2102
4
原创 Three.js中更新Line时的内存泄露
之前用这种方式创建Line和在render中更新line两点位置:function createLinkLine(parent, son) { let points = [parent.position, son.position]; let geometry = new THREE.BufferGeometry(); geometry.setFromPoints(points); let line = new THREE.Line(geometry, g_linkLineMateri
2021-03-17 22:20:30
969
原创 微信小游戏中threejs从本地加载gltf模型
参考https://threejs.org/examples/#webgl_animation_skinning_morph在three.js的\examples\js\loaders下,有一个GLTFLoader.js文件用来加载gltf模型。但是在微信小游戏环境下,会遇到一些特殊的问题。(1)把RobotExpressive.glb模型文件放在代码目录中时,上传会提示“文件类型不在白名单中,不会被上传”,这个问题的解释在:https://developers.weixin.qq.com/min.
2021-01-13 18:14:46
4909
12
原创 微信小游戏用tensorflow.js人体姿势PoseNet控制
tensorflow.js官方特别支持了微信小程序,看tfjs-core,fjs-backend-webgl等等模块的dist下都一个单独的miniprogram目录。还特别提供了一个微信小程序的插件:https://github.com/tensorflow/tfjs-wechattensorflow.js对微信小游戏还不支持,但是可以类似的实现,但是效率不高;小游戏不支持插件,直接使用tfjs-webchat源码,我名称改为tfjs-plugin。试试一个头部姿势,左右,点头控制:基
2020-11-21 21:18:40
2614
2
原创 微信小游戏中three.js离屏画布
国庆8天长假,重庆之行因故未成,偶得闲,用three.js结合cannon.js写个3D小游戏耍耍。在微信小游戏中,把three.js的3D内容在离屏画布处理,然后复制到在屏画布,方法是:let c_toolbarHeight=140;let sysInfo=wx.getSystemInfoSync();require('./js/libs/weapp-adapter.js');var canvas_webGL=window.canvas;canvas_webGL.width = s
2020-10-10 19:02:44
2991
13
原创 cannon.js如何让球变大或缩小
两个球碰撞后,合并成一个大球(摧毁一个,把另一个变大),或者销毁时,一点点逐渐缩小。涉及到几个对象:CANNON.Sphere CANNON.Body THREE.SphereGeometry THREE.MeshCANNON.Body和THREE.Mesh本身不用变,直径参数在CANNON.Sphere和THREE.SphereGeometry上,需要改变。改变CANNON.Sphere有2种方法:(1)重新创建一个function getBallRadius(value){
2020-10-04 19:14:05
742
原创 cannon.js如何限制刚体球心在一个平面上运动
cannon.js的地址:http://schteppe.github.io/cannon.js/这几天在写一个3D游戏:球从y轴掉下来,堆叠后,因为重力原因,可能会向x,y,z三个轴随机跌落,但我只想要它在x和y轴跌落,不要在z轴跌落。让球在一个平面上运动,很容易做到,增加一个CANNON.Plane就可以。但是要让各种大小的球的球心在一个平面运动,如何做呢?查了官方API,没有查到方法,自己在render时把全部body的position.z设置为0: //限定球体只
2020-10-04 18:41:32
1011
原创 Acro Multi-Language Suite for Win32发布6.0.4版本
delphi应该是好多人不用了,这套多语言元件还有部分旧客户在使用,为付费用户偶尔更新一下。有问题qq:244956122020/5/16, 6.0.41、修改acroMultiResource.pas,在64bit下用uniGUI开发isapi时,可能出现的av错误。2、修改acroMultiLib.pas,增加函数:MultiHook(AProc:TGetDDAndLCIDProc),即提供动态的DD和LCID,在uniGUI开发的后台, 需要根据前端browser设定的语言...
2020-06-29 17:59:15
554
1
原创 FastCube的多语言化
FastCube 2.10它的多语言机制没有严格使用ResoureString来处理,如果是那样,直接用Acro Multi-Language Suite元件处理就可以了(Hook了LoadString这个API)。FastCube的多语言机制是一种静态的字典,类似xml格式,如:{******************************************}{ }{ F
2020-06-24 17:51:05
537
原创 delphi在window10下用uniGUI开发isapi的调试方法
好久没有用delphi了,有个老同事还在持续使用新的Delphi,用到10.3版本了。他说我原来写的Acroprise Multi-Language Suite多语言元件,在用uniGUI元件开发web程序时,standalone下32bit和64bit都没有问题,在isapi下32bit没问题,但是64bit有报错,web界面出不来。我准备了开发环境:windows 10,delphi 10.3,uniGUI 1.90。standalone下,AcroMulti在32bit和64bit确实没问题。
2020-05-16 08:44:18
2109
3
原创 微信小游戏为何fillText绘制的文字是模糊的?
微信官方说调整了canvas的缩放策略,它把物理像素和逻辑像素自动做了缩放,使我们不用考虑pixelRatio,因此字体和图片都模糊了,如果要显示高清,就要自己处理了。官方说明如下:https://developers.weixin.qq.com/community/develop/doc/00040c9903023848e0d7bd6205a401?highLine=%25E6%2596...
2020-03-22 16:48:28
2408
4
原创 微信小游戏重新激活时黑屏
微信小游戏,打开玩一会儿后,手动切换到后台,然后再切回来,会出现黑屏,但是动一下游戏中的按钮,又可以看到了。用wx.onShow()方法,把离屏画布再往在屏画布复制一下:wx.onShow(function(){ updateCanvas();});但是发现还是没有效果,奇怪的是动一下游戏中的按钮又显示了(因为有复制画布),因此怀疑时机不对,加个timer试试:wx.on...
2020-03-22 16:14:24
1303
2
原创 中文简繁体互转时的语义识别AI
中文简繁体互转时,使用直译很简单,Delphi中使用LCMapStringW这个API。但是如果要追求完美,考虑两岸用词习惯,就需要考虑“语义”,有两种情况:(1)字还是基本是那个字,只是写法不同。如: 周期 - 週期 周杰伦 - 周傑倫 (2)字都变了。如:文件 - 檔案 程序 - 程式周和週:◎ “周”作姓、朝代时,繁体也为“周”,与简体同形。◎ 圈子、周...
2020-03-20 11:11:39
892
原创 vivo手机的便签批量导出到huawei手机备忘录
我有一个vivo手机,型号Y71A,存储空间只有32G,比较小,APP又不能安装到外置sd卡,导致存储空间不够,每天都弹出警报“存储空间使用超过95%”,很费脑筋,天人交战,不知道要选择清理删除啥东西,已经无东西可卸载了,只有小心翼翼的清理掉微信的部分信息。忍了几个月,实在太烦了,换了个华为的。手机克隆的时候,发现便签(华为叫备忘录)无法复制到新机,可能是厂牌不一样的缘故吧。我的便签有几百...
2019-11-08 10:07:41
11187
7
原创 微信小游戏花屏
周末手痒,试了试微信小游戏的开发,写个俄罗斯方块。先创建画布:/** * 俄罗斯方块 * @author wxh */wx.tmGlobal = { name:"清新俄罗斯方块"};wx.tmGlobal.sysInfo = wx.getSystemInfoSync();//console.log("sysInfo:",wx.tmGlobal.sysInfo);wx....
2019-08-04 20:00:39
1415
5
原创 delphi10.3编译的64bit程序窗体变小
最近搞了个delphi10.3来玩,把一个旧的程序改到64bit下编译,成功后,发现两个问题:画面和图片变小了。 这个可以调整参数:Tools-Options-Application-Manifest-DPI Awareness,被它设置为“Per Monitor V2”了,改为“none” 任务栏上的图标是白色空图标。 很奇怪,参数Tools-Options-Application-I...
2019-06-14 20:17:12
1412
原创 token过期时web前端如何自动刷新token
以token处理登录的web系统,一般会有两个token:access-token和refresh-token。node.js中,一般用jsonwebtoken这个模块。access-token,是用户输入登录的账号密码,后台去db验证然后颁发的,它一般记录在浏览器的cookie中,并在浏览器关闭时自动删除,页面访问或ajax访问会自动通过cookie传回到后台,后台直接内存中校验,不用访...
2019-05-29 19:33:28
28120
2
原创 delphi调用阿里云的函数计算服务FC
阿里云函数计算:https://www.aliyun.com/product/fc?spm=5176.7933691.765261.210.ijPFRCdelphi版本:Embarcadero® Delphi 10.2 Version 25.0.26309.314 阿里云最开始有PaaS层的“云引擎ACE”,像百度的“应用引擎BAE”一样,但是在2016时,阿里把它关闭了。目前,阿里的
2017-09-03 11:06:30
1298
原创 delphi调用阿里云的对象存储服务OSS
阿里云的对象存储:https://www.aliyun.com/product/oss?spm=5176.8142029.388261.220.tpdG6e其开发文档中没有提供Delphi的SDK,参考javascript的SDK,大致修改后可以运作:unit wxhAliYun_OSS;interfaceuses REST.Client,system.JSON,system.S
2017-09-03 10:35:33
4419
8
原创 easyui缩放后的拖拽问题
在浏览器中,设置某个div的缩放,使用这个方法:function div_zoom(zoom, transformOrigin, el) { transformOrigin = transformOrigin || [ 0, 0 ]; el=el || g_PlumbInstance.getContainer(); var p = [ "-webkit-", "-moz-", "-ms-",
2016-04-25 09:25:54
2712
原创 Delphi 10 Seattle不支持intel atom?
测试Embarcadero® Delphi 10 Seattle Version 23.0.20618.2753,Multi-Device Application。华硕平板ZenPad S 8.0(Z580CA)http://detail.zol.com.cn/403/402139/param.shtml,android系统使用的cpu是intel atom z3580,x86架构,del
2016-02-04 10:34:07
1791
原创 delphi 10 seattle "Automatic Reference Counting"问题
测试Embarcadero® Delphi 10 Seattle Version 23.0.20618.2753,Multi-Device Application。从资源中读取图片:procedure TKsColorBall.GetImagesFromResource;var i:integer; [Unsafe]Bmp:TBitmap; //必须加[unsafe],因为a
2016-02-01 09:24:15
1378
微信小游戏3D合成消除2048源码
2022-03-10
Acro-Multi Language Suit for Delphi win32/64Delphi多语言套件
2022-01-29
Acro Multi-Language Suite for Delphi Win32 4.0.11.2511(6)
2010-10-31
Acro Multi-Language Suite for Delphi Win32 4.0.11.2511(5)
2010-10-31
Acro Multi-Language Suite for Delphi Win32 4.0.11.2511(4)
2010-10-31
Acro Multi-Language Suite for Delphi Win32 4.0.11.2511(3)
2010-10-31
Acro Multi-Language Suite for Delphi Win32 4.0.11.2511(2)
2010-10-31
Acro Multi-Language Suite for Delphi Win32 4.0.11.2511(1)
2010-10-31
Acro Multi-Language Suite for Win32 4.0.7.2147
2009-09-07
Delphi Win32多语言套件4.0.5.2145
2009-08-04
Delphi多语言套件 4.0.4.2144
2009-04-26
Happy PinTu快乐拼图游戏 1.0.2.9
2009-04-20
Delphi多语言套件 4.0.3.2141
2009-04-20
delphi多语言套件 3.5.2.2023
2007-10-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人