2012年8月15日水曜日

ビジュアルベーシックの高速化のヒント45種類




1。プロジェクトをコンパイルする前に、ベーシックを終了し、コンピュータを再起動してください。
そして、プロジェクトをコンパイルすると、メモリに残っている雑用変数が消えることになり、ファイルサイズを減らすことができる。

2。プロジェクトをコンパイルする前に、使用していない変数やサブプロシージャ、宣言、コントロールのようなものを削除してください。これは、ファイルサイズを大幅に減らせます。


3。プログラムを終了するときはENDステートメントを使用してください。
プログラムの終了コードやQueryUnloadイベントでEndステートメントを使用すると、プログラムがメモリに残っていないようにしてくれる。


4。 Variant変数の使用を自制してください。
変数を宣言するときの形式を指定してやらないとベーシックは、自動的にその変数をVariant型で指定するようになるが、Variant型の変数は、非常に遅いため、プログラムのパフォーマンスを低下させる原因となります。


5。フォームの宣言部にOption Explicitステートメントを追加してください。
Option Explicitステートメントを追加した場合、宣言されていない変数は使用できなくなりますので、プログラムのエラーを減らすことができる。


6。コントロール名を小さく作りなさい。
ポムイルムイナコントロールの名前は、EXEファイルに追加される。したがって、これらの名前をすぎると、プログラムのサイズを減らすことができる。


7。コメントをたくさん使用してください。
コメントは、EXEファイルに追加されません。代わりにコメントを入れる頻繁に使用すると、プログラムのソースの読みやすさが増加するため、プログラムの生産性とメンテナンスが容易になる。


8。画面の解像度に注意してください。
ユーザーのコンピュータは、常に同じ画面解像度を持つことはありません。
したがって、低解像度で作成したプログラムは、高解像度を持つスクリーンでは問題になることができる。もちろん、その逆の場合も可能である。


9。プロジェクトをテキスト形式で保存してください。
バイナリ形式で保存されたプロジェクトは、他のエディタで編集するにも不便だけでなく、実行ファイルのサイズを増加させる原因となります。


10。プロジェクトを頻繁に保存してください。
大きなプロジェクトの作業をしたり、APIで書かれたコードを実行するときは、プログラムが異常終了した場合に発生します。このような場合には、これまで作業したコードが消えてしまうので、頻繁に保存する習慣を養う。


11。 TEMPディレクトリの一時ファイルを削除してください。
アプリケーションは、複数の一時ファイルを作るのに、この一時ファイルは、システムのパフォーマンスを低下させる原因になったりする。頻繁にチェックして削除してくれるのが、システムのパフォーマンスを向上させる効果を見ることができる。しかし、実行中のプログラムの一時ファイルを削除すると、プログラムが異常終了するので注意が必要である。


12。 Database Transactionを使用すると、Databaseの処理速度を向上させることができる。


13。 Moveメソッドは、Top、Leftプロパティを設定するよりも高速です。


14。 MsgboxはBreakpointを設定すると、デバッグ時にイベントの順序を変更することができる。


15。 Logical / Integerフィールドが0以外の値を使用するよりも、Trueを使用するのが早い。> = 0 Thenより
If ANumber Thenが速い。


16。いくつかの行をインデントをしたり、あるいはインデントを取り消すときは、ショートカットキーを使用すると効果的です。 Tabキー選択した行をインデントし、Shift-Tabキー選択した行のインデントを解除します。


17。コントロール配列を使用せずに、フォームのコントロールを複数作成する場合は、コントロールを押すCtrlキーを押すか、あるいは、目的のコントロールのアイコンをDragせれば良い。


18。フォームをデザインするときに、コントロールを簡単にフォームに配置するには、コントロールのアイコンをダブルクリックしてください。
これにより、フォームの中にコントロールが表示されます。


19。ピクチャーボックスやフォームのAutoRedrawプロパティをTrueに設定すると、ピクチャボックスやフォームの内容が歪曲されないのですが、メモリを大量に消費する要因にもなる。


20。オブジェクトのプロパティウィンドウを呼び出したときに、通常、マウスの右クリックを使用して、F2キーを押すと、[オブジェクトブラウザ]ウィンドウが呼び出されます。


21。 Boolean変数を切り替えるときは、IF ... Then ... Elseを使用するよりも、PreviewOn = Not PreviewOnようにするのが早い。


22。 ImageコントロールはPictureBoxコントロールよりもはるかに速い。


23。文字列のサイズを調べるときや、> 0 ThenよりIf Len(SomeString $)Thenが速い。



24。両方の変数を効率的に交換するには、次のコードを使用する。

a = a Xor b:b = a Xor b:a = a Xor b

