会C++Builder的大侠请进!!!急!急!急!急!急!(50分)

  • 主题发起人 主题发起人 Fuweng
  • 开始时间 开始时间
F

Fuweng

Unregistered / Unconfirmed
GUEST, unregistred user!
在C++Builder中Variant型数组怎么定义并赋值?
如下面这段程序为什么有错? (查询离线包中的letters表)
TLocateOptions SearchOptions;
Variant MyArray[2];
MyArray[0] = "yysun";
MyArray[1] = Variant(StrToDateTime(String("1998-8-28 11:43:16")));
bool SearchResult;
SearchResult = Table1->Locate("UserFrom;DateTime",MyArray,SearchOptions);
if(SearchResult)
Caption = "OK";
else
Caption = "NO";

出错信息是"Variant is not a array"
 
Locate需要的variant array必须用 VarArrayCreate来创建:
...
int MyBounds[2]={0,1};
Variant MyArray;
MyArray=VarArrayCreate(MyBounds,1,varVariant);
MyArray.PutElement("yysun",0);
MyArray.PutElement(StrToDateTime(String("1998-8-28 11:43:16")),1);
...
 
SearchResult = Table1->Locate("UserFrom;DateTime",
VarArrayOf(MyArray, 1),
SearchOptions);
 
多谢两位,你们的方法都对,每人25分!!
 
多人接受答案了。
 
Sigh, 对于你现有的程序而言,
reboot老兄的方法比俺的强多了 :-
 
后退
顶部