淘宝平台开发 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:
------------------------------- ......
function ExpCalc(exp: string): string;
var
vScript: Variant;
begin
vScript := CreateOleObject('ScriptControl');
vScript.Language := 'VBScript';
Result := vScript.Eval(exp);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:=ExpCalc('100 *4.17/0.5*(55. ......
[code=Delphi(Pascal)]
unit uThreadPool;
{ aPool.AddRequest(TMyRequest.Create(RequestParam1, RequestParam2, ...)); }
interface
uses
Windows,
Classes;
// 是否记录日志
// {$DEFINE NOLOGS}
type
TCriticalSection = class(TObject)
protected
FSec ......
用Delphi开发数据库应用,一般会涉及到闪屏(Splash)、登录窗口、主数据模块(或主数据库连接)以及主窗口。通常在项目文件中,splash窗口显示过,一些需要加载的资源、窗口加载过后,Application.Run之前,进行用户登录。
//测试CSDN博客对DELPHI代码的支持
program TEST;
uses
Forms,
Windows,
MainF in 'Ma ......
Day 开头的函数
●
Unit
DateUtils
function DateOf(const Avalue: TDateTime): TDateTime;
描述
使用 DateOf 函数用来把一个 TDateTime 类型的变量转变成一个
只带有日期的 TDateTime 类型变量。
例如:
showmessage(DateTimetostr(dateof(now())));
你得到的是 2003/03/19
而 showmessage(Dat ......