自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 第一篇博客

第一篇博客随手记一些知识点随手记一些知识点开通博客的事宜早就有打算,以前总是相信自己的记忆,对大脑有着充分的自信,自从最近几次搬砖过程中,那种模糊的印象,知道用什么,但是具体怎么用,总是在脑袋里处于遗忘的边缘,所以老人说的好,好记性不如烂笔头,记性总归是要输给烂笔头。通过博客,就当成自己的一个流水账吧,由于不是经常搞文本创作,也只能记录成一个流水账。仅供自己查阅。...

2021-07-22 11:13:47 51

原创 Delphi 整型存四个字节数,整型字节数组相互转换

有时候业务为了节省字段需要用到一个 整型 存四个值,方法如下。

2023-08-18 18:31:05 222

原创 Delphi解决Gettickcount服务器49天溢出为0重新记时间的问题

现象:Gettickcount超过49天后会重0开始计时,这样服务器的很多时间间隔逻辑就会错误,为解决该问题,我查询了一些文档,用以下方案即可解决。

2023-08-16 16:57:22 382

原创 FDConnection读取SQLite中文为空处理方法

FDConnection读取SQLite中文为空处理方法

2022-06-02 00:40:12 207

原创 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 607

原创 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 1381

原创 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 530

原创 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 649 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 363

原创 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 737

原创 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 531

转载 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 904

原创 delphi idhttpsever(S)+idhttp(C) 实现简单的JSON API服务

http服务器测试代码procedure TForm1.FormShow(Sender: TObject);beginIdHTTPServer1.Bindings.Clear;IdHTTPServer1.DefaultPort:= 6600;IdHTTPServer1.Bindings.Add.IP := '127.0.0.1';//启动服务器IdHTTPServer1.Active := True; end; procedure TForm1.IdHTTPServer1Comma

2021-09-09 17:50:59 1468

原创 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 1231

原创 利用武稀松版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 480

原创 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 789

原创 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 671

原创 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 759

原创 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 225

原创 Delphi 图片转base64值函数

{************************************************************************** 名称: BaseImage 参数: fn: TFilename 返回值: string 功能: 将fn文件转换成Base64编码,返回值为编码**************************************************************************}function BaseIma...

2021-08-15 12:40:38 570

原创 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 638

原创 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 802

原创 Delphi使用SetWindowLong 修改子窗体属性,实现z轴任意覆盖

今天有个朋友问我一个问题,现在Delphi创建的子窗体默认子窗体只能在主窗体上面,不能被主窗体遮挡,问如何才可以使主窗体获得焦点的时候可遮挡子窗体,本来以为很简单的问题,其实还是需要了解一个函数。SetWindowLong是一个Windows API函数。该函数用来改变指定窗口的属性.函数也将指定的一个32位值设置在窗口的额外存储空间的指定偏移位置。原型LONGSetWindowLong(HWNDhWnd,//handletowindow...

2021-08-11 15:19:59 618

原创 关于部分网页报文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 218

原创 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 2263

原创 关于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 693

空空如也

空空如也

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

TA关注的人

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