■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#7389-0RE#7378:条件式よねKEN2000-02-07(月) 11:41
#7389-0
RE#7378:条件式
#横から失礼します。

> > この場合どんな条件式を使えばすっきりとするのでしょうか。
> 
> すでに解決したようですが、私の「サブルーチンにする」といった回答が無視されたようなので、
> 具体的にサンプルを記述します。
私がUME3さんの回答を見て、「サブルーチンにする」と「どういった条件式にすればよいか?」
とがどう結びつくのだろう??????と思いました。

つまり、ここのFor2重ループの辺りをどうするか?というところが話の中心だったので・・・。
 
> Private Function checkFlg(s() As Boolean) As Boolean
>     Dim wFlg As Boolean
>     Dim i As Integer
>     Dim j As Integer
>     
>     wFlg = False
(1)wFlg=True

>     For i = LBound(s, 1) To UBound(s, 1)
>         For j = LBound(s, 2) To UBound(s, 2)
>             wFlg = wFlg Or s(i, j)
(2)wFlg = wFlg And s(i, j)
質問は「配列の全要素がTrueなら」という条件なので、(1)、(2)が正しいはず。
元のコードだと「配列の要素のどれか一つがTrueなら」になると思います。

>         Next j
>     Next i
>     checkFlg = wFlg
> End Function
> 
> Private Sub Command1_Click()
>     Dim s(10, 10) As Boolean
>     
>     s(0, 0) = Trim(Text1.Text) = ""
>     
>     If checkFlg(s) Then
>        Label1.Caption = "TRUE"
>     Else
>        Label1.Caption = "FALSE"
>     End If
> End Sub
> 
> 何をするためのIF文なのか明記することで他の人に理解してもらうためにサブルーチンを用います。
> サブルーチンの内容はコントロールブレイク(ループの中で条件と比較して処理を終了する手法)を用いて
> も結果が正しければよいと思います。
流れ的にはプロシージャに分けてというのでも一般アプリならいいと思いますが、
個人的にはゲームのときは、あまり小さいレベルではプロシージャ化しなかったりします。

もう一カ所、細かい突っ込みで申し訳ないのですが、上記のようなプロシージャにするなら、
2次元配列でなかったら、エラーで落ちてしまうのはまずいと思います。
For 〜 Eachを使えば、次元数に関係なく配列の全要素とできます。

> 最後に、新米なのにえらそうなこと書いてごめんなさい。
まったく気にする必要はありませんよ(^^)
このページと関連する記事:
#24142-0自動的に増える配列2001-10-29(月) 03:25
#307-4Tag情報の取得2003-11-28(金) 15:45
#29469-0わかんないよ2002-06-18(火) 12:05
#3480-0RE#3465:MDI子フォームへのコントロール配列の設定1999-11-16(火) 14:15
#3966-01999年12月2日(木)11:121999-12-02(木) 10:49
#15340-0jpgファイルの判断2001-03-30(金) 05:04
#22504-0神経衰弱の作り方を教えてください2001-08-20(月) 10:04
#13529-0CheckBoxについて2000-12-19(火) 21:08
#19684-0重複と乱数2002-02-05(火) 17:23
#1102-1コンボボックスの内容を確認しながらリストを追加するには2004-02-17(火) 01:05
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)