自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 资源 (11)
  • 问答 (1)
  • 收藏
  • 关注

原创 Delphi开发Android用虚拟摇杆VirtualJoystic

Delphi11新鲜出炉后一直没有去试用,最近几天有空下了个Lite版来玩,发现编译速度快了很多,编译后的尺寸也变小了一些,前些时候在github上看到一个Delphi无引擎版的小游戏,决定调试一下,目前Windows下运行正常,像这个样子:安卓下暂时没有运行起来,界面是这个样子:使用的MouseDown和MouseUp事件驱动,也就是说按左、右的时候,没法跳,所以想着改造一下,整个虚拟摇杆来操控,于是有了这一篇博文(顺便吐槽一下Delphi11有时编辑器会完全消失,欢迎页面也一起消失了).

2021-10-20 23:15:02 2398

原创 Delphi中谨慎使用QuotedStr、QuotedString、DequotedString相关的函数

//以下测试代码var s, ss: string;begin //1.添加定界符(内容中含定界符的要转义) ss := QuotedStr(s);//单引号 ss := s.QuotedString('''');//单引号 //2.添加指定的定界符(内容中含定界符的要转义) ss :=AnsiQuotedStr(s, '"');//双引号 ss :=s.QuotedString('"');//双引号 //3.去掉定界符(内容中含连续两个定界符的要反转义) ...

2021-09-02 17:33:21 763

原创 Delphi10.2使用IdFTP上传中文文件名失败问题

失败报错内容如下:Exception class EIdReplyRFCError with message'No mapping for the Unicode character exists in the target multi-byte code page.'网上说法,直接加在Connect;成功后加这一句就可以了。IdFTP1.IOHandler.DefStringEncoding := IndyTextEncoding(TEncoding.UTF8);实际上可能还是不行,因

2021-07-15 11:54:18 806

原创 FireMonkey动画进度条实现

1、首先拖一个ProgressBar控件到窗体上,右键“EditDefault Style...”2、将原来的hindicator控件

2021-06-10 19:38:33 332

原创 关于Delphi下PAnsiChar的使用

