Delphi

Delphi对接快递单的md5函数

隐身守侯 提交于 2020-04-23 03:52:35
对接快递单每个快递商家的接口都不同,但基本大同小异,主要的算法都是md5 和Base64。一般提供的Demo都不会有Delphi的。其实md5和Base64Delpi都自带了。 base64一般都不会有问题,主要是md5,很多用Delphi对接的,主要的问题都是出在这里。下面我分享对接两个不同快递接口,用到的md5处理都不同。 procedure TForm1.SpeedButton1Click(Sender: TObject); var Str:String; M5Str,BaseStr:AnsiString; begin str:=StringReplace(Trim(Edit1.Text),' ','',[rfReplaceAll]); Memo1.Lines.Add('原文'+str); M5Str:=THashMD5.GetHashString(Str); Memo1.Lines.Add('MD5:'+M5Str); Memo1.Lines.Add('QDAC,URL:'+qstring.UrlEncode(str,False,true)); Memo1.Lines.Add('TNET,URL:'+TURLEncoding.URL.Encode(str)); BaseStr:=TNetEncoding.Base64.Encode(M5Str); Memo1.Lines

Java动态性之反射机制(reflection)

末鹿安然 提交于 2020-04-20 17:45:24
说到反射机制,第一次接触的人可能会比较懵,反射?什么反射?怎么反射?反射是干嘛的?下面我将在这篇文章中讲讲Java的反射机制 不过在这之前,还有一个问题需要解决,标题名中的动态性,说起动态性,我先介绍介绍动态语言和静态语言 静态语言    静态语言是在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。 例如:C++、Java、Delphi、C#等。 动态语言    动态语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。 例如PHP/ASP/Ruby/Python/Perl/ABAP/SQL/JavaScript/Unix Shell等等。 并且 动态语言 ,是指程序在运行时可以改变其结构:新的函数可以引进,已有的函数可以被删除等结构上的变化。   这时可能你就会有疑问了,既然Java属于静态语言,又怎么会有动态性?其一就是Java存在与动态性相关的机制: 反射机制。 Java通过反射机制,可以在程序运行时加载,探知和使用编译期间完全未知的类,并且可以生成相关类对象实例,从而可以调用其方法或则改变某个属性值。 所以JAVA也可以算得上是一个半动态的语言 。 下面来讲讲反射机制    反射机制概念      在Java中的反射机制是指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法

ASP.NET Core 2.0 MVC项目实战

怎甘沉沦 提交于 2020-04-18 14:53:01
一、前言 毕业后入职现在的公司快有一个月了,公司主要的产品用的是C/S架构,再加上自己现在还在学习维护很老的delphi项目,还是有很多不情愿的。之前实习时主要是做.NET的B/S架构的项目,主要还是用的那种传统的开发模式,只有一个项目用到了Web API,自己负责后端的接口功能实现。既然现在没办法改变现状,那就先改变自己吧。定了个计划,下班后慢慢的开始学习ASP.NET Core Web API和Vue,准备从前端到后端自己写一个小项目玩玩,毕竟代码这个东西,时间长了是会忘的。 嗯,有点扯远了。这个MVC项目是我的毕业设计,虽然写的比较烂,而且当时为了赶紧写完,代码的冗余程度有点高,但还是希望能给一些准备入门ASP.NET Core MVC的童鞋提供些借鉴吧。代码我放到Github上了,源码地址 https://github.com/Lanesra712/Danvic.PSU ,欢迎大神们拍砖,指出不足处。 二、项目介绍 毕业论文的课题是一个大学生的一个报名系统,主要是为了完成大学生报名过程中的一些数据维护,当然最后因为实在来不及了,好多都没做。。。项目主要使用到的相关技术如下所示: 项目框架:ASP.NET Core 2.0 MVC ORM:Entity Framework Core(使用Code First) 数据库引擎:MySQL SERVER 5.7 权限验证

Delphi Mouse.curpos appears to be returning incorrect coordinates

走远了吗. 提交于 2020-04-17 22:44:07
问题 I have a VCL form application with a tedit that will use FindVCLWindow (Mouse.CursorPos) to act upon a the control if it is beneath the mouse. When I left click on the tedit, my program returns nil for the result and the reason appears to be the mouse.curpos sent in the function. In my test I used a form size of 500+ x 500+ and located it at screen coordinates 100,100. The Tedit is located at 100,100 and is sized and displayed at 100,50. When I point at the edit, the mouse.curpos is returned

How to get(extract)/set parameters from URL?

萝らか妹 提交于 2020-04-17 07:18:40
问题 I have URL like this (for example): https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=delphi+url+parameters+ I need to get/set value of parameter by name ("sourceid", "ion", ...). How can i do this? Delphi has TIdURI class, it helps to parse URL but not parameters, it returns all parameters as single string (property Params). Of course i can create my own parser but it is so basic functionality, there should be some standard way (i hope). I surprised that TIdURI

How to get(extract)/set parameters from URL?

