Delphi 调用外部程序并阻塞到外部程序中
背景说明:
前段时间开发一个数据转换的系统,业务逻辑中说明数据需要压缩成.tar.gz格式。
我在Windows系统下采用,先生成批处理文件,然后调用WinExec执行批处理文件,休眠等待一段时间,完成数据的自动压缩。
后来发现,待压缩文件的大小不确定,单纯的执行WinExec时Sleep固定时间,可能导致压缩失败、文件不全或损坏。
...
【转】Delphi货币类型转中文大写金额
unit TU2.Helper.Currency;
interface
function CurrencyToChineseCapitalCharacter(const AValue: Currency; const ADecimals: Cardinal=4): string;
function CurrencyToString(const AValue: Currency; const ADecimals: Cardinal=4): string;
implementation
uses System.SysUtils, System.Math;
function C ...
Delphi WinAPI FindWindow、FindWindowEx、EnumChildWindows、SendMessage - 实现获取句柄并发送消息的方法
Delphi WinAPI FindWindow、FindWindowEx、EnumChildWindows、SendMessage - 实现获取句柄并发送消息的方法
本文以实例形式详细说明了Delphi获取句柄并发送消息的方法,具体用法说明如下:
1、查找另外一个窗口的句柄:
handle := FindWindow(nil,PChar('窗口的标题'));//查到窗体句柄
2、查找子窗体:
childHandl ...
Delphi 常用API 函数列表
Delphi 常用API 函数AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小AnyPopup 判断屏幕上是否存在任何弹出式窗口ArrangeIconicWindows 排列一个父窗口的最小化子窗口AttachThreadInput 连接线程输入函数BeginDeferWindowPos 启动构建一系列新窗口位置的过程BringWindowToTop 将指定的窗口带至窗 ...
Delphi Win API 消息函数 SendMessage函数
Delphi中SendMessage使用说明
1、SendMessage基础知识 函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。 函数原型:
LRESULT SendMessage(
HWND hWnd,//其窗口程序 ...
Delphi - 创建SuperDll 持续更新
Delphi SuperDll
作为一名5年的Delpher,一直认为Delphi是桌面应用的王者,我相信其他的Delpher也这么认为。
但是,慢慢的我发现普通方式的Delphi开发会造成代码的严重臃肿,特别是MDI类大型项目、多人同时开发的情况下。
举个例子,一个Delphi常用的业务逻辑,数据导出到Excel,完全可以写成一个公用的模块放置在业务单元 ...
Delphi - 采用第三方控件TMS、SPComm开发串口调试助手
第三方控件TMS、SPComm的下载与安装
盒子上可搜索关键字进行下载,TMS是.dpk文件,SPComm.pas文件;
安装方法自行百度,不做赘述。
通过TMS控件进行界面布局
界面预览:
Delphi通过SPComm连接串口、发送和接收指令
连接串口
拖一个TComm控件到主窗体上,选中控件,单击F11,完成如下配置。
这里主要是将一些 ...
Delphi TcxComboBox控件说明
Delphi TcxComboBox控件说明
属性:
Text:ComboBox 的文本信息
EditText: 也是给ComboBox 的文本信息赋值,但不同的是 给Text赋值会 触发 Change事件,也会触发 EditvaluesChange事件 , 而且 EditText只会触发
  ...
Delphi版俄罗斯方块-前奏
前言
基础知识讲了很多,但是并没有串联起来,所以我最近一直在准备个小项目,但是这个项目的要求不含有数据库部分,也就是数据持久存储的功能,此外不能含有网络功能,它只是对基础知识的一个总结,最后一点是这个项目可以后期进行扩展,加上网络和数据库部分,所以最终选择俄罗斯方块这个小游戏作为基础知识总结的结课项 ...
delphi xe 10.3 用FastReport打印预览当前记录
本文链接:https://blog.csdn.net/qq_25439957/article/details/87110559以下在WINDOWS10 + DELPHI XE 10.3 FireDAC +SQL SERVER 2008 下通过:
以下在WINDOWS10 + DELPHI XE 10.3 FireDAC +SQL SERVER 2008 下通过:
第一步,创建如下表单:
第二步&nbs ...
Delphi - StringReplace用法
StringReplace用法
在开发过程中,有时候我们需要对字符串进行替换操作,屏蔽或者和谐某些字符,可使用Delphi自带的函数StringReplace函数。
通过代码进行说明:
//函数原型
function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
//参数说明:
//S: 源字符串
//OldPattern: ...
Delphi - Indy TIdFTPServer封装类
在Delphi 7开发下有强大的Indy控件,版本为9,要实现一个FTP服务器,参考自带的例子,发现还要写很多函数,而且不支持中文显示文件列表等等。
于是,自己改进封装了下,形成一个TFTPServer类。
源码如下:
1 {*******************************************************}
2 { ...
Delphi - cxGrid内容xlsx、xls、csv格式导出
.xls格式导出,uses中添加cxGridExportLink
代码如下:
1 function SaveToExcel(gridMain: TcxGrid; FileName: string): string;
2 var
3 SaveFileDialog: TSaveDialog;
4 begin
5 //示例:SaveToExcel(dxDBGrid1,'默认文件名');
6 SaveFileDialog := TSaveDialog.Create(nil);
7 SaveFileDialog.F ...
DELPHI LINUX中间件隆重发布
LINUX和WINDOWS是目前最流利的两个服务器操作系统,各种云服务商也是同时提供这2种操作系统的云服务器。
即日起,在原有WINDOWS中间件的产品基础上,再隆重推出新产品:LINUX中间件。这样一来,中间件的产品线就变得很完善。
产品包括中间件和4种客户端框架:CS框架、WEB桌面框架、WEB手机框架以及原生手机框架,是一整套的 ...
Delphi COM对象
作者:巴哈姆特 http://www.cnpack.org(转载请注明出处并保持完整)
如果没有接触过COM对象的话,你会觉得接口真的很麻烦,也许会有:“还不如直接定义一个类更方便”的想法。
的确,没有经过COM封装的接口确实比较麻烦。在我看来,没有经过COM封装的接口似乎没有存在的意义。那么,什么 ...
Delphi 接口
作者:巴哈姆特(转载请注明出处并保持完整)
在对象化中,类的继承是一个非常强大的机制;而更加强大的继承机制应该是来自从一个接口的继承。 本篇我们将讨论接口的特点。 首先,接口的定义方式与类相似。不同的是:类代表了一种实体,而接口代表了一批操作规范。还有,接 ...
JWT Claims
JWT Claims
“iss” (issuer) 发行人
“sub” (subject) 主题
“aud” (audience) 接收方 用户
“exp” (expiration time) 到期时间
“nbf” (not before) 在此之前不可用
“iat” (issued at) jwt的签发时间
“jti” (JWT ID) jwt的唯一身份标识,主要用来作为一次性token,从而回避重 ...
【逆向】Delphi程序逆向之熊猫烧香病毒分析
1、前言
本文主要用于记录Delphi程序逆向的一些方法和技巧,以及熊猫烧香病毒的分析过程。
2、分析技巧
2.1 使用IDR或DEDE加载Delphi程序,导出Map文件,将Map文件导入OD。
2.2 IDA加载Delphi程序后,根据实际情况修改编译器选项,ASCII字符串风格,增加代码可读性。
2.3 IDA添加Delphi程序签名文件,识别常用系统函数调用 ...
delphi char数组、string和Pchar的相互转换
因为要调用windows的api或者给vc++写接口,很多地方都要用到pchar,现在将char数组、string和pchar之间的相互转换都列出来,都是网上找的资料,我总结一下,先直接上代码,再讲原理。
1.string转换成pchar
可以使用pchar进行强制类型转换,也可以使用StrPCopy函数
var
s:string;
p,p1Char;
begin
s:=' ...
delphi中Treeview的使用介绍
今天重点学习了TreeView的使用方法,基本的已经写了,现在主要想说的是如何显示数据库的资料,今天只是做了个较简单的例子,一个父节点下显示数据库中某个field的值。代码如下:
procedure TMainForm.TreeviewShow(Sender: TObject); var node1,subnode1: TTreeNode;&nbs ...