第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入門講義(基礎から応用まで)