淘宝平台开发 delphi 示例
淘宝开放平台的开发例子大多都是c#,php,java等,缺少Pascal的例子。
现用delphi写了一个示例,
关键点是签名的生成,签名需按key字母顺序排序,并去掉等于号后首尾相连。
关键代码:
memstr:= TMemoryStream.Create;
//用授权码获取 session
IdHTTP1.Get('http://container.api.tbsandbox.com/container?authcode='+memo1.Text,memstr);
setlength(ss,memstr.Size);
memstr.Position:= 0;
memstr.Read(ss[1],memstr.Size);
ss:= Utf8ToAnsi(ss);
//切分session top_session=282730527fc47c5e27838f5dd8aeb098afefd&top_sign=LiTSTYs/DQHpRAGA4OPEZA==
ss:= copy(ss,pos('top_session=',ss)+12,255);
ss:= copy(ss,1,pos('&',ss)-1);
memo1.Lines.Add(ss);
//制作签名,下列代码有冗余的单引号,主要是为了显示逻辑关系。
ss2:=secrect_key+'app_key'+app_Key +
'fields'+'tid,seller_nick,buyer_nick,status,orders.title,orders.price,orders.num'+
'format'+ 'xml'+
'method'+'taobao.trades.sold.get'+
'session'+ss+
'sign_method'+'md5'+
'timestamp'+datetimetostr(now)+
'v'+ '2.0'+ secrect_key;
ss2:= UpperCase(StrMD5(ss2)); //生成签名md5
//合成参数
ss3:= 'app_key='+app_Key +
'&fields='+'tid,seller_nick,buyer_nick,status,orders.title,orders.price,orders.num'+
'&format='+ 'xml'+
'&method='+'taobao.trades.sold.get'+
'&session='+ss+
'&sign_method='+'md5'+
'×tamp='+ URLEncod
相关文档:
{-----------------------------------------------------------------------------
Unit Name: HashTable
Author: LiuHeng
Date: 2010-04-13
Purpose: 封装Delphi的HashTable
History:
------------------------------- ......
unit MyADO;
interface
uses
SysUtils, Classes,ADODB,DB,Variants,StdCtrls,Dialogs;
type
TMyADO = class(TComponent)
private
Connection: TADOConnection;
Query: TADOQuery;
Table: TADOTable;
FConnectio ......
过程无返回值,函数有返回值。
procedure MyProc(m,n : Integer; o : String; p : Single = 2.5; q : String = 'Delphi');
如上例所示,过程声明和定义中,多个参数是用分号隔开的,但在调用时是用逗号隔开的 。eg:
......
虽是原创,但是是参考过别人的作品,然后自己重新写的,目的是要给初学者一个更容易明白。
用DELPHI创建DLL文件,封装窗体的实现方法实例:
即一个程序不再是单一的一个EXE文件了,而是由一个EXE文件加N个DLL文件组成,这样做的原因是方便以后的维护与更新,也是跨平台开发的重要一步。
1, 打开DELPHI,新建一个Dl ......