はじめてのDelphi(その3)

戻る

ここでは、VBC++BuilderDelphiの条件文の記述の違いを見てみます。

条件文

整数 iwork に乱数(0から9を発生)を代入し、その値を判断します。
 条件1. 5より大きいか?
 条件2. 偶数か?奇数か?
 条件3. 1から5の範囲か?、7または9か?、それ以外か?


VBの場合

先頭へ


Private Sub Command1_Click()
 Dim iwork As Integer
 
 ' 乱数の発生(0〜9)
 Randomize
 iwork = Rnd * 10
 
 ' 条件文1
 If iwork > 5 Then
    Call MsgBox(Str(iwork) + " は5より大きい")
 End If
 
 ' 条件文2
 If (iwork Mod 2) = 0 Then
    Call MsgBox(Str(iwork) + " は偶数")
 Else
    Call MsgBox(Str(iwork) + " は奇数")
 End If
 
 ' 条件文3
 Select Case iwork
    Case 1 To 5
        Call MsgBox(Str(iwork) + " は1〜5")
    Case 7, 9
        Call MsgBox(Str(iwork) + " は7または9")
    Case Else
        Call MsgBox(Str(iwork) + " は1〜5,7,9以外")
 End Select
 
End Sub



C++Builderの場合

  • #include <time.h>を追加してください。

先頭へ


//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  // 乱数の発生(0〜9)
  time_t t;
  srand((unsigned) time(&t));
  int iwork = rand() % 10;

  // 条件文1
  if( iwork > 5 ){
    ShowMessage( IntToStr( iwork ) + " は5より大きい" );
  }

  // 条件文2
  if( ( iwork % 2 ) == 0 ){
    ShowMessage( IntToStr( iwork ) + " は偶数" );
  }
  else{
    ShowMessage( IntToStr( iwork ) + " は奇数" );
  }

  // 条件文3
  switch( iwork ){
  case 1:
  case 2:
  case 3:
  case 4:
  case 5:
    ShowMessage( IntToStr( iwork ) + " は1〜5" );
    break;
  case 7:
  case 9:
    ShowMessage( IntToStr( iwork ) + " は7または9" );
    break;
  default:
    ShowMessage( IntToStr( iwork ) + " は1〜5,7,9以外" );
    break;
  }
}
//---------------------------------------------------------------------------



Delphiの場合

先頭へ


procedure TForm1.Button1Click(Sender: TObject);
var
  iwork: Integer;
begin
  // 乱数の発生(0〜9)
  Randomize;
  iwork := Random(10);

  // 条件文1
  if iwork > 5 then
  begin
     ShowMessage( IntToStr( iwork ) + ' は5より大きい');
  end;

  // 条件文2
  if ( iwork mod 2 ) = 0 then
  begin
     ShowMessage( IntToStr( iwork ) + ' は偶数');
  end
  else
  begin
     ShowMessage( IntToStr( iwork ) + ' は奇数');
  end;

  // 条件文3
  case iwork of
    1..5: ShowMessage( IntToStr( iwork ) + ' は1〜5');
    7, 9: ShowMessage( IntToStr( iwork ) + ' は7または9');
  else
     ShowMessage( IntToStr( iwork ) + ' は1〜5,7,9以外');
  end;
end;


 

先頭へ/戻る