码迷,mamicode.com
首页 > 其他好文 > 详细

Variant

时间:2015-07-14 17:28:57      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:

 

VariantArrays,

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

VType


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));
}

 

 

 

Variant

标签:

原文地址:http://www.cnblogs.com/cb168/p/4645546.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!