首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Delphi 怎么给printf和scanf类型的函数传递可变参数

2012-06-15 
Delphi 如何给printf和scanf类型的函数传递可变参数因为需要调用visa dll里面的viscanf,viprintf函数,所以

Delphi 如何给printf和scanf类型的函数传递可变参数
因为需要调用visa dll里面的viscanf,viprintf函数,所以必须传递可变参数。

c++代码如下:
声明:
UINT viScanf (ViSession vi, char* readFmt, ...);

使用: 
  char buf[255];
  viPrintf(vi,("measure:voltage:dc?\n ");
  viScanf(vi,"%#t",buf);


delphi代码我是这样写的:
声明:
  function viPrintf(vi:ViSession;writFmt:ViString):ViStatus;cdecl varargs;external 'visa32.dll';
  function viScanf(vi:ViSession;readFmt:PChar):ViStatus;cdecl varargs;external 'visa32.dll';

使用:
viPrintf(vi,PChar('measure:voltage:dc? '#10''));
viScanf(vi,'%#t',buf);

已试出viPrintf可以把内容发出去,但 viScanf无法取回数据。
有请各位高手指教!


[解决办法]
viScanf(vi,'%#t',buf);
难道不应该是
viScanf(vi,Pchar('%#t'),buf); 吗?
[解决办法]
这个……难度很大,目前还没有如此智能化的东东,友情支持楼主了
[解决办法]
C++中的可变参,在Delphi中使用时,可以参考Format函数的方式。
const Args: array of const
[解决办法]

探讨
C++中的可变参,在Delphi中使用时,可以参考Format函数的方式。
const Args: array of const

热点排行