起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: op+

【结贴】购物车、在线支付

[复制链接]
发表于 2009-10-28 17:43:40 | 显示全部楼层
用webBrowser的navigate()方法调用网页可以实现。原来用这个方法做过一个调用网页发送短信的程序。具体代码记不得了。去网上找一下webBrowser的用法介绍能搞定。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-28 18:34:46 | 显示全部楼层
回41楼~
是不是像下面的链接一样 ?
http://www.cnblogs.com/del/archive/2009/01/07/1370907.html
这个是不是要模拟网页,调用网页上的方法传过去,我们是没有网页的,就是从平台一个功能传数据到网银的接口。
回复 支持 反对

使用道具 举报

发表于 2009-10-29 09:20:28 | 显示全部楼层
楼主,其实就是你要产生一个这样的网页(在平台中可以用WebBrowser来展现),网页中 有相关的接口信息,然后提交过去。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-30 10:14:20 | 显示全部楼层
能模拟出网页了,也发送到接口了。不过我的方法不现实,在这些步骤中,其中有一点我是先通过这个网站[加密,然后拷贝加密后的32位码到其中一个Edit中.
有没有代码能直接对EditMD5加密的代码?

百度搜出来的比较难用,有例子吗~版主~
回复 支持 反对

使用道具 举报

发表于 2009-10-30 10:31:33 | 显示全部楼层
首先恭喜下楼主。

不太清楚楼主的意思
你是指 md5加密算法么?如果是,网上很多的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-31 18:45:21 | 显示全部楼层
版主,,DELPHI自带有MD5加密。我使用了2种方法,发现都有问题。
方法一:
procedure TMainForm.Button5Click(Sender: TObject);
var
MyMD5: TIdHashMessageDigest5;
Digest: T4x4LongWordRecord;
begin
{MyMD5 := TIdHashMessageDigest5.Create;
Digest := MyMD5.HashValue('1');
dialogs.ShowMessage('32: ' + MyMD5.AsHex(Digest));  //显示32个字符长度的MD5签名结果
dialogs.ShowMessage('16: ' + Copy(MyMD5.AsHex(Digest), 9, 16));}   //显示16个字符长度的MD5签名结果
end;

编译提示:没有找到AsHex  和  Copy 。

方法二:
procedure TMainForm.Button5Click(Sender: TObject);

begin
dialogs.ShowMessage(Business.System.MD5.MD5DigestToStr(Business.System.MD5.MD5String('1')));
end;

编译通过,但是运行后出错。。

版主,解释下~~~
回复 支持 反对

使用道具 举报

发表于 2009-11-2 08:49:49 | 显示全部楼层
方法1在哪里编译的?
方法2请看 http://bbs.justep.com/forum.php?mod=viewthread&tid=15666
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-2 09:48:11 | 显示全部楼层
1.方法1在X3里编译的。
2.版主给的MD5成功了。
3. 代码出错
var
  StrStream:TStringStream;
  SetNoteStr: string;
  k,strMD:string;//拼凑加密串,md5加密
begin
  k:=edit3.Text+edit4.Text+edit1.Text+edit2.Text+edit5.Text+edit6.Text;
  dialogs.showmessage(jsCommon.MakeHashValue(k));
  edit7.Text := jsCommon.MakeHashValue(k);
   SetNoteStr :=Edit1.text;
   StrStream:=TStringStream.Create(SetNoteStr);
   WebBrowser1.Navigate('about:blank');
   try
     StrStream.Position:=0;                                                                       //   TStreamOwnership
     (WebBrowser1.Document as Borland.Delphi.ActiveX.IPersistStreamInit).Load(TStreamadapter.Create(StrStream));
   finally
     StrStream.Free;
end;
end;

在try下面的那行代码报错,说参数不够。但是在DELPHI中可以的哦。在X3下要传什么参数?版主帮我运行看看
回复 支持 反对

使用道具 举报

发表于 2009-11-2 09:56:21 | 显示全部楼层
1、编译提示:没有找到AsHex  和  Copy 。
AsHex是什么,你看平台中是否有,copy函数是delphi的标准函数,平台中使用的话,只需要加上空间名就可以,具体可以看看平台的帮助
2、恭喜一下
3、你看看 http://bbs.justep.com/forum.php?mod=viewthread&tid=18861
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-2 10:19:58 | 显示全部楼层
我就是这里最后一个参数类型不正确,不懂要怎么用,麻烦帮我看下!!
(WebBrowser1.Document as Borland.Delphi.ActiveX.IPersistStreamInit).Load(TStreamadapter.Create(StrStream,TStreamOwnership.soOwned));

[错误]Biz:\ZJGLXT\HYGN\ZXYWWTSL\WSZF.FUNC.DIR\MainForm.Form.pas(78, 94): 不能隐式转换 "TStreamAdapter" 成为 "IStream"
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-15 03:18 , Processed in 0.041349 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表