因10年前就转型管理岗,此次因特殊原因,需要自己动手写个小助手,不过这个问题想办法解决了,现在我把思路分享给大家:
1. 用delphi去写个带参数的传入型号,然后利用delphi去下载下来,因返回的json文件,文件名也可以跟着参数去设定,这样下载下来后就不会混淆。
2. 如果下载成功,delphi返回值给vfp
3. vfp根据返回的成功值,用VFP写个函数解json文件,转换成想要的数据到grid1里面。
delphi最初的测试源码如下(文件名变量需要去设置),注意要用URLMon和ShellApi(uses URLMon, ShellApi):
function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
try
Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
except
Result := False;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
SourceFile:string;
DestFile:string;
begin
SourceFile:='http://xxxx/Receive/GetBarcodeData?pdnum=PD06210195';
DestFile:= 'd:\xx\temp\indata\pd06210195.json';
if DownloadFile(SourceFile, DestFile) then
begin
ShowMessage('Download succesful!');
ShellExecute(Application.Handle,PChar('open'),PChar(DestFile),PChar(''),nil,SW_NORMAL)
end
else
ShowMessage('Error while downloading' + SourceFile)
end;
1. 用delphi去写个带参数的传入型号,然后利用delphi去下载下来,因返回的json文件,文件名也可以跟着参数去设定,这样下载下来后就不会混淆。
2. 如果下载成功,delphi返回值给vfp
3. vfp根据返回的成功值,用VFP写个函数解json文件,转换成想要的数据到grid1里面。
delphi最初的测试源码如下(文件名变量需要去设置),注意要用URLMon和ShellApi(uses URLMon, ShellApi):
function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
try
Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
except
Result := False;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
SourceFile:string;
DestFile:string;
begin
SourceFile:='http://xxxx/Receive/GetBarcodeData?pdnum=PD06210195';
DestFile:= 'd:\xx\temp\indata\pd06210195.json';
if DownloadFile(SourceFile, DestFile) then
begin
ShowMessage('Download succesful!');
ShellExecute(Application.Handle,PChar('open'),PChar(DestFile),PChar(''),nil,SW_NORMAL)
end
else
ShowMessage('Error while downloading' + SourceFile)
end;