自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DELPHI 各种代码

DELPHI的记录 都是代码

  • 博客(51)
  • 资源 (4)
  • 收藏
  • 关注

原创 微信公众平台对接

3、管理端,配置各微信公众平台参数,设置启用等功能(与对接程序进行通讯)。2、线上微信公众平台对接程序(含对外API接口)。4、通用使用端,具备会员、积分、卡券、商场等功能。1、线上MYSQL数据库。

2023-07-25 11:37:25 73

原创 老旧软件架构升级为互联网架构,微服务架构(成功案例记录)

老旧软件架构升级为互联网架构,微服务架构(成功案例记录)

2023-07-25 11:29:16 291

原创 idhttp与XE10自带的REST系列,ADO与FDC系列对比

一、idhttp与restclient对比二、idhttpserver与dsserver对比三、ADO与FDC连接数据库对比

2022-10-08 17:21:52 991 1

原创 数据上云(单机或内网C/S升级INTERNET版)

数据上云(单机或内网C/S升级INTERNET版)

2022-09-13 14:04:02 1011

原创 windows server 运行带界面服务端的问题

在windows server 上运行的服务端软件,如果服务端的软件需要调用界面的控件时,远程登录服务器和在本机调试时一切都好用,但一旦退出服务器的远程桌面,服务端软件就不正常了。

2022-06-28 15:38:59 724

原创 DELPHI仿花生壳(外网穿透内网)

主要使用的功能就是在内网络架设服务器软件,然后在外网进行访问。内网网络穿透

2022-06-22 18:23:27 1169

原创 delphi中idhttp完成restserver

为什么要使用IDHTTP代替restserver呢?个人感觉还是IDHTTP更底层一点,而且还支持XML,并且接收值可以是JSON,也可以不是,返回值也是一样。可以任意返回内容,包括返回类似于HTML的内容。

2022-06-20 18:42:58 832

原创 人脸识别服务器端软件设计(delphi XE10)

人脸识别服务器端软件设计(delphi XE10)

2022-04-27 13:22:17 1007 1

原创 DELPHI数据导入金蝶

