标签:
VarArrayCreate
void __fastcall TForm1::Button1Click(TObject *Sender) { Variant array; int bounds[2] = {0, 9}; /* Create a variant array of 10 elements, starting at 0 and ending at 9. The array contains elements of type integer. */ array = VarArrayCreate(bounds, 1, varInteger); // Increase the length of the variant array. VarArrayRedim(array, 49); MessageDlg(String("Variant array has ") + IntToStr(VarArrayDimCount(array)) + " dimensions", mtInformation, TMsgDlgButtons() << mbOK, 0); // Traverse the array from lower to higher bounds. for (int i = VarArrayLowBound(array, 1); i <= VarArrayHighBound(array, 1); i++) { // Put the element I at index I. VarArrayPut(array, i, &i, 0); } // Now read the elements of the array. for (int i = VarArrayLowBound(array, 1); i <= VarArrayHighBound(array, 1); i++) { // Put the element I at index I. if (VarArrayGet(array, &i, 0) != i) MessageDlg("Error! Invalid element found at current position!", mtError, TMsgDlgButtons() << mbOK, 0); } // Clear the variant array. VarClear(array); }
VarToStr
VarToStrDef
VarToWideStr
VarToWideStrDef
VarToDateTime
void __fastcall TForm1::Button1Click(TObject *Sender) { Variant V; String mystr; if (TVarData(V).VType == varEmpty) ListBox1->Items->Add(L"Variants start ???? empty."); VarClear(V); TVarData(V).VType = varString; mystr = L"Here is my ???? string"; wchar_t* MyBuffer = new wchar_t[mystr.Length() + 1]; StrCopy(MyBuffer, mystr.c_str()); TVarData(V).VString = MyBuffer; mystr = (wchar_t *)(TVarData(V).VString); ListBox1->Items->Add(L"This variant is now a ???? string: " + mystr); VarClear(V); TVarData(V).VType = varInteger; TVarData(V).VInteger = 1234567; ListBox1->Items->Add(L"This variant is now an ???? integer: " + IntToStr(TVarData(V).VInteger)); }
标签:
原文地址:http://www.cnblogs.com/cb168/p/4645546.html