![](https://img-blog.csdnimg.cn/20210722153429170.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Delphi
袋儿肥
【重楼】
这个作者很懒,什么都没留下…
展开
-
FDConnection读取SQLite中文为空处理方法
FDConnection读取SQLite中文为空处理方法原创 2022-06-02 00:40:12 · 219 阅读 · 0 评论 -
Delphi TListBox项上下移动
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) ListBox1: TListBox; Button1: TButton; Button2: TButton; procedure Button1Click(Sende.原创 2022-01-27 19:40:34 · 622 阅读 · 0 评论 -
Delphi 时间字符串(YYYYMMDDHHmmss )转datetime 函数
//入参 YYYYMMDDHHmmss 返回 datetime function ConvertStrToDateTime(DateTimeStr : string;var ADateTime : TDateTime) : boolean;var Y,M,D,H,N,S : Integer;begin Result := False; if StrIsValidDateTime(DateTimeStr,Y,M,D,H,N,S) then begin ADateTime := .原创 2022-01-21 10:07:04 · 1420 阅读 · 0 评论 -
Delphi DES PKCS5Padding 配对 JAVA DES 加解密
Java代码:密文 StringoriginKey="Rd058oh1";明文:abcd加密:QPnjW18Bbiw=解密:abcdDelphi部分unit Unit2;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl....原创 2022-01-18 14:06:16 · 535 阅读 · 0 评论 -
Delphi SuperObject 生成 JSON 文本串
function TMaoKuObject.BatchUseCouponByVCodeList(verification:Integer;McShopID:Integer; lstVCode: TStringList;var ReplayData, ErrMsg: String): Boolean;var slParam:TStringList; sUrl,sSign,sResult:String; sJson,encryptString:string; s...原创 2022-01-12 10:53:48 · 675 阅读 · 1 评论 -
Delphi 10.3 TObject接收windows消息(Classes.AllocateHWnd)
在delphi中,有时候我们希望对象可以接收windows消息,怎么办呢?因为要接收windows消息起码要有windows Handle,难道要建立的一个可见窗口?那样似乎太差强人意了。delphi提供了一个函数Classes.AllocateHWnd。分析AllocateHWND发现delphi CreateWindowEx一个尺寸为0的窗口,窗口是生成了,Handle也有了,但窗口的消息要处理吧,否则怎么说让对象接收Windows消息呢,但我们都知道类函数和Windows消息处理函数是不一样的,类函数原创 2021-10-21 14:58:40 · 372 阅读 · 0 评论 -
Delphi XE生成UUID
UUID,是英文单词 Universally Unique Identifier 的缩写,即通用唯一识别码。目前最广泛应用的 UUID,是微软的 Microsoft's Globally Unique Identifiers (GUIDs)。如果使用代码生成 GUID,可以使用CreateGuid 函数,示例代码如下:procedure TForm1.Button1Click(Sender: TObject);var Uid: TGuid; Result: HResult;beg.原创 2021-10-19 15:34:02 · 772 阅读 · 0 评论 -
Delphi 调用CMD命令行,路径包含空格处理方法
//执行CMD命令行并获取返回值function TLeiDianApi.ExcuteDosCmd(CommandLine: string): string;var SA: TSecurityAttributes; SI: TStartupInfo; PI: TProcessInformation; StdOutPipeRead, StdOutPipeWrite: THandle; WasOK: Boolean; Buffer: array[0..255] of AnsiCha.原创 2021-09-26 22:38:33 · 544 阅读 · 0 评论 -
Delphi XE 10.3 使用ISuperObject解析Json数据
Java、Php等语言中都有成熟的框架来解析Json数据,可以让我们使用很少的代码就把格式化好的json数据转换成程序可识别的对象或者属性,同时delphi中也有这样的组件来实现此功能,即IsuperObject。如果还没有这个组件的请在网上搜索下载或者在下面留言处留下你的邮箱向本人索取。 下面先说一下ISuperObject中几个常用的函数functionSO(const s: SOString = ‘{}’): ISuperObject; overload;此函数传入json数据字符串,并..转载 2021-09-11 17:05:16 · 928 阅读 · 1 评论 -
Delphi IdHttpServer解决 Http请求跨域问题
//Response 增加允许跨域请求头属性,即可允许跨域访问procedure TMain.idHttpServerCommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);begin AResponseInfo.CustomHeaders.Add('Access-Control-Allow-Origin:*'); ARespo.原创 2021-09-09 16:51:17 · 1271 阅读 · 0 评论 -
利用武稀松版HtmlParser解析Html,使用CSS选择器定位节点
{ Html解析器. 最近因为用到Html解析功能.在网上找了几款Delphi版本的,结果发现解析复杂的HTML都有一些问题. 没办法自己写了一款,经测试到现在没遇到任何解析不了的Html. wr960204 武稀松 2013 http://www.raysoftware.cn/?p=370 感谢牛人杨延哲在HTML语法和CSS语法方面的帮助. Thank Yang Yanzhe. http://www.pockhero.com/ 本版本只支持DelphiXE.原创 2021-09-08 15:18:57 · 497 阅读 · 0 评论 -
Delphi 利用自带类TRegEx实现正则匹配
var matchs: TMatchCollection;const encryp_RexStr = 'encryptAccountId(.*?)isGold'; matchs := TRegEx.Matches(sResponseHtml, encryp_RexStr); if matchs.Count = 1 then begin tmpShopInfo.encryptAccountId := matchs.Item[0].Groups[1].Value; ... .原创 2021-09-08 15:09:05 · 807 阅读 · 0 评论 -
Delphi 使用FormatSettings避免日期格式化错误
var tmpDateTime: TDateTime; FSetting: TFormatSettings;begin FSetting := TFormatSettings.Create(LOCALE_USER_DEFAULT); FSetting.ShortDateFormat := 'YYYY/MM/dd'; FSetting.DateSeparator := '/'; tmpDateTime := StrToDateTime('2021/10/10 15:11:25',F...原创 2021-08-17 15:47:43 · 697 阅读 · 0 评论 -
Delphi Invalidate 强制重绘窗口
1、Invalidate介绍 void Invalidate( BOOL bErase = TRUE ); 该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘,例如,如果一个被其它窗口遮住的窗口变成了前台窗口,那么原来被遮住的部分就是无效的,需要重绘。这时Windows会在应用程序的消息队列中放置WM_PAINT消息。MFC为窗口类提供了WM_PAINT的消息处理函数OnPaint,OnPaint负责重绘窗口。视图类有一些例外,在视图类的OnPaint函数中调用了OnDraw函数,实际原创 2021-08-16 14:05:49 · 790 阅读 · 0 评论 -
Delphi System.Json 常用基础操作
//组装Json串发送var JSONObject, JSONObject1: TJSONObject; // JSON类 jsonArray: TJSONArray; // JSON数组变量 strJson: string; i: Integer;begin try JSONObject := TJSONObject.Create; JSONObject.AddPair('type', TJSONNumber.Create(1)); .原创 2021-08-16 13:55:33 · 237 阅读 · 0 评论 -
Delphi 图片转base64值函数
{************************************************************************** 名称: BaseImage 参数: fn: TFilename 返回值: string 功能: 将fn文件转换成Base64编码,返回值为编码**************************************************************************}function BaseIma...原创 2021-08-15 12:40:38 · 587 阅读 · 0 评论 -
Delphi 消息TMessage的使用示例
消息发送:var sData: TCopyDataStruct;begin sData.lpData := PChar(sUrl); SendMessage(g_Hwnd, WM_ThreadMsg, 1, Cardinal(@sData)); //向主线程发启动加载消息消息接收:procedure WMThreadMessage(var msg: TMessage); message WM_ThreadMsg;procedure TfCEF.WMThreadMessage.原创 2021-08-12 13:41:32 · 653 阅读 · 0 评论 -
delph 自带URL编码函数 TNetEncoding
UTF-8编码sKey := TNetEncoding.URL.Encode('中文', [], [], TEncoding.UTF8);%E4%B8%AD%E6%96%87GBK编码sKey := TNetEncoding.URL.Encode('中文', [], [], TEncoding.ANSI);%D6%D0%CE%C4原创 2021-08-11 17:43:49 · 825 阅读 · 0 评论 -
Delphi使用SetWindowLong 修改子窗体属性,实现z轴任意覆盖
今天有个朋友问我一个问题,现在Delphi创建的子窗体默认子窗体只能在主窗体上面,不能被主窗体遮挡,问如何才可以使主窗体获得焦点的时候可遮挡子窗体,本来以为很简单的问题,其实还是需要了解一个函数。SetWindowLong是一个Windows API函数。该函数用来改变指定窗口的属性.函数也将指定的一个32位值设置在窗口的额外存储空间的指定偏移位置。原型LONGSetWindowLong(HWNDhWnd,//handletowindow...原创 2021-08-11 15:19:59 · 628 阅读 · 0 评论 -
Delphi 中String、ANSIString、TBytes之间的转换
buffer是tbytes型,temp是string型temp := string(pointer(buffer));setlength(temp,length(buffer));CopyMemory(Pointer(temp), @buffer[0], Length(buffer));d2007以后一、string转为ansistring1、直接赋值 (有警告)2、ansistring()类型强制转换。(无警告)二、ansistring 转为string1、直接赋值 (有警.原创 2021-08-10 11:31:40 · 2303 阅读 · 0 评论 -
关于部分网页报文TBytes转换中文乱码问题解决
var BufWeb: TBytes; sReponse: string;begin outputdebugstringw(pchar(targetUrl)); SetLength(BufWeb, bufferSize); Move(Buffer^, BufWeb[0], bufferSize); sReponse := TEncoding.UTF8.GetString(BufWeb);end;网页编码是UTF8编码,必须使用UTF8转换...原创 2021-08-10 16:52:52 · 226 阅读 · 0 评论 -
关于DELPHI数组,指针,字符串转换的例子!
var aa: array [0..5] of Char; bb:Pointer; cc:string; dd:PChar;procedure TForm1.Button1Click(Sender: TObject);begindd:='abcdef';//以下是pchar内容转数组FillChar(aa,length(dd),#0);Move(dd^,aa,SizeOf(aa));//以下是数组传递到指针bb:=GetMemory(SizeOf(...原创 2021-08-10 09:35:00 · 708 阅读 · 0 评论