HTMLでもFormでも良いんだけど、部品をグループ化してリストしておいて、プロパティValueに数値をセットしてる場合に、選択されているやつだけで合計したいなぁなんて時に使う関数
Protected Function SumControlValues(ByVal Control As ListControl) As Long
Dim lRet As Long = 0
For Each wValue As ListItem In Control.Items
If wValue.Selected Then lRet += CType(wValue.Value, Long)
Next
Return lRet
End Function
Rさんやえぴさんのたくさんの記事を見ていて思うのだけれど、戻り値のLongも多分、好きにできるはず。いまやってる規約上、中さんいわくOldTypeなロジックになっちゃってるんだけど、VB4な脳なりにほんのちょっと、何か、「オブジェクト」ってものが見えたような気がする(するだけ笑)
グルーピングというかリスト化したオブジェクト群というか、SelectedValueっていうプロパティを持ってるオブジェクトであればここで処理できるんだろうなぁ、なんて思ってみたりして、それってばこの関数、けっこう汎用的なんじゃないかと思ってみたりする。引数に当てているListControlを強制的に?SelectedValueを持つオブジェクトにムリムリにラッパーしてしまえばそれこそ何だって可能なんじゃないのかなぁなんて考えになって、そんな風に色々と芋づるに思考してみると、けっこうオブジェクト指向っぽい?と自分に酔ってみたりなんかしちゃったりなんかして(By広川太一郎)
つか、関数名そのまんまやし……(ぼそ)