現在の CPU は、386 や 486 から現在の Pentium や Pentium II に至るまで、開発速度が非常に速いと言えます。しかし、CPU の急速な発展に伴い、アプリケーション ソフトウェアの「重さ」も、私がコンピュータを学習していた頃は数 K、数十 K だったのが、現在では数十 MB、数百 MB へと急増しており、この変化は私にも影響を及ぼしています。全員が驚きました。 CPUの進歩は人々の作業を高速化し、効率を大幅に向上させましたが、同時に「シンプルさを求めない」という人々の悪い習慣も生み出しました。筆者は友人が VBA を使ってプログラムを書いているのを見たことがあります。プログラムのコードは次のとおりです。
アクティブウィンドウあり
IfWindowState=wdWindowStateMaximizeThen'これが最初の部分です。
MsgBox「これはウィンドウの最大化です」
EndIf
IfWindowState=wdWindowStateMinimizeThen'これは 2 番目のパートです。
MsgBox「ウィンドウを最小化します」
EndIf
WindowState=wdWindowStateNormal の場合、これが 3 番目のパートです。
MsgBox「どこにもない、それは通常のウィンドウです!」
EndIf
EndWith
一見すると構成がとても美しく、良いプログラムに見えます。しかし、注意深く分析してみると、この手順は失敗であることがわかります。これら 3 つのプログラムは、本来あるべき論理構造を実装していないからです。この意見を友人に話したところ、彼はよく聞いてくれて、すぐに上記のプログラムを修正してくれました。具体的なプログラム コードは次のとおりです。
IfWindowState=wdWindowStateMaximizeThen'これが最初の部分です。
MsgBox「これはウィンドウの最大化です」
ElseIfWindowState=wdWindowStateMinimizeThen'これは 2 番目のパートです。
MsgBox「ウィンドウを最小化します」
ElseIfWindowState=wdWindowStateNormal の場合、これが 3 番目のパートです。
MsgBox「どこにもない、それは通常のウィンドウです!」
EndIf
エンドウィズ
友人がこのプログラムを書き終えた後、私に微笑みながら「どうだった?」と言いました。私はこのプログラムを見て、WindowState が wdWindowStateMaximize と等しくない場合は、WindowState が wdWindowStateMaximize と等しいかどうかを判断する必要があると考えました。 、まだ等しくない場合はどうなりますか?次に、それが wdWindowStateNormal に等しいかどうかを判断し続ける必要があります。この時点で、入る前に 3 つの「ドア」を突破する必要があります。私は焦って自分でプログラムを書きました。
SelectCaseWindowState
CasewdWindowStateMaximize'これが最初の部分です。
MsgBox「これはウィンドウの最大化です」
CasewdWindowStateMinimize 'これは 2 番目のパートです。
MsgBox「ウィンドウを最小化します」
CasewdWindowStateNormal'これは 3 番目のパートです。
MsgBox「どこにもない、それは通常のウィンドウです!」
終了選択
ご覧のとおり、このプログラムは簡潔でわかりやすく、非常に読みやすいものになっていると思います。デバッグしてみると、他の利点も見つかるでしょう。私の友人が突然それに気づいたのも不思議ではありません。
実際、どの判決文を使用するかについては、従うべきルールがあります。たとえば、2 つの可能性がある場合は、迷わず If/Elseif を選択できますが、2 つ以上の可能性がある場合は、SelectCase/EndSelect を選択するのが最善です。ほとんどの場合、オプションの関係が 1 つしかない場合は、「ifthen/endif」が最適な選択になります。 ->