これにより、AとBの両方の変数は、スワップされます。

このチップは、ほとんどのプログレミト言語で動作します。



25。シンプルで効率的なコードは、低性能のコンピュータで効果的に働く。


26。コントロールが持つ既定のプロパティを使用すると、速度を向上させることができる。
テキストボックスを使用する場合はtxtBox.TextよりtxtBoxが速く、ラベルコントロールを使用する場合はlblLabel.CaptionよりlblLabelが速い。


27。作業中は、可能な限り小さいサイズのデータ​​型を使用してください。
Long型や、Double形式ではなくInteger型が速い。


28。デバッグ作業するときに、Breakpointsの代わりにDebug.Printを使用してください。
プログラムの流れの停止しなくても、効果的なデバッグが可能です。


29。可能な限り少数のコントロールを使用してください。
コントロールをたくさん使用すると、プログラムのパフォーマンスが低下する原因となります。
メモリとリソースを必要とするところだけでなく、実行速度も遅くなります。


30。少ないオーバーヘッドでグラフィックを描画するにはフォームに直接グラフィックスを描画するになる。


31。 SQLステートメントを使用するよりも、Indexを用いたVBのコードを使用するのが早い。 SQLは遅いので、同じ動作をするSQLステートメントを実行するよりも、インデックスを利用したVBのコードを使用するのが早い。

--- >>この部分につきましては、私自身は間違っていると思います。
SQLステートメントをVBのコードよりもはるかに高速です。実例として、私は郵便番号自動入力機能を実装しようとしたことがありました。テキストボックスでドンイルムを入力し、Enterキーを押すと住所と郵便番号が自動的に入力されるようにしたものでした。もちろん、同じ名前が存在する場合は、選択できるウィンドウトゥグヨ。ところでここでビベコードを使用した場合は、かなりの時間遅れがありました。郵便番号データは、ほぼ8000個程度が良いですから。だから、SQLステートメントを使用した非常に速い速度を示しました。 SQLは、データベース専用の言語であるため、データベースの一部では、不可欠な要素です。参考までに非常に少ないデータ量ではビベコードがなく、高速な場合もあります。


32。同様の作業をしているコントロールを配列で作成すると、コードの量を減らすことができるだけでなく、処理速度も向上します。


33。簡単な操作を処理する関数は、関数ではなく、そのコードを操作するプロシージャに直接コーディングするのが早いですが、ちょっと複雑にしたり、長くなるコードは、関数で作成すると、デバッグも容易だけでなく、コードの量を減らして速度も向上させることができる。


34。多言語をサポートしたい場合は、リソースファイルを使用すると、余分な作業がなくても複数の言語をサポートしているアプリケーションを作ることができる。


35。条件を利用するときは、For〜Nextステートメントを使用しているのが一番早い。


36。リストボックスに大量のデータを一度に入れる場合にはリストボックスをReDrawするため、処理速度が著しく遅くなるのに、このような場合にはLockWindowUndate APIを使用してください。


37。コマンドボタンのClickイベントを発生させるには、Valueの値をTrueに設定するとされるが、これより直接手続きを呼び出すのが早い。
Call cmdADD_Click

これは、コマンドボタンだけでなく、他のコントロールにも同じように適用される。


38。ファイルから配列を読み書きするときハニシク読むよりも、ブロック単位とすることが速度が速い。


39。ファイルを読み書きしているときは、2進形式して動作することが速く、さまざまなタスクを処理することができる。


40。似たような作用をするための定数は、配列に束ねて使用すると便利に利用できます。


41。大量の条件を処理する状況では、正常な場合を前方に集めて、異常な場合を後ろに集めると、読みやすい高まってより効率的になる。


42。頻繁に使用される文字列は定数として宣言して使用すると、コード量が少なくでき、より効果的である。


43。簡単な条件の確認文であればIfや、SelectムンボダヌンIIFやSwitch文を使用することが有効である。


44。コー​​ドでは関数やサブルーチン、プロパティルーチンを簡単に見つけるには、Shift-F2キーを押してください。


45。変数の型宣言を簡単にするには、Defを使用してください。

DefInt i - iで始まるものはすべてInteger型。
DefStr s、c - sやcで始まるものはすべてString型の変数。
DefInt ik - iからkで始まるものはすべてInteger型の変数。

DefBool(Boolean)
DefByte(Byte)
DefLng(Long)
DefCur(Currency)
DefSng(Single)
DefDbl(Double)
DefDec(Decimal)
DefDate(Date)
DefStr(String)
DefObj(Object)
DefVar(Variant)

以上がベーシックで使用される変数のディレクティブである。

0 件のコメント:

コメントを投稿