淘宝平台开发 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
相关文档:
转载自:http://www.cnblogs.com/jdmei520/archive/2009/06/17/1505053.html
Webservice技术的出现将各种开发技术和语言完全的融合了,下面就这种融合在C#和delphi之间的交互做一次全面的体现
1.使用C#创建一个Webservice服务。
使用vs2005的模板创建C#的webservice非常容易。原文件如下:
[WebService(Namespace  ......
dynamic就是它是动态方法,没有静态地址,所以速度慢一点
virtual是虚方法,如果在基类中不声明成虚方法的话,继承后,该方法会提示一警告信息,把基类中方法屏蔽掉了
---------------------------------------------------------------
动态(Dynamic)和虚拟(Virtual)后都可以使用Override关键字在派生类中对对应 ......
delphi调用选择目录对话框
经常见网上有人问选择目录对话框的控件,其实只用一个函数就可以实现。
注意引用 Filectrl 单元
use Filectrl;
procedure TForm1.Button1Click(Sender: TObject);
var
Dir: String;
begin
SelectDirectory('Select a directory', '', Dir);
ShowMessage(Dir);
end; ......
虽是原创,但是是参考过别人的作品,然后自己重新写的,目的是要给初学者一个更容易明白。
用DELPHI创建DLL文件,封装窗体的实现方法实例:
即一个程序不再是单一的一个EXE文件了,而是由一个EXE文件加N个DLL文件组成,这样做的原因是方便以后的维护与更新,也是跨平台开发的重要一步。
1, 打开DELPHI,新建一个Dl ......
32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息。
一、创建和释放TRegistry对象
1.创建TRegistry对象。为了操作注册表,要创建一个TRegistry对象:ARegistry := TRegistry.Create;
2.释放TRegistry对象。对注册表操作结束后,应释放TRegistry对象所占内存:ARegistry.Destroy。
二 ......