AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
CAD作ろ! レイヤ・色・線種の設定(2)
前節の続きです。
プログラムが複雑になってきましたので、少しまとめてみます。今後、画面への作図関係が増えていくと予想出来ますので、それらを1つのユニットにまとめましょう。
まずは、Delphiのメニュー「ファイル|新規作成|ユニット」を実行します。すると、プロジェクトに Unit1.pas(既に Unit1.pasがある場合には、Unit2.pas、・・・)として下記のようなファイルが新規作成されます。
unit Unit1;
 
interface
 
implementation
 
end.

interface節に、外部から参照する変数(グローバル変数)の宣言や外部から呼び出す関数の一覧を記述します。そして、implementation節に、その関数の内容を記述します。その関数内でDelphi標準の各種関数を使う場合には、interface節に、uses節を自分で追加する必要がありますので注意して下さい。
例:IntToStr関数を利用したい場合
  IntToStr関数は SysUtilsルーチン内で定義されています
unit Unit1;
 
interface
 
uses
  SysUtils;
 
function ABC(X:integer):String;
 
implementation
 
function ABC(X:integer):String;
begin
  Result := IntToStr(X);
end;
 
end.

使用する関数がどこで定義されているのかを調べるには、ヘルプを見るのが簡単です。なお、「System」と記されているものは uses節に記述する必要はありません。
※フォームやコントロールのプロパティを参照する場合には、uses節に色々なユニットを記述する必要がありますが、基本的に、新規ユニット内で他のフォーム内のプロパティ等を参照する事は避けておく方が無難です。
 
画面への作図関係の関数を、「UnitGraph」としてまとめる事にして、メインプログラムでは、MoveTo・LineTo等を直接行わないようにして、UnitGraph内に独自の関数を用意して、その関数を呼び出す事にします。
なお、
procedure G_CLS(x1,y1,x2,y2:integer) ;
begin
 with PaintBox1.Canvas do begin
  with Pen do begin
   Mode := pmCopy ;
   Color := clWhite;
  ・・・・
とはせず
procedure G_CLS(C:TCanvas;x1,y1,x2,y2:integer) ;
begin
 with C do begin
  with Pen do begin
   Mode := pmCopy ;
   Color := clWhite;
  ・・・・
としているのは、
@このユニットのuses節にフォーム等を指定したくない
(uses節が多くなると重い感じがする)
A将来、他への転用を可能にしたい
(例えば、全く別のImageコンポーネントへの描画をしたくなる、かもしれません)
B関数はなるべく汎用的に作っておきたい
等の理由からです。
 
 
取りあえず、ここまでのサンプルプログラムです。
内容は、前節とほとんど変わっていません。
サンプルプログラムのソース
 
 
CAD装置(1)
CAD装置(2)
メディア
AutoCADの
DIESELマクロ
CSV
DXF
PCES
IGES
STEP
数学とCAD
CAD作ろ!
 ▲PREV
 ▼NEXT
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015 By AFsoft All Rights Reserved.