Delphi Programming / Object Pascal
サイトのトップページへ リンクのページへ ロゴマーク
[掲載 2017年05月12日] [更新 2017年05月12日] Delphi 一般・その他
コピーしたコードを IDE のエディタに貼り付けて利用
動作確認等 Windows 7 U64(SP1) + Delphi 10.1 Berlin Stater
[整理番号 - 0280]







コピーしたコードを IDE のエディタに貼り付けて利用


ネット上にあるサンプルコードをコピーして利用する際の参考テクニックです。
コードを部分的にコピーして、自分の Delphi の IDE のコードエディタに貼り付けるという作業でも構いませんが、コードの内容によっては手順を簡略化できることがあります。

ネット上のコードをコピーして IDE のコードエディタに貼り付けできるのは、そのコピーしたコードそのものだけです。当然ですが、オブジェクト・インスペクタの設定内容や TPoppupMenu の設定内容等はコピーできません。



[備考]
当サイト提供しているサンプルプログラムは、プロジェクトファイルがダウンロードできるようになっています。一部のサンプルを除いて EXE ファイルも添付していますから、すぐに動作を確認することもできます。




01_ユニットのコードが全てコピーできる場合


下図は、宣言部も含めて、ユニットのコードが全て掲載されている以下のサンプルの例です。
以下のリンクの記事のコードの宣言部を見ると、コンポーネントは TButton が 1 つだけであることが確認できます。これは、掲載されている [設計時画面] でも確認できます。

Delphi の IDE を起動して、新規のプロジェクトを作成した状態で、この必要なコンポーネントをフォームに配置します。このサンプルでは TButton が 1 つだけですが、もし他にもコンポーネントの宣言があれば、それらも配置します。


次に、IDE のコードエディタを [F12] 等で表示し、現在書かれているコードを全て削除します。
削除したら、目的のサンプルのコードをコピーして貼り付けます。

これで完了ですが、もし、ユニット名が Unit1 でない場合は、コードの一番上のユニット名を変更するか、[名前を付けて保存] で、そのユニット名でディスクに保存します。



[備考]
コンポーネントの name プロパティ値がデフォルトと違う場合は変更しておく必要があります。
また、イベントを自動認識してくれるのは、イベントのメソッド名がデフォルトの場合です。

実務で開発するアプリでは、コンポーネントの名前やイベントの名前を変えることはよくあります。当サイトのサンプルは、参考コードとしての意味から、掲載するコードはなるべくデフォルトのままにするようにしています。



図1
必要なコンポーネントを配置
  • サンプルコードの宣言部で宣言しているコンポーネントを全てフォームに配置する
  • 必要なコンポーネントは [設計時の画面] でも判断可能
図2
現在のコードを全て削除
  • [Ctrl] + [A] で全て選択
  • [Delete] キーで削除
図3
サンプルコードを貼り付ける
  • [Ctrl] + [V} で貼り付けできる
  • ユニット名を Unit1 にするか、[名前を付けて保存] でユニットを保存する
  • これで完了

最初にコンポーネントをフォームに配置しないでコードをコピーして実行すると、 該当コンポーネントがないというエラーが発生します。この場合は、該当するコンポーネントの宣言を削除して、そのコンポーネントをフォームに配置します。
ただし、この方法は、配置したコンポーネントのイベントを自動で設定してくれません。コンポーネントを配置した後に、オブジェクト・インスペクタからイベントを選択します。



図4
フォームにコンポーネントを配置していない場合




02_実装部 ( implementation 部 ) のコードだけがコピーできる場合


掲載されているコードに宣言部がない場合は、以下のクラス補完の機能を使用します。
イベントの宣言コードは private 部に配置されます。それらを本来の場所に移動します。そして、コンポーネントをフォームに配置して、オブジェクト・インスペクタでそれらのイベントを選択します。

この方法は、コードにコンパイラ指令等のコードがあると機能しないことがあります。