与C语言对应的类型为char *,意为单字节字符串指针,在Delphi下的string类型是带引用计数的,有专门的内存管理sharemm单元,在dll之间引用该单元后可以导出使用string参数的导出函数,供delphi编译的exe使用(要注意delphi版本差异)反之,delphi实现的功能要供其它语言调用时,字符串只能使用PAnsiChar或PChar,下面仅以PAnsiChar举例(PChar类同)一、作用域问题返回值或可变参数为PAnsiChar时,必须申请内存(通常是被调用方申请,调用

2021-02-23 11:38:03 3006 1

原创 mongoose连接阿里云Mongo Serverless

首先说明云Mongo是很贵的,因为节点多,个人或中小企业在数据量小且可靠性要求不高时可以考虑Mongo Serverless,非常便宜啊1核1G三年不到1000块,测试版更是可以按天算,1块多钱而已本人今天做了个测试看创建时间和到期时间,共1天,价格1.82元接下来是Mongoose的连接URI设置,图上已经给出了,直接连接到admin库,但通常我们要连到息的库,比如叫“xx公司_yy业务”,这时要把/admin替换成/自己的库名?authSource=admin即可...

2021-02-09 14:14:11 558

原创 Delphi XE以后TStreamWriter的妙用

TStreamWriter = class(TTextWriter)public// 有4个构造函数(可以传文件流、内存流,也可是文件名)constructor Create(Stream: TStream); overload; constructor Create(Stream: TStream; Encoding: TEncoding; BufferSize: Integer = 4096); overload; constructor Create(const Filenam.

2021-01-12 16:58:05 547

原创 FMX Windows下无边框窗口处理

1、窗口的Transparency不能为True2、窗口BorderIcons设为[]3、窗口BorderStyle设为Single4、重定义WindowBorderStyle样式,把下面这段粘到StyleBook里object TLayout StyleName = 'windowborderstyle' Align = Center Size.Width = 800.000000000000000000 Size.Height = 600.000000000000000

2020-12-24 18:39:52 638 2

原创 FMX TreeView部分显示CheckBox(父节点显示,子节点不显示)

// 显示TreeView.ShowCheckBoxes := True;// 创建节点时给Node.OnApplyStyleLookup事件赋值function TFrmMain.NewNode(ParentNode: TFmxObject; Text: string; ImgIdx: Integer): TTreeViewItem;begin Result := TTreeViewItem.Create(Self); Result.Parent := ParentNode; ...

2020-12-21 17:10:09 425

原创 FireDAC处理delphi下非法日期时间

在Delphi下最小日期时间其实是个Double类型,为0时表示:1899-12-30,小于这个时间时为负数delphi下日期分为year、month、day三个段,必须按照month(1-12),day(1-28\29\30\31,平年二月28天,闰年二月29天,大月31天,小月30天)如果来一个1093-00-17,在delphi下是不合法的时间,但是MySQL下是合法的,mysql(5.5)所支持的日期时间类型有:DATETIME、TIMESTAMP、DATE、TIME、YEAR。日期时.

2020-12-04 11:48:46 234

原创 FireDAC分页

研究了MySQL可以使用limit offset,count的方式分页--示例:从第100条开始取10条记录select * form tablename limit 100, 10Oracle可以用rownum + minus关键字--示例:rownum只能使用<、<=\<>操作符--rownum参考:https://blog.csdn.net/qq_39196949/article/details/84379874--minus参考:https://blog

2020-12-04 11:06:54 361

原创 MongoDB工具Robo 3T连接副本集

1、Direct Connection直连模式很简单,填上Address:Port,和Authentication页的Database\UserName\Password即可,例如:2、Replica Set复制集模式,网上没打到配置的相关介绍,看我的SetName输入错误,Test会显示下面动作正在尝试连接,若成功就验证用户密码连接失败(所以说SetName...

2020-03-30 16:58:39 4205

原创 构建带安全验证的Mongo复制集(Windows环境下NT服务方式)

首先到Mongo官网下载Windows版ZIP包https://www.mongodb.com/download-center/community,释放到D:\MongoDB\bin,可能需要安装VC2015运行环境,嫌麻烦可以装MSI版本。1、在MongoDB下新建data目录,以及其下的目录结构D:\MongoDB|-bin|-data |-cfg |-db |-...

2020-03-18 12:05:53 198

原创 关于用其它用户运行程序(同时以管理员权限运行)

有这个一个需求:1、不允许当前用户访问某个文件夹2、但是程序可以访问(新增、编辑、删除等操作)结论是这样:创建一个管理员用户对指定文件夹有操作权限,同时拒绝其它用户的访问请求步骤一:net user用户名密码 /addnet localgroup administrators 用户名 /add步骤二:将之前的用户授权允许访问指定文件夹,其他用户拒绝(需要用到icac...

2019-09-04 13:54:44 1142 1

原创 Firemonkey使用Android原生控件一些注意事项

Firemonkey使用MediaPlayer时是没有事件的,需要自己处理,一般在Windows下就算了,大把的播放器可以用,但在Android下比较麻烦,本人尝试用FFMpeg,但编译的so库只支持v7a架构,低级设备支持不好,而且没有编译硬件解码,所以播放时漏帧严重,MediaPlayer也不是个好东西,10.3以下的顶层遮盖问题,10.3以上取不到时间、状态(始终是Stop),所以要解决好几...

2019-01-19 18:56:49 1461

原创 Delphi图像Hash算法,关于图像相似度问题

图像Hash算法,有PHash,DHash,AHash,以下记录平均值哈希AHash的Delphi算法代码var bmp: TBitmap = nil; //gb: TBitmap;//算法原理:将图像缩放成8x8的灰度图,统计出像素平均值//再遍历每个像素,值大于平均值记为二进制的1,否则记为0,最终得到一个64位的整数function GetAHash(SrcBmp: TB...

2018-12-14 11:37:31 1334

原创 通过将数据放入EXE的资源信息中的方式制作自已的安装工具

免费的打包工具太千篇一律了,如今是个软件都会有自己的安装界面,别的不说,自行定制UI更好看那是绝对的,至于功能嘛,根本不需要专业安装工具那么多,通常有以下几页就可以了:语言选择、自定义安装位置、文件复制、后续处理、快捷方式等。 关键点:读取资源,然后使用;如果是动态添加的资源则应该在使用前检查。一、资源导入:在Delphi XE版本中有个工具,可以直接将文件当做资源导入到程序中,编译时...

2018-11-02 16:02:18 434

原创 磁盘分区大小显示(以对数的形式)

var pts: array [0..8] of single= (111, 399, 90, 300, 5, 5, 1, 2, 18);//单位:Mprocedure TForm1.Button1Click(Sender: TObject);var dw: Integer; I: Integer; px, t: Single;begin //以对数的方式显示磁盘分区...

2018-09-20 15:00:10 211

原创 关于SQL中IN语句中项精简描述及组装方法

举例:select * from files where kid in (1,2,3,4,5,6,10,12,14)优化:select * from files where kid &gt;=1 and kid &lt;=6 or kid in (10,12,14)第一步:将1,2,3,4,5,6,10,12,14优化为1-6,10,12,14思路:将字符串分割为整数数组并排序,然后从头遍历,如果...

2018-07-13 18:38:36 1219

原创 获取本地网址名称的方法

var adptName: AnsiString;begin reg := TRegistry.Create(KEY_WRITE OR KEY_READ or KEY_WOW64_64KEY); try reg.RootKey := HKEY_LOCAL_MACHINE; if reg.OpenKey('SOFTWARE\Microsoft\Windows NT\Cu...

2018-06-28 14:55:52 965

原创 Firemonkey下使用StyleBook的一些经验

1、编辑style后关闭style designer再次打开发现之前的设置无效了,比如给一个StyleObject.SourceLink指定图像区域,失效后区域又变成整张图片了2、窗体上本来有StyleBook,然后用StyleBook加载了style文件,结果可能某些样式会不生效;可以将窗体上的StyleBook删除再试3、复制并粘贴一个style,新粘贴的style在编辑后看不到预览了,关闭s...

2018-06-20 13:17:03 1830

原创 FFMpeg57使用新API转码导致帧率超高的问题解决方法

旧的方法是使用:int ret = avcodec_copy_context(out_stream-&gt;codec, in_stream-&gt;codec);并注意设置这个out_stream-&gt;codec-&gt;time_base,num为1,den为帧率即可。新的方法则使用:int ret = avcodec_parameters_from_context(out_stream-...

2018-05-03 14:46:23 1143

转载 Delphi关键字和保留字

转载自:https://www.cnblogs.com/PocketZ/archive/2013/03/26/2983576.html分类整理 Delphi 中的“关键字”和“保留字”,方便查询“关键字”和“保留字”不做区分,一共 107 个。{-----------------------------------------------------------------

2018-05-03 14:26:59 905

原创 以鼠标为中心缩放图片以及拖动(采用区域抠图拉伸的方式)

应用场景:视频播放窗口缩放,最小保持100%帧图像:视频中的一帧图像视口:用于显示视频的区域可视区域:帧图像中某一块区域,拉伸后贴图到视口说明:当鼠标在视口中任意位置滚动滚轮,向上放大时可视区域变小,向下缩小时可视区域变大,将可视区域内的图像拉伸贴图到视口,即实现缩放效果。要达到以鼠标为中心缩放的目的,必须对可视区域进行相应计算,以下是伪代码说明:Bmp := TBitmap.Create;//帧...

2018-04-11 15:36:40 3446

原创 avi文件码率经验值

bit_rate = videoWidth * videoHeight * 4

2018-02-24 17:10:22 707

原创 用Delphi+DirectShow实现的视频播放器,可用于游戏片头播放

unit Mpeg;interfaceuses Windows, Classes, Messages, ActiveX, Controls, DShow; type TMpegPlayer = class private FWindow: THandle; FErrorMsg: string; FGraphBuilder: IGraphBuild

2017-11-03 16:33:15 1976 2

原创 ffmpeg关于h264编码提示h264_mp4toannexb的问题

MP4的视频H264封装有2种格式:h264和avc1AVC1 描述:H.264 bitstream without start codes.一般通过ffmpeg转码生成的视频,是不带起始码0x00000001的。H264 描述:H.264 bitstream with start codes.一般对于一下HDVD等电影的压制格式,是带有起始码0x00000001的。如

2017-10-19 14:05:52 7742 1

原创 Delphi实现DLL导出的Interface如何在其实语言中使用

首先说明在Delphi中实现一段小功能是非常快捷的,具体应用场景我就不编了,抽象点吧:type IOutIntf = interface function A(name: PAnsiChar): Integer; stdcall; procedure B; stdcall; end;在DLL中导出函数procedure GetImpl(out imp

2017-08-04 19:27:35 921

翻译 Delphi之18位身份证号码验证

18位公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。组成:六位地址,八位生日,三位顺序码, 一位校验码。校验方法:(1)十七位数字本体码加权求和公式S = Sum(Ai * Wi), i = 0, … , 16 ,先对前17位数字的权求和Ai:表示第i位置上的身份证号码数字值Wi:表示第i位置上的加权因子Wi: 7 9 10 5 8

2017-08-01 10:53:18 1635

转载 C++常用的文件操作路径函数

C++常用的文件操作路径函数

2017-07-21 10:31:19 747

原创 Delphi常用技巧

delphi常用技巧

2017-06-20 10:46:47 295

原创 Python解析文件流的数据结构

import struct db_file = open(video_file + ".dat", "rb") db_file.read(20) #文件头 chunk = db_file.read(30) datarow = struct.unpack("=IQffffH", chunk)#通过结构体解析数据流具体struct用法说明

2017-03-31 11:08:12 1786

原创 关于Ansi版Delphi剪切板中文乱码的问题

Clipboard处理中文时乱码的方法,将处理格式的CF_TEXT改为CF_UNICODETEXT,即用UnicodeString方式替代AnsiString方式

2017-03-10 10:25:54 1648 2

原创 传奇3的WIL文件格式

图像格式有两个文件,WIX索引文件,WIL数据文件1、WIX这里有一个条件判断,即第26字节开始取一个Word是否是0xB13A,这是个版本判断,如果不是则文件重定位到第24字节处,否则文件流读了这个Word后位置应该在第28字节处然后就是依次取图像在数据文件中的位置索引,4个字节一取,DWORD类型,直到WIX文件结束。网上有现成的代码,原版的问题是图像缺行或无法退出,以下是关键过程的修改结果

2017-03-03 11:17:26 3576 1

翻译 DirectX 90 3D SetRenderState 设置渲染状态

改变D3D中的渲染状态1、设置着色模式:SetRenderState(D3DRS_SHADEMODE, D3DSHADE_FLAT); //设置平面着色模式SetRenderState(D3DRS_SHADEMODE, D3DSHADE_GOURAUD); //设置格劳德着色模式2、设置多边形填充模式:SetRenderState(D3DRS_FILLM

2017-01-20 10:49:42 543

转载 Delphi版本号对照

Delphi版本号对照

2017-01-19 15:32:31 290

转载 D3DPOOL详解

翻译自:http://msdn.microsoft.com/zh-cn/library/windows/desktop/bb172584(v=vs.85).aspx转载自:http://blog.csdn.net/blues1021/article/details/41408351,感谢原译者,怕你们不经意删掉了,只好先抄过来了。定义资源缓存的存储位置。 VID

2017-01-19 14:04:19 390

原创 2D游戏中使用GDI+处理文字

DirectX中处理文字方法有那么几种,1、DX自带的ID3DXFont,据说底层也是GDI;2、什么顶点生成之类的,少量文字还行,多了管理不过来还有少量文字时可以用图片来排列,第个图片中一个文字,速度很快,毕竟是纹理渲染,但字太多了就麻烦,字体、颜色什么不能变,什么对齐要自己计算,麻烦。最方便的,个人觉得用GDI+,能用GDI,当然就能用GDI+,GDI处理半透明麻烦啊,效率是比

2017-01-16 16:31:15 599

原创 delphi 三目运算符

Delphi当然没有三目运算符,至于Math.pas和StrUtils.pas中的IfThen也不算好用,下面介绍一个简单的写法例如:int a = true ? 35 : 8;改成Delphi:a := Ord(True) * (35 - 8) + 8;

2017-01-03 18:22:47 4342

原创 Delphi 2006语言新特性

type //非引用,可直接赋值,Record不可继承,Object可继承 TRecord = record{object} const //定义了常量后影响Ctrl+Shift+C自动完成 TA: Integer = 0; Length: Integer = 3; private FA: Integer; FB: Integer;

2016-12-30 11:57:24 303

VirtualJoy.rar

Delphi实现的Android多点触控虚拟摇杆

2021-10-20

FMX_ProgressAnimation.rar

在FireMonkey下实现动画进度条

2021-06-10

MemLibTest.rar

DELPHI版

2021-05-11

cpauisrunase.rar

以其它用户身份执行程序,类似runas,但密码可以放到参数中,密码可加密

2019-09-02

以鼠标为中心缩放图片

以鼠标为中心缩放图片以及拖动(采用区域抠图拉伸的方式)

2018-04-11

C#调用Delphi接口(ITest = interface)

Delphi开发的导出Interface的DLL,使用C#调用的技术

2016-05-27

PythonTank

完整的游戏开发源代码,赚1分不过分吧 可以先看博文再下载哦,http://blog.csdn.net/cmd9x/article/details/48950427

2015-10-26

SqlSpatialTools

GDAL/OGR实现的空间数据导入SQLServer程序 C# for WinForm vs2010 GDAL 1.6 博客文章: http://blog.csdn.net/cmd9x/article/details/23552257

2014-04-12

nginx+php+memcache

windows环境下nginx+php+memcache一步到位配置包

2012-06-21

Win RFC远程文件管理工具

类似Radmin的远程文件管理工具 Delphi+RemObject实现

2012-06-17

WorkSpace Sample

Delphi多工作区演示代码 以MDI模板示例加WorkSpace类,实现在MDI模式下不同工作区切换的演示,每个工作区可容纳不同的子窗口,切换工作区时,其中子窗口整体切换。 注意点:子窗口类必须覆盖VisibleChanging方法(详细见示例中的TMDIChild代码),以保证可以用Visible属性使子窗口显示或隐藏。

2010-04-18

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除