第30講 数独(ナンバープレイス)問題解決ソフトVer.1の制作
(数独(ナンバープレイス)問題作成ソフトに挑戦する人は☆☆)


第2話 データグリッドビューのデータを読み込みそのデータをコピーする
前話問題解答例
#pragma endregion
  private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
           int i,j;
            array<String^>^ x=gcnew array<String^>(15);
            for(i=1;i<14;i++){
              if(i%4==1)for(j=0;j<13;j++)x[j]=L"*";
             if(i%4!=1)for(j=1;j<13;j++){
             if(j%4==1)x[j]=L"*";
             if(j%4!=1)x[j-1]=L"";
            }
            dataGridView1->Rows->Add(x);
         }
  };
}


では次の課題です。
Form1さらに、
入門
のように改良しましょう。
データ入力ボタンは、実行ボタン右クリックしてTextを変更してください。
説明部分も同じです。
問題を解かせるボタンは、ツールボックスから入れて右クリックでTextを変更してください。
Form1の改良が出来たら、問題を解かせるボタンをダブルクリックしてください。
  private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
           int i,j;
            array<String^>^ x=gcnew array<String^>(15);
            for(i=1;i<14;i++){
              if(i%4==1)for(j=0;j<13;j++)x[j]=L"*";
             if(i%4!=1)for(j=1;j<13;j++){
             if(j%4==1)x[j]=L"*";
             if(j%4!=1)x[j-1]=L"";
            }
            dataGridView1->Rows->Add(x);
         }
        
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
         }

  };
}


        
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
         }

の部分にコードを入力して、

入力ボタンを押して
初心者データを入力後
問題を解かせるボタンを押すと、
基礎
となるようにコードを考えてください。つまり、問題を解かせるボタンを押すと、データがコピーされるようにするのです。
ただし、VC++の場合dataGridView1のキーボードから入力されたデータを使うには、
String^型の配列array<String^,2>^ w=gcnew array<String^,2>(15,100);
を用意して、データグリッドビューからデータを読み込んで代入するときに、w[3,2]=static_cast<String^>(dataGridView1[2,3]->Value);
のようにキャスト(強制的な変数型の変更)をしなければなりません。

ここでの注意事項は、dataGridView1[2,3]とw[3,2]では列と行が反対になっていることです。

第1話へ 第3話へ

戻る

VC++講義第1部へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)