软件开发
ufo2006
这个作者很懒,什么都没留下…
展开
-
fastreport打印预览richedit内rtf格式图片模糊的解决方法
猜测可能是richedit在渲染的时候根据图片的原始宽高与屏幕上显示的宽高的比率自动进行了页面放大。那么在默认预览环境下是很清晰的,但如果放大或者缩小很多以后,文字就不如原先使用TMetafile时清晰了。另外还有一个就是fastreport默认预览是100%,可以根据显示器DPI放大比率,在预览时自动放大相应倍数,不然预览的会比实际的看起来小。查看fastreport的代码,发现是生成的TMetafile图元文件里面文字和图片很大,这样在StretchDraw缩小到预览画面的时候出现了颜色失真。原创 2024-09-11 15:54:56 · 1009 阅读 · 0 评论 -
delphi xe12 tzipfile支持密码压缩加密解密功能
自从delphi xe12开始,新增了password字段。但如果你设置密码,那么运行后就会报“Zip file cryptor is not specified”的错误。说是因为法律方面的问题,一波龙没有实现具体的加密解密过程。网上找了一下,国外有delphi爱好者实现了这个加密解密接口。delphi 从xe2开始,自带了system.zip 单元,支持压缩解压。但一直对加密解密不能很好的支持。经测试,使用此接口加密解密正常。文件,然后引用该文件。原创 2024-07-21 23:52:31 · 598 阅读 · 0 评论 -
delphi xe10.4.1编译Android老项目 No resource found that matches the given name 错误解决一例
今天用delphi xe10.4.1编译了一个原先10.3.1开发的安卓项目,编译正常,但打包的时候提示错误:[PAClient Error] Error: E2312 xxx\res\drawable\splash_image_def.xml:5: error: Error: No resource found that matches the given name (at 'src' with value '@drawable/splash_image').看提示信息应该是闪屏图片没有找到,但看原创 2020-09-08 18:07:44 · 991 阅读 · 0 评论 -
周易六爻起卦排盘微信小程序
最近制作了一款极简风格的六爻排盘小程序。实现了自动起卦,手工起卦,数据搜索,后台云服务器保存等功能。支持京房易和藏山卜排盘。效果展示:开发当中遇到的一些坑:1.由于习惯了pascl的单个等于号作为表达式,但js使用双等于号。可是你写了单等于号也不报错,代码也能运行,然后执行结果就不对了。2.小程序里使用很多的json数据结构,你用单引号也能运行,但在个别地方,json必须是双引号。3.wx.request的提交格式,默认使用json化的参数,如果服务器端使用普通参数形式,那么原创 2020-07-19 18:32:24 · 5638 阅读 · 2 评论 -
一款公历转农历节气以及天干地支的js代码
最近用到公历转农历,节气,天干地支的JavaScript代码。公历转节气可以计算法,能精确到时辰。如果只要精确到日也可以用查表法。然后农历涉及到闰月的计算。年和日的天干地支计算比较简单,但月份要根据节气变换。于是先从网上找一下有没现成的代码,找了几个都不合适。偶然发现了一款支持从1900到2100年的js代码,在此向作者Jea杨表示感谢。使用方法: 1 2 3 4 5 6 7 8 9 10 11 12转载 2020-07-12 23:31:22 · 2227 阅读 · 1 评论 -
delphi用indy实现php后台的文件上传下载
indy控件使用方便,用indy来下载的资料网上很好找。因业务需要使用了indy上传,php后台来接收文件。主要代码如下:delphi:uses IdMultipartFormData 单元PostData := TIdMultipartFormDataStream.Create; PostData.AddFile('file',ss,'1.mp3'); PostData.AddFormField('p',get_sound_mulu); PostData.AddFormFie...原创 2020-06-30 16:19:48 · 445 阅读 · 0 评论 -
delphi xe10 TNetHTTPClient 中文乱码 utf-8的解码
delphi新版本里增加了 TNetHTTPClient 组件,在https的ssl使用上比indy控件方便。然后获取的如果是utf-8编码的网页,需要解码后显示,不然中文会乱码。不需解码时可以直接获取网页内容:ss:= NetHTTPClient1.Get('https://abc.com');如果需要utf-8解码:ss:= NetHTTPClient1.Get('https://abc.com').ContentAsString(TEncoding.UTF8);...原创 2020-06-30 09:53:41 · 2009 阅读 · 0 评论 -
一款高速精简优化版wordpress
这是一个能飞速加载显示网页的精简优化版的WordPress网站,基于WordPress4.5版修改而来。支持不同分辨率电脑和手机屏幕自动适配。通过改动后实现了加载速度的飞跃,从原先的首次打开页面需要20秒左右,到现在的2秒左右。速度测试是在我的百度云虚拟香港主机上测得,配置为1核cpu,128M内存,1M独享带宽(有加独立ip)针对原版改动如下:1.去掉了google的字体文件。2.大幅简化了cs...原创 2018-06-07 17:14:40 · 3831 阅读 · 3 评论 -
网页head内的数据移到body内,BOM问题和WordPress网页上部24px空白问题的解决
这几天发现网站上部总是多出一个24px的空白栏,找来找去找不出原因。开始想可能是css的问题,后来干脆把body的背景色设置成了黑色,这样和黑色顶栏融为一体,看着没这么扎眼。昨天用百度的网站速度检测,提示css没放在head段内,跑到了body段内。引起浏览器二次渲染,影响加载速度。看看源码都正常,但用浏览器按F12键看,确实有一个空白的<head></head>段,css...原创 2018-06-08 10:25:46 · 552 阅读 · 0 评论 -
delphi下unicodestring 编码为utf-8 RawByteString转换为ansistring
delphi在新版本的字符串默认编码都是unicode编码,但有些场合需要使用utf-8编码后的ansistring,比如常用的aes加密。在delphi2010下有个函数可以使用如果字符串大小不超过256个字符的,可以直接使用UTF8EncodeToShortString,返回值为utf-8编码的ansistring如果更多的字符内容,那么使用Utf8Encode函数,返回值为RawByteSt...原创 2018-06-14 23:01:09 · 5381 阅读 · 0 评论 -
东方六爻周易排盘起卦软件,有电脑和手机Android App,Pad平板应用,卦例本机网络双备份,支持藏山卜
东方六爻排盘起卦软件电脑PC最新6.7.2版,安卓手机最新2.8.6版主要功能 :1.有安卓手机版App,Pad平板大字体版应用和电脑PC版软件,实现电脑和手机、Pad数据互通。2.支持百度云存储,换电脑卦例数据不丢失。后台数据加密保存确保隐私安全3.方便的卦例搜索功能4.方便的断语反馈撰写并在线保存5.支持cpu真随机数起卦(酷睿3代及以上cpu支持)6.支持多种起卦方式,支持...原创 2018-06-10 19:57:07 · 6674 阅读 · 2 评论 -
在用Delphi 10.2.3 提示connection closed gracefully的处理
在用Delphi 10.2.3制作一个Android app的时候用了idhttp控件,post数据能成功,但每次都会提示connection closed gracefully 错误信息,网上找了一下用了 https://blog.csdn.net/nerdy/article/details/8749617 说的修改http协议后问题解决。在此表示感谢!加入如下两行代码即可。IdHTTP1.HT...原创 2018-07-06 14:57:56 · 4724 阅读 · 0 评论 -
delphi xe 10.2.3开发的Android app上架时显示有多点,盟德广告的处理
用delphi 写的app上传到华为应用市场,提示含有多点(a.banner.doubleClick)和 盟德(a.spot.admob.b)广告,经查资料,这是google框架自带的广告接口。想着应该有地方可以禁用,但找了一圈没找到,经请教《Delphi xe6 Android 编程入门》一书作者高勇先生,找到了禁用google广告接口的地方。在此表示感谢。也给受到相同问题困扰的朋友一个指点。禁...原创 2018-07-29 21:14:08 · 2255 阅读 · 0 评论 -
[PAClient Error] Error: E2312 Unable to execute 错误解决一例
用 xe10.3.1编译一个老项目,在部署打包的时候提示 [PAClient Error] Error: E2312 E:\Android\六爻APP\Android\Debug\DFLY\res\drawable\splash_image_def.xml:2: error: Error: No resource found that matches the given name (at 'src...原创 2019-06-27 09:18:58 · 1992 阅读 · 0 评论 -
用百度人工智能进行繁体文字中文OCR识别
BAT都有提供OCR识别接口,各有千秋,其中百度提供的识别速度快,识别准确率高。具体内容如下:原创 2019-07-30 19:25:40 · 30555 阅读 · 12 评论 -
2k,4k 高分屏显示器DPI缩放检测完整版
最近在做高DPI显示器的适配,由于很多用户不知道自己的显示器是否有dpi缩放。于是做了这么个小工具,专门用于系统dpi缩放参数的检测。程序下载:链接: https://pan.baidu.com/s/1XR2nvwYWFKd6DH6PMCeNyQ 提取码: hvff程序运行效果图:如果修改一下程序属性里的兼容性,更改高dpi设置,高dpi缩放替代,选择 系统,那么运行效果也会...原创 2019-06-24 21:37:33 · 8874 阅读 · 0 评论 -
解决 delphi xe10.3.1 Secure File Sharing选项不起作用坑一个
Android7.0开始,uri不能直接传递文件名,需要使用FileProvider,常见的异常就是,原先在低api版本下正常的程序,升级到api26及以上时,图片分享,文字分享,程序下载更新后的启动安装,都会出错,比如出现 ava.lang.nullPointerException: Attempt to invoke virtual method 'android.content.res.Xm...原创 2019-07-08 22:06:40 · 2844 阅读 · 0 评论 -
解决nethttpclient下post与get的urlencode问题一个
在delphi xe下调用百度的翻译api,百度支持get与post两种方法。想着get效率更高,于是打算数据量小的时候用get,要翻译的数据量大时用post提交。要提交的数据 q=httpEncode(UTF8Encode(memo1.Text))在get模式下运行正常。但post模式下总是提示签名错误。全面检查代码发现没有问题。想来会不会是post的时候nethttpclient组...原创 2019-08-11 17:17:24 · 832 阅读 · 0 评论 -
asphyre pxl canvas的常用函数介绍
asphyre pxl是一个可用于 delphi和freePascal的跨平台2d 3D引擎,但介绍资料很少。其中的canvas是画布,这上面的图形会渲染到屏幕上。canvas有很多实用的函数,简介如下function Initialize: Boolean; 初始化画布以便用于渲染。请注意,要进行实际渲染,@假设初始化成功,则需要首先调用link(beginscene)。此结果为@t...原创 2019-08-25 10:37:23 · 835 阅读 · 0 评论 -
梅森旋转法伪随机数在delphi下实现
梅森旋转法(也有翻译为马特赛特旋转算法)产生的伪随机数比线性同余法要好。产生随机数的速度快、周期长,可达到2^19937-1,且具有623维均匀分布的性质,对于一般的应用来说,足够大了,序列关联比较小,能通过很多随机性测试。现在很多编程语言都默认用梅森旋转法来提供伪随机数比如c++从11开始加入了梅森旋转法,但delphi一直都是用的线性同于法,在xe10.3还是这样的://Random in...原创 2019-08-17 21:11:27 · 473 阅读 · 0 评论 -
firebird嵌入版数据使用
有个单机版软件,原先一直使用的ib6open版,通过ibx连接的.近来想把它改为嵌入版的数据库.于是使用了firebird的嵌入版.由于fb与ib6的兼容性不错.程序基本无需改动,把下列文件拷贝到程序目录:fbembed.dll 客户端服务器一体化文件msvcp71.dll vc7.1支持库msvcr71.dll vc支持库icuin30.dll icuuc30.dllicu原创 2006-10-07 12:58:00 · 3382 阅读 · 1 评论 -
wordpress 设置固定链接后文章列表分页不正常的解决
WordPress设置了自定义固定链接,格式为 xx.com/archives/%post_id%.html 服务器的rewrite也做好了,其他一切正常,就是文章列表或者搜索出来的列表出现分页时,第二页分页链接成了 xxx.com/page/2 导致404错误。默认固定链接时分页是 xx.com/index.php/page/2 能正常显示。想着是内部对自定义固定链接的处理出现了错误。于是打开u...原创 2018-06-06 19:38:37 · 1436 阅读 · 0 评论 -
wordpress 伪静态rewrite几种方法优缺点
我用的这个百度bch空间,path_info默认开启,所以wordpress能实现 xx.com/index.php/123.html 这种模式的伪静态链接。但感觉这类url不好看,于是改为 xxx.com/archives/123.html 在WordPress后台“设置”-》“固定链接”自定义方式,修改好后。访问页面显示404,通过网上查询得知需要配置主机的 rewrite方式。适合百度bch...原创 2018-06-06 14:33:52 · 4856 阅读 · 0 评论 -
interbase 1053错误解决一例,The registry information is missing.
interbase 7 一直运行的好好的,突然不能启动,查看日志,发现有如下错误信息:The registry information is missing.Please run the InterBase Configuration Utilitunch the server thread. errno : 1053. 在google上查了,没有有用的解决信息,正准备重装,忽然看到一原创 2009-02-16 00:35:00 · 4226 阅读 · 0 评论 -
一次不成功的风投见面会
08年5月24号,在杭州参加了一次阿里巴巴组织的风投大会(资本·网融天下)。我的初创期项目,最终没能获得投资家的认可。在此把过程写一写,也好给正在寻找VC(风险投资)的兄弟姐妹们做一前车之辙。5月初我在阿里巴巴网站上投了创业计划书,不久,收到回信,说已被邀请参加网融大会,并有与风险投资家面对面交流的机会。5月24日中午,我如期赶到杭州之江饭店,好家伙,来的人还真不少,粗略估计500人左原创 2008-05-25 23:14:00 · 1366 阅读 · 1 评论 -
关于interbase一个怪问题的解决
一个基于ib的应用,连接本机数据库正常,连接网络数据库出错:Unable to complete network request to host "192.168.1.21".Failed to locate host machine.Undefined Service gds_db/tcp.检查service文件内,有gds_db行。想来,本机链接不用守护3050端口,是直接内存映射打开原创 2007-10-24 22:50:00 · 3124 阅读 · 0 评论 -
FireFox(火狐)浏览器内核 gecko 之delphi应用
gecko是开源的浏览器内核。目前的版本是1.8,显示速度优于ie内核。据开发小组说将在1.9版本内使用改用"Cairo "图形架构,利用Gpu来渲染网页以提高速度,降低cpu的占用,此举将使其性能大幅领先于其他的浏览器内核。那么您是否想在自己的应用程序内嵌入gecko内核来显示html?下面介绍一下在delphi程序内嵌gecko的方法:网址:http://www.ftp.newbiel原创 2007-08-15 20:43:00 · 10651 阅读 · 4 评论 -
创建登陆窗体的一个技巧
用delphi开发一个需要先登陆才能继续的程序,就会有一个选择登陆窗口出现时机的问题。如果在主窗口准备工作都做完后再启动登陆窗口,会显得程序的启动过程缓慢。而一开始就显示登陆窗口,等用户名密码校验通过后再启动主窗口并做数据初始化。这样看起来程序的启动迅速,只是登陆比较慢,客户往往比较理解。问题是delphi默认把第一个创建的窗体做为MainForm,且这个属性是只读的,MainForm一关闭,原创 2006-04-13 19:18:00 · 3268 阅读 · 0 评论 -
MIS系统权限控制的一个简便方法
MIS系统的权限又多又复杂,很多人是在用户数据表中设置多个字段,每个字段代表一个权限,或者设置一个字符串,不同的字符组合表示用户的不同权限。简单一点的,可以预先设置几个角色,根据角色来行使预设权限,但又不够灵活。现介绍一个简单灵活的权限分配控制的方法,并无高深见解,只是很多人忽略了它。如果您正在设计权限控制模式,不妨接着往下看。此方法非常简洁,扩充性很好。仅用一个 integer 字段即可原创 2005-08-31 19:44:00 · 2511 阅读 · 5 评论 -
在 tstringgrid 上显示行选标识
在使用 tstringgrid 控件的时候,需要显示行选,方便客户浏览。其本身带了一个 goRowSelect 属性。设为true可以整行高亮显示,但这样的话就无法编辑单个单元格的内容了。为解决这个问题,采用了一个变通的方法:1.在onselect 事件内添加如下代码:GV_row:= ARow; //gv_row 是一个全局变量。 stringgrid1.Repaint;2.在onDrawC原创 2005-03-26 10:18:00 · 1395 阅读 · 0 评论 -
往TWebBrowoser 控件写入内存数据-仅适用ie6及以上版本
添加Twebbrowoser控件,然后用以下代码可以直接将页面数据写入 Twebbrowoser 控件以进行显示:procedure TForm3.button1click(Sender: TObject);varDoc: OleVariant;begin WebBrowser1.Navigate(About:Blank); WebBrowser1.OleObject.Document.C原创 2005-03-26 11:16:00 · 1083 阅读 · 0 评论 -
delphi窗口的双缓冲绘制浅析
有时,在有大量图片或者复杂的界面下,会出现界面闪烁。这是由于windows默认在绘制界面前会用背景色清空,然后重绘。因为默认背景色一般是白色的,当重绘速度慢时,看起来界面就在闪烁了。那有没有在不提高界面绘制速度的情况下,防止闪烁呢,常用的办法就是启用双缓冲机制。双缓冲绘制,就是在内存预先绘制好图形,再拷贝到界面上。中途不再清白背景。delphi的wincontrol组件提供了双缓冲原创 2008-12-16 10:46:00 · 3419 阅读 · 0 评论 -
interbase 大小写导致的问题一例
今天在调试程序时候,报“列”不存在错误。但经检查,列是存在的 IBconsole内也能修改数据。但在sql语句内不管是select 还是 insert,都报错。很是奇怪。于是试着给表增加一个同名字段,竟然加进去了。查看元文件,发现存在两个同名列,只是一个大写,一个小写。新增加的列是大写的。恍然大悟,在select语句内给列名加上双引号,执行正常。 原来是上次建表时没注意,把小写列名放入原创 2009-04-24 20:50:00 · 614 阅读 · 0 评论 -
创建一个既可作为普通exe(双击能运行),又可作为服务运行的程序。
由于后台服务和普通程序的运行方式有很多差异,如服务必须从服务控制管理器的上下文中运行而不能直接在explorer中双击鼠标运行。服务程序默认不与桌面交互。 那可否写一个exe既能直接双击鼠标运行,又能作为服务运行呢。先来看看dpr文件的内容。d7生成的服务工程文件,是不是很眼熟?Application.Initialize; Application.CreateForm(Tufi原创 2009-09-13 11:56:00 · 1258 阅读 · 0 评论 -
一个扫描数据后提示重复与否的小工具
功能很简单,用条码扫描器扫入数据,当遇到重复扫入的数据时会提示。应用场景,当一堆件里面怀疑有重复发货的包裹时,可以逐个扫描一遍,遇到重复的单号会提示。如果扫描器不支持自动加回车符的,可以勾选“位数长度”选项,然后设置好快递单号长度,会自动在达到指定位数时加回车符以确认输入。下载地址,百度网盘:https://pan.baidu.com/s/1gftkcRh运行效果如图:...原创 2017-11-13 22:17:35 · 1242 阅读 · 2 评论 -
调用百度大脑智能里的文字识别实现图片识别
由于有一本古籍需要识别,网上找了几个软件对于繁体字均感觉识别率不高。试了下发现百度的识别率还可以,于是想自己写一个调用百度图片识别api的程序。用Delphi2010编码实现。在开发中遇到了几个问题,现写出来供需要的朋友参考。1. SSL问题,用的是indyhttp控件,使用SSL时需要添加 IdSSLIOHandlerSocketOpenSSL1 组件然后 idhttp的iohandler 属性...原创 2017-04-20 14:26:39 · 5727 阅读 · 0 评论 -
delphi2007下使用indy连接https时could not load ssl library问题的解决
delphi 2007 下的indy版本是10.1.5的,连接https需要用到较早版本的 libeay32.dll 和 ssleay32.dll。先从网上下载了1.0版本的dll。第一次连接https总是会提示 could not load ssl library 后续也能正常使用。 不过这样每次报一下错也不是个事情,考虑到indy控件版本比较老想找个早先的dll试试。下载了一个没有原创 2017-03-29 11:51:42 · 9919 阅读 · 1 评论 -
Intel 第三代CPU酷睿处理器内置硬件随机数的获取方法
Intel在IVB架构的第三代CPU酷睿处理器(2012年开始生产)内置了一个利用电阻热噪声取得硬件真随机数的功能。关于真随机数和伪随机数的区别,以及世上是否存在真随机数等哲学争论不在本文讨论范围。下面给出delphi代码,一共4个函数,具体使用的是两个函数:RdRand_isSupported 判断当前cpu是否支持该功能,rdrand_16 取得16位随机数到aex寄存器,(看...原创 2014-09-12 15:28:22 · 6371 阅读 · 0 评论 -
delphi 二维码示例,支持d7,d2010及更高版本
根据fastreport的二维码组件,修改了一下可在程序中直接引用。并修改了几个地方使其支持unicode版的delphi,经在d2010下测试扫描,正常。示例代码和所需库文件下载:http://pan.baidu.com/s/1o6qGnbG需引用dll文件,相关文件版权归原作者,本示例代码仅供大家研究参考。原创 2014-01-25 17:50:54 · 6121 阅读 · 3 评论 -
delphi2007 Tstringlist的新增属性 StrictDelimiter
<br />经常会用到stringlist类的字符串分割功能,简单易用。如下代码,把用tab键分隔的string转为stringlist<br />var t: tstringlist;<br />begin<br /> t.Delimiter:= #9;<br /> t.DelimitedText:= ss;<br /> <br />但Tsringlist有个问题,就是空格总是会被拆分。<br />在delphi2007上发现 tstringlist 多了个属性 StrictDelimiter(精原创 2011-02-25 10:24:00 · 4027 阅读 · 3 评论