部分金蝶软件需要的表格其实并不是标准的EXCEL表格,所以如果按EXCEL的方式生成,就无法在金蝶中进行导入。直接上代码var WXLogFile: TextFile; WXLogFileName: string;begin WXLogFileName := 'd:\jd.XLS'; Assignfile(WXLogFile, WXLogFileName); rewrite(WXLogFile); Closefile(WXLogFile); Assignfile(WXLo

2021-12-11 16:47:30 430

原创 扫呗接口单元设计

为了应景2022年3月禁止个人收款码用于商业场景,把以前的扫呗独立单元记录一下。语言环境:DELPHI一、建立一个独立单元,可以在程序任何地方进行调用。二、单元内容:1、为了简单,先把扫呗的原JSON内容定义成常量。2、生成订单号函数:生成毫秒级时间字符串+5位随机数+用户名(随便定义)3、生成POST通用函数:支付、查询、退款,只是地址与带入JSON不同,其它相同4、支付函数:带入必要固定参数------带入必要动态参数-----函数内生成拼接令牌(根据参数,采用替换法,或者自己写命令生成也

2021-11-28 18:40:53 267

原创 软件架构逐步调整过程(二)

四、各端直连硬件的独立程序:1、独立程序仅对硬件进行操作,不与数据库进行连接,所有执行参数由各端连接数据库后采用进程间通讯的方式传输。2、按通讯原路返回硬件执行结果与硬件状态,完成代码复用,避免一次修改后需要把想同代码部署到其它端的情况。五、后台端内部调整:1、由单标签模式修改为多标签模式,实现多表格可以自由切换查询结果,互相印证。2、设计通用参数表作为与其它端的数据交互基础,将权限等经常需要增加的内容保存在通用参数表中,避免其它端要使用开发新功能时必须后台先进行数据设置,达到各端可自行研发。3

2021-09-28 12:09:00 128

原创 软件架构逐步调整过程(一)

一、原软件架构说明(行业软件):1、各端内网直连sql server 数据库2、各端与外网服务器采用HTTP方式进行交互3、各端有连接打印机等其它外设需求,如PLC、串口设备、网络设备等4、各端包含后台、前台、专业端、不同外设端等。5、前台端固定周期生成历史数据二、调整过程:1、架设内网REST服务端,逐步接管非主营业务,如报表、查询、定时任务等2、各端连接其它外设方式修改为单独程序,采用进程间通讯的方式,达到代码复用3、通过内网REST服务端,采用JSON的方式,支持安卓或苹果等移动端

2021-09-06 12:01:48 292

原创 关于程序集成线上支付模块

关于线上支付的那些小问题:不涉及技术方面内容一、与线上支付对接阶段:1、先作小DEMO,把SDK等跑通,至少需要获取token、支付、查询、退款2、由小DEMO提取出最小单位的函数组成一个新的单元,如获取支付环节可以分解为支付前获取基础信息、支付前根据基础信息生成所有数据、支付后获取支付结果、支付后分析支付界面等。3、设置数据库内容,将支付、查询、退款中所有小函数单元的执行前参数,执行后结果保存到数据库中,这点很重要,一旦后期支付出现问题,如果只保存了执行后的结果根本没有办法去判断问题出在哪里。二

2021-07-28 17:01:06 158

原创 DELPHI 函数内容与函数的复用

完全从个人的DELPHI经验进行的总结,不一定适用其它风格:1、如果一个函数未来有可能还会增加参数,可以使用结构体作为参数,增加的参数放到结构体中,但多次复用后,发现如果漏修改了使用的位置,会导致数据不准确。为了避免这个情况发生,所有新增加的参数都单独添加,这样漏写了程序编译不过去,避免了数据不准确的问题。2、每个函数中坚决不调用函数外的变量,这样才会方便函数的迁移,针对系统中包含多端应用时效果很明显,针对不同的DELPHI版本,可以作开关变量进行适应。3、每个函数进入后,先接收入口参数的值,将入口参

2021-07-12 16:35:35 144

原创 统计数据池

软件产品统计数据池:背景:软件产品经常需要根据不同客户的不同需求进行统计修改,而统计必然会涉及到数据库、SQL语句,为了适应不同的需求,SQL会越来越长不方便维护,如果统计模块有多人进行代码研发,很容易造成在不同的统计时得到的结果不同。统计数据池:在数据库与统计模块中增加一个统计数据池,涉及统计时到数据池中进行读取数据,不使用SQL读取,这样可以保证不同人取到的数据不同问题,解决了每个人都需要对SQL进行维护的问题。统计数据池如果放到服务器中由单独程序负责,可以提高数据量大时进行统计的效率。...

2021-05-29 11:41:36 74

原创 DELPHI 编译开关

DELPHI 编译开关的简单应用场景1、根据不同的系统版本进行不同的编译//安卓编译{$IFDEF ANDROID}{$ENDIF}//windows 编译{$IFDEF MSWINDOWS}{$ENDIF}2、在工程中的某一个单元中,进行特殊的编译,手动调整为建立,或者不使用,就可以改变编译结果{$DEFINE qt}{这行可以理解为 qt 这个变量建立了}{.$DEFINE SOA}{这行可以理解为 SOA 这个变量不使用了}{$IFDEF qt} {写代码}{$

2021-04-03 09:25:06 458

原创 美团验票或其它在线验票思路

方案一:最正规的方法是向对方要接口文档。方案二:完全模拟人为操作进行验票方案三:模拟HTTP包操作与网站进行交互方案二说明:1、使用IE浏览器打不开的网站可以使用谷歌浏览器插件。2、模拟人为操作如果有可能被封账号可以考虑增加随机模拟干扰操作3、网站类的有可能需要增加定时刷新功能,即与网站保存心跳...

2021-02-23 18:00:27 726

原创 DELPHI 界面及操作小技巧

1、SHOW出来的窗口按ALT后会切换到主窗口,原因应该是按ALT时调用了主窗口的WINDOWS功能的菜单解决方案一:主窗口的borderstyle 修改为 bsnone。解决方案二:将SHOW出来的窗口的父窗口设置为一个PANLE等控件2、listview记录多时的记录定位for i := 0 to ListView3.Items.Count - 1 do begin if ListView3.Items.Item[i].SubItems[0] = edit1.Text the.

2021-02-23 17:51:48 632

原创 DELPHI 美团验票

一、整体流程说明1、DELPHI +Chromium 控件。因为美团网站不支持webbrowser2、采用模拟人工操作方式与美团互动(高级方法也有,但学习一下去感觉不值得,还是以解决问题为主)3、采用Chromium的缓存功能保持长时间连接4、功能完成后适当的优化验票流程二、Chromium控件1、谷歌浏览器的控件。2、安装控件后,自带的有demo。用里面的minbrowser的作基础模板3、Chromium1LoadEnd事件是加载完网站的一部分后响应,框架一类的都有反应。关键代码fr

2020-10-27 17:23:21 344

原创 DELPHI 微信公众平台 订阅号(二)

一、采用IdHTTPServerunit fun_send;interfaceuses Winapi.Windows, System.Classes, IPPeerClient, REST.Client, REST.Types, System.JSON;function rest_get(server_url: string; send_name_strlist: TStringList; send_info_strlist: TStringList): string;func

2020-10-22 15:59:03 487

原创 DELPHI 微信公众平台 订阅号(一)(restserver 的方式失败了,得换控件了)

重无到有,记录连接微信公司平台的过程一、需要准备的资料1、一台有外网的服务器,开放80端口2、注册一个微信公众平台订阅号(个人只能申请这个)二、建立一个 restserver(dshttpserver的端口号必须是80)用来接入微信开发模式,参考以前写的https://blog.csdn.net/weixin_44387646/article/details/106218176。然后测试一下,能通讯并且收到返回值就可以三、建立一个新函数让微信可以验证//引用IdHashSHAf

2020-06-04 17:44:41 366

原创 delphi 时间函数

一、不同的电脑时间格式有可能不同,会导致转换时间格式数据时意外报错。二、需要写几个小函数来统计软件运行过程中的时间格式。1、数据库日期时间格式函数function format_sql_datetime(temp_datetime: string; date_interval: string = '/'; time_interval: string = ':'): string;var yyyy: string; mm: string; dd: string; hh: str

2020-05-26 11:28:26 356

原创 优惠思路设计

一、设计数据库1、优惠类型表(至少包括优惠类型名称、大类名称、小类名称)2、优惠信息表(至少包括优惠名称、所属优惠类型名称)3、优惠构成条件表(至少包括优惠名称、构成条件)4、优惠目标表(至少包括优惠目标,优惠金额)二、优惠计算例如:有一个优惠名称为‘10元优惠券’,购买A商品与B商品,则C商品减10元1、判断是否有A商品,如果有,A商品添加‘临时标记’,继续2、判断是否有B商品,如果有,B商品添加‘临时标记’,继续3、判断是否有C商品,如果有,C商品添加‘临时标记’

2020-05-21 16:33:56 228

原创 delphi xe10 restserver

一、NEW一个datasnap server基本默认选择,中间把HTTP打上挑二、打开ServerContainerUnit1单元三、DSHTTPService1控件的FormatResult事件中增加代码procedure TServerContainer1.ds_h_datacountFormatResult(Sender: TObject; var ResultVal: TJSONValue; const Command: TDBXCommand; var Handled: Boole.

2020-05-19 17:26:16 1020

原创 DELPHI编程中各种加速度方法

1、自己写代码生成程序,比如总需要向数据库增加新表,可以作一个程序,输入表名、字段名、属性等,自动生成代码2、函数通用,多写一些通用的函数。3、善用fraem控件,把常用的功能作成小框架4、复制粘贴辅助软件,把常用代码变成组合快捷键,然后直接CTRL+V5、函数如果入口参数未知,把参数作成结构体,省的每次加参数修改的地方太多6、善用窗口继承7、如果写APP程序,善用编译开关,先在WINDOWS下调试。8、常用的数据库表内容可以作成保存到TLIST中,什么时候用什么时候用函数调用出

2020-05-19 16:41:30 416

原创 delphi 项目软件架构升级之后台部分-行业软件

我对后台的理解,应该包括账号管理、参数设置、软件规则的设定、保密的设置与数据来源的设置。其它的功能应该分离出去,后台应该是独立于其它部分,后台与数据库相当于土建中的地基,只是基础而已,不应该涉及高级业务。当然也是分情况的,不要太绝对,比如我接手的这个后台,是管理员、财务、老板使用,所以包含的功能很多。功能划分:功能按使用人员或者功能类型进行划分,我是按功能类型分的。...

2020-05-02 19:16:03 201

原创 delphi 项目软件架构升级-行业软件

洗浴行业软件之delphi19年7月到新公司,居然是用delphi写的洗浴行业软件。软件架构为c/s+mssqldelphi部分:前台端、技师端、自助结账机、后台管理端、闸机程序线上部分mysql:php网上商城、微信公众平台软件涉及的技术相当’全面’,代码风格百花齐放,变量名称应有尽有,控件的用法也是各尽其能,整个系统没有数据库表说明、开发文档、流程图,比较统一的就是基本没有注解(其中...

2020-05-02 11:24:04 243

原创 delphi idhttp post json 上传 PHP $_post 接收

前提:PHP端用$_post 接收一、delphi idhttppost上传数据时如果使用temp_stream: TStringStream; 内存流的方式上传则需要指明IDHTTP的contentypevar idhttp2: TIdHTTP; temp_stream: TStringStream; temp_url: string; temp_str: ...

2019-12-26 10:03:03 1254

原创 DELPHI XE 2 JSON 生成与解析

一、生成var json: ISuperObject; json_sub: array of ISuperObject; i: integer;begin json := SO; json.S['i'] := '5'; json.O['show'] := SA([]); SetLength(json_sub, 3); for i := 0 to Length...

2019-12-25 16:18:56 1031

原创 delphi 7 升级 到 xe2 CHAR类型变化

7.0代码ROOM,STIME,GNAME,GID,gate:ARRAY[0..50] OF CHAR;function ReadCard(ROOMNO,GATE,STIME,GUESTNAME,GUESTID,track1,track2:pchar;CARDNO,st,Breakfast:pinteger):integer;stdcall external 'MainDll.Dll';...

2019-11-05 15:13:08 242

原创 delphi xe2 HmacSHA256

以后估计得用XE2编程了。先来个加密的具体完成的功能就不上传了,毕竟公司项目IdGlobal, IdHashSHA, IdHMAC, IdHMACSHA1, IdSSLOpenSSL;THMACUtils<TIdHMACSHA256>.HMAC_Base64(Edit1.Text, Edit2.Text);HMAC(aKey, aMessage);...

2019-07-04 09:05:55 1565 2

原创 delphi XE LISTVIEW导出EXCEL

1、调用listtoexcel('abcd', jjd_list, 5);//第一个参数没什么用,随便写的。第二个参数就是LISTVIEW。第三个参数代表哪列是数值型。2、代码function listtoexcel(ttname: string; tt: TListView; num_num: integer): string;var h, k, i: integer; ...

2019-05-21 10:59:04 802

原创 DELPHI xe 10 的获取CPUID

type TCPUID = array [1 .. 4] of Longint;FUNCTION GetCPUID1: TCPUID; assembler; register;asm PUSH EBX { Save affected register } PUSH EDI MOV EDI,EAX { @Resukt } MOV ...

2019-05-10 10:19:27 1266

原创 DELPHI 压缩ACCESS数据库

unit data_mouble;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Data.DB, ...

2019-04-26 16:58:15 549

原创 DELPHI XE 与PLC通讯(INTCPSERVER 二进制)

一、与PLC通讯采用TCPSERVER方式二、配合PLC发送二进制数据。var i: integer; RecClient: TIdContext; buf: TIdBytes;begin SetLength(buf, 2); buf[0] := ord('W'); buf[1] := BintoInt(Edit7.Text); with c_tcp_lis...

2019-04-10 08:57:51 1736

原创 DELPHI XE 编译开关-一套代码不同平台编译

随便找个地方用就行,省的每个平台都要一个工程了{$IFDEF ANDROID} 这里是安卓{$ELSE} {$IFDEF IOS} 这里是苹果 {$ELSE} 这里是除了安卓和苹果 {$ENDIF}{$ENDIF}...

2019-04-10 08:52:54 719

原创 DELPHI XE10 百度车牌识别

源码:https://download.csdn.net/download/weixin_44387646/11060732一、申请百度账号uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl...

2019-03-26 11:44:09 1801 5

原创 DELPHI XE10 ANDROID 界面设计-个人心得

功能性的代码可以在WINDOWS下先调试好(代码中增加WINDOWS与ANDROID的编译开关,方便调试),否则在ANDROID里太费劲。一、用LAYOUT控件布局,使用控件的ALIGN属性来适应不同的屏幕大小二、先布局,后调整界面。三、有确定按钮的地方尽量放在屏幕上方,否则弹出输入法后,还得调整界面。...

2019-03-07 13:36:15 4892

原创 DELPHI xe 动态效果多时的控件闪烁

一、问题:界面中有时会发生控件闪烁问题。二、解决方法:把闪烁控件的父控件的DoubleBuffered属性修改为TRUE

2019-03-07 11:26:24 952

原创 DELPHI 控件的相对坐标与屏幕坐标转换

一、直接上代码var pt: TPoint; r: TRect;begin pt := Point(Edit1.Top, Edit1.Left); pt := ClientToScreen(pt); Edit2.Text := inttostr(pt.X); Edit3.Text := inttostr(pt.y); Mouse.CursorPos := Poi...

2019-02-27 13:51:45 3428 1

HmacSHA256.rar

用DELPHI 的HmacSHA256 加密,源生的,在XE2下用的。包含使用的DLL文件和加密单元

2019-07-04

百度在线车牌识别DELPHI XE10版

百度在线车牌识别DELPHI XE10版,功能就是识别一张图片中的车牌号,用的是百度的在线识别方法。

2019-03-26

DELPHI 动态创建按钮 BUTTONG

DELPHI XE 10 动态建立按钮,XE10下可直接使用。可以直接用

2019-02-21

DELPHI image与LISTVIEW之间的拖拽

界面中两个IMAGE,一个LISTVIEW,实现将任意一个IMAGE拖拽到LISTVIEW上的Item,更换listview中的图标。 DELPHI XE10下可用

2019-02-20

空空如也

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

TA关注的人

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