-2

Delphi のようなWith Do Beginステートメントを使用して、C++ Builder で次のコードを記述する方法を知りたいです。

試しwith ComboBox->Text .... do ... tryてみましたが、うまくいきません。私も試してみましたが、うまくいきdo ComboBox->Text .... tryませんでした。

if (ComboBox->Text.operator==(String("C++ Builder XE7")))
  {
  try
    {

     // do something

   if ((Form1->Memo1->Lines->Text).Pos("<") !=0)
      {

      // do something 

      }
    }
 catch(Exception &ex)
  {
   ShowMessage(ex.ToString());
  }


if (ComboBox->Text.operator==(String("C++ Builder XE8")))
  {
  try
    {

     // do something

   if ((Form1->Memo1->Lines->Text).Pos("<") !=0)
      {

      // do something 

      }
    }
 catch(Exception &ex)
  {
   ShowMessage(ex.ToString());
  }
4

1 に答える 1

1

withC++ には、Delphi のステートメントに相当するものはありません。C++ でできる最善の方法は、代わりにポインター/参照を使用することです。

TComboBox *cb = ComboBox;
TStrings *lines = Form1->Memo1->Lines;

if (cb->Text == "C++ Builder XE7")
{
    try
    {
        // do something

        if (lines->Text.Pos("<") != 0)
        {
            // do something 
        }
    }
    catch(const Exception &ex)
    {
        ShowMessage(const_cast<Exception&>(ex).ToString());
    }
}

if (cb->Text == "C++ Builder XE8")
{
    try
    {
        // do something

        if (lines->Text.Pos("<") != 0)
        {
            // do something 
        }
    }
    catch(const Exception &ex)
    {
        ShowMessage(const_cast<Exception&>(ex).ToString());
    }
}
于 2015-07-20T19:31:03.337 に答える