医联卡返回时间

function   hdcService(head,body,msg,resultdata:PChar):Integer;stdcall;external 'hdcv1.dll';
 //申明从hdcv1.dll中调用函数hdcservice函数,该函数包括4个参数,其中head和body是传入的xml头部分和主体部分,msg是返回的提示信息,
 //resultdata是返回的结果。
procedure Tfrmupload.Button1Click(Sender: TObject);
var
    rst,i,t1,t2,interval:integer;
    head,body,msg,resultdata:String;
    DateTime:TDateTime;
begin
if checkbox1.Checked and (StringGrid1.Row<1) then
begin
showmessage('请选择一个事件!');
exit;
end;
if (not checkbox1.Checked) and (memo1.Text='') then
begin
showmessage('请选择一份header文件!');
exit;
end;
if memo4.Text='' then
begin
showmessage('请选择一份body文件!');
exit;
end;
memo2.Lines.Clear;
memo5.Lines.Clear;
edit1.Text:='';
label6.Caption:='';
button1.Enabled:=false;
head:='<header><eventid>'+StringGrid1.Cells[1,StringGrid1.Row]+'</eventid><organizationid>123</organizationid></header>';    //把head.xml文件转换成字符串
body:=memo4.Text;    //把body.xml文件转换成字符串
setlength(msg,2000); //因为msg是返回的信息,需要预先分配空间, 2000仅为示例,意为必须保证空间足够   
setlength(resultdata,20000); //因为resultdata是返回的信息,需要预先分配空间,结果有可能比较大,所以分配的空间也需要比较大
// 20000仅为示例,意为必须保证空间足够
t1:=getTickCount; //调用dll前时间
rst:=hdcService(PChar(head),PChar(body),PChar(msg),PChar(resultdata));//rst是执行返回的结果
t2:=getTickCount; 
interval:= t2-t1; //调用dll前后时间差
label6.Caption:=inttostr(interval);
button1.Enabled:=true;
edit1.Text:=inttostr(rst);
memo2.Lines.Add(resultdata);
memo5.Lines.Add(msg);
end;

转载于:https://www.cnblogs.com/zsdentist/archive/2011/07/22/2114188.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值