ページ 1 / 1
無題
Posted: 2010年4月21日(水) 19:40
by マッキー
お疲れ様です。
私は、今独学で、visual studio2008C++で本を読みながら、勉強しているのですが、
ウィンドウズフォームの中の処理で意味が分からないところがあったので、教えてい
ただきたいと思い投稿致しました。
処理の内容としては、日付・体重を型付データセットを使ってフォームに入力すると
いう処理になります。
分からないところは、???とコメントを記述してあるところです。
そこの部分の処理を教えていただきたいです。
処理は走っているのですが、
どうした内容かということが本に書いてなく
ネットで調べてもよく分かりません。
// WeightDataTableのレコードの分だけループ
for each (WeightDataSet::WeightDataTableRow^ drWeight
in WeightDataSet->WeightDataTable)
{
// 文字列にした日付を代入する
expression = "日付= '"
+ drWeight->日付.ToShortDateString()
+ "'";
// 配列の変数に、???
array<SummaryDataSet::SumDataTableRow^>^ curDR
= (array<SummaryDataSet::SumDataTableRow^>^)
SummaryDataSet->SumDataTable->Select(expression);
// 変数の値が0の時
if (curDR->Length == 0)
{
// AddSumDataTableを呼び出し、
SummaryDataSet->SumDataTable->AddSumDataTableRow(
drWeight->日付, 0, 0, drWeight->体重);
}
else
{
// 体重を加算する
curDR[0]->体重+= drWeight->体重;
}
}
どうかよろしくお願いいたします。
Re:無題
Posted: 2010年4月21日(水) 22:18
by Justy
多分その処理で呼ばれている関数はこれです。
DataTable.Select メソッド (String) (System.Data)
http://msdn.microsoft.com/ja-jp/library ... S.80).aspx
SumDataTableから expressionにマッチする……察するに日付毎に管理される体重データの合計を
更新する為の DataRowオブジェクトを取得しているかと。
Re:お返事ありがとうございます
Posted: 2010年4月21日(水) 22:54
by マッキー
Justyさん、お返事ありがとうございます。
サイトの方見させていただきました。
初心者なもので、msdnのサイトは難しく感じます。
慣れるよう努力したいです。
先ほどの答えは、
指定した日付の行の値を配列に格納して、
値が入っていれば
体重を加算する。ということですか?
間違っていたら申し訳ありません。
Re:お返事ありがとうございます
Posted: 2010年4月22日(木) 00:09
by Justy
>指定した日付の行の値を配列に格納して、
ちょっと違います。“値”を格納しているわけではなく、正しくは“値の入ったオブジェクト”を
curDR配列に格納している、ということになります。
で、指定した日付のものがあればその日付の“体重”に加算し、なければ AddSumDataTableを呼び出して
何かしています。
Re:お返事ありがとうございます
Posted: 2010年4月22日(木) 01:30
by マッキー
Justyさん、よく分かりました。どうもありがとうございました。
入門書も終わったので、今度は簡単なゲーム作りか、
自分で考えてアプリケーション作りをしてみようかと思います。
まだまだ、visualstudioの仕組み等が分かっていませんが、努力してみたいと考えています。
暫く、このサイトに頼ることがあるかもしれませんので、その際はよろしくお願いいたします。
ありがとうございました。