放肆的年华 提交于 2020-04-17 07:18:08
问题 I have URL like this (for example): https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=delphi+url+parameters+ I need to get/set value of parameter by name ("sourceid", "ion", ...). How can i do this? Delphi has TIdURI class, it helps to parse URL but not parameters, it returns all parameters as single string (property Params). Of course i can create my own parser but it is so basic functionality, there should be some standard way (i hope). I surprised that TIdURI

Delphi String 常用字串符处理函数

心已入冬 提交于 2020-04-17 02:42:12
【推荐阅读】微服务还能火多久?>>> Delphi String 常用字串符处理函数   Delphi 在面对跨平台开发,程序语言也改进不少,不过有些改进,让原本 Delphi 开发者有些不适应,最显注的就是字串处理函数了,原本 Pascal 语言字串起始由 1 开始,几乎是它的经典了,新版本字串由 0 开始,这个改变,让很多人不适应,也多有抱怨,虽然 Delphi 尽量保有相容性,但如果要写出一码,跨所有平台,还是建议全部采用新的写法(由0开始),才是一劳永逸的做法,下面就整理常用字串处理函数新旧对照表。 Delphi String 常用字串符处理函数: 说明 旧写法(Windows 平台)由1开始 新写法(跨所有平台)由0开始 插入字串 Insert('str', Str, 1); Str := Str.Insert(0, 'str'); 删除字串 Delete(Str, 1, 1); Str := Str.Remove(0); Str := Str.Remove(0, 1); 复制字串 Str := Copy(Str, 1, 2); Str := Str.Substring(0, 2); 转成大写 UpperCase(Str); Str := Str.ToUpper; 转成小写 LowerCase(Str); Str := Str.ToLower; 重复字符

How to get at response headers from THTTPReqResp?

橙三吉。 提交于 2020-04-16 08:22:53
问题 I have some old code using THTTPReqResp , this calls Execute for SOAP requests against Exchange Web Services. I'm modifying it to (also) use OAuth login. This works fine, but I'm having trouble detecting when an access token has expired. In a test app using a TipwHTTP component from nSoftware IP*Works I can go through the response headers to detect the one indicating an expired token: with ipwHTTP do try PostData := ABody; Post(cBaseURL); except on e:Exception do begin // A special header is

HttpPrinter-网页打印插件 推荐给大家

拥有回忆 提交于 2020-04-14 11:04:28
【推荐阅读】微服务还能火多久?>>> HttpPrinter-网页打印插件 推荐给大家 下载地址: http://www.HttpPrinter.com/ 一、概述: 常用的报表打印的方法包括: 1.使用activex打印 但是 只能用在IE中,然而微软已经放弃了IE,chrome一家独大,新版的EDGE都用chrome开源内核了. 2.生成pdf打印 但是 效率 和 打印效果有限制.你批量打印数据试试,不累死你,生成一个pdf,自己点击打印一次. 3.用js 传递数据 给 报表服务器,可兼容各种浏览器. 4.安卓 IOS 自定打印机打印,或者用打印机接口打印. 这么多的打印,能不能统一起来. 这就是 我们现在用的 HttpPrinter,通过 Http通讯,打印机服务器端设置好模板格式,把数据发送给服务器即可. 二、特点: 1、无插件,主要一句js即可; 2、拖拽即可完成设计,感谢 锐浪报表的支持 ,国人的骄傲; 3、强大的报表功能,管它什么报表, 交叉的,嵌套的,还是二维码,图片等等,都支持. 4、打印机:只要是能用的打印机,都支持,针式打印机、激光打印机、小票打印机,证卡打印机等等,都不在话下,而且当有多个打印机时可以指定打印机; 5、支持各种语言,java php js delphi python ios andriod 等等,提供Http通讯的语言都支持. 来源:

HttpPrinter-网页打印插件 推荐给大家

别等时光非礼了梦想. 提交于 2020-04-14 11:04:12
【推荐阅读】微服务还能火多久?>>> HttpPrinter-网页打印插件 推荐给大家 下载地址: http://www.HttpPrinter.com/ 一、概述: 常用的报表打印的方法包括: 1.使用activex打印 但是 只能用在IE中,然而微软已经放弃了IE,chrome一家独大,新版的EDGE都用chrome开源内核了. 2.生成pdf打印 但是 效率 和 打印效果有限制.你批量打印数据试试,不累死你,生成一个pdf,自己点击打印一次. 3.用js 传递数据 给 报表服务器,可兼容各种浏览器. 4.安卓 IOS 自定打印机打印,或者用打印机接口打印. 这么多的打印,能不能统一起来. 这就是 我们现在用的 HttpPrinter,通过 Http通讯,打印机服务器端设置好模板格式,把数据发送给服务器即可. 二、特点: 1、无插件,主要一句js即可; 2、拖拽即可完成设计,感谢 锐浪报表的支持 ,国人的骄傲; 3、强大的报表功能,管它什么报表, 交叉的,嵌套的,还是二维码,图片等等,都支持. 4、打印机:只要是能用的打印机,都支持,针式打印机、激光打印机、小票打印机,证卡打印机等等,都不在话下,而且当有多个打印机时可以指定打印机; 5、支持各种语言,java php js delphi python ios andriod 等等,提供Http通讯的语言都支持. 来源: