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

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

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
データベース【CADデータベースな話(3)】
前回作成したグループ管理を行うソフトウェアを少し拡張し、サブグループ(グループ内での更なる分類化)を扱えるようにします。
 
グループ内のファイル群の表示は ListViewコンポーネントで行っていましたが、サブグループの表示は TreeViewコンポーネントで行うようにします。
ファイル群を管理するグループと、グループ内のファイル群、と考え、グループを管理するデータテーブルは前回と同じく「GRPJWW」としますが、グループ内のファイル群を管理するデータテーブルは前回と異なっていますので「GRP1_〜」(〜は GRPJWWでのN値;例「GRP1_1」「GRP1_2」…)とし、更に、グループ内のサブグループを管理するデータテーブルを「GRP2_〜」とします。前回とは異なるテーブル名としていますので、前回プログラムで作成した内容は表示出来ませんので新しく作り直して下さい。
 
テーブル「GRPJWW」(前回と同じ)
名前変数名内容
登録番号N整数 1,2,3,… 他と重複しない
グループ名GRPNAME文字(最大半角32文字)
表題MTITLE文字(最大半角80文字)
副題STITLE文字(最大半角80文字)
作成者名PNAME文字(最大半角16文字)
メモ1MEMO1文字(最大半角80文字)
メモ2MEMO2文字(最大半角80文字)
メモ3MEMO3文字(最大半角80文字)
アイコン画像ICONP文字(最大半角40文字)
アイコン位置XX整数
アイコン位置YY整数
 
テーブル「GRP1_〜」
名前変数名内容
登録番号N整数 1,2,3,… 他と重複しない
ファイル名FILE_NAME文字(最大半角255文字)
パス名PATH_NAME文字(最大半角255文字)
メモFILE_MEMO文字(最大半角255文字)
追加者名PNAME文字(最大半角16文字)
サブグループ
番号
SN整数
ファイル追加挿入をした際に、参照したファイルがJw_cadファイルの場合、その図面メモを登録するようにします。[メモ入力編集]ボタンにより内容を入力・編集する事が出来るようにします。この内容は自動更新されませんので必要に応じて手動で変更を行って下さい。
追加者名は、誰がこの項目を追加したのかを示します。作成者名の内容が入ります。サブグループ番号は、テーブル「GRP2_〜」の登録番号が入ります。「0」値はサブグループに属さない(一番上(root))ことを示します。
 
テーブル「GRP2_〜」
名前変数名内容
登録番号N整数 1,2,3,… 他と重複しない
サブグループ
SGRPNAME文字(最大半角32文字)
追加者名PNAME文字(最大半角16文字)
親の登録番号PARENT_N整数
サブグループを管理するテーブルです。階層表現を行いますので、階層の上下関係(親子関係)を保持するため、親の登録番号を記録するようにしています。登録番号はテーブル「GRP1_〜」から参照されます。
 

 
プロジェクト「d017」の準備を行い、「C:\DelphiProgram\jww」フォルダの中に「d017」というフォルダを作成し、Delphi6を起動します。メニュー「プロジェクト」→「オプション」を実行し、下記の設定を行います。
[アプリケーション]頁
 タイトル
d017−Jw_cadグループ管理
[ディレクトリ/条件]頁
 パス及びディレクトリ
C:\DelphiProgram\db\d017

画面構成は前回とほぼ同じです。

最初にデータベースの設定を行います。
メニュー「ファイル」→「データベース設定」を行います。

前回と同じ最初の設定画面です。1台のPCでのみ利用する場合には、サーバー名は「localhost:」のように入力します。複数のPCで利用する場合は、サーバーPCのIPアドレスを入力します。例えば「192.168.0.100:」のようになります。
サーバーのデータのフォルダは、データベースファイルを作成する場所を指定します。例えば、「c:\data\」のように入力します。サーバー以外のPCでも、「\\server\data\」等とはせず、「c:\data\」と入力して下さい。サーバーPC内の Cドライブ内の dataフォルダ内、という意味になります。
利用者名はこのPCの利用者の名前を入力します。グループを作成した時の作成者名に入るようになっています)。
例:

 
メニュー「ファイル」→「グループ作成」などグループ関連の画面・操作については前回と同じです。メニュー「ファイル」→「グループを開く」或いはグループアイコンをダブルクリックすると、そのグループの内容を開きます。

画面左側にはサブグループが階層状態で表示されます。一番上は「root」となります。これは固定となります。その下にサブグループを追加する事が出来ます。画面下部の[作成][編集][削除]でサブグループの操作を行う事が出来ます。サブグループの右横にある「 :1」はサブグループの登録番号=「1」を示しています。この番号は自動的に付加されます。1,2,3,と追加したあとに 2 を削除した場合、1,3,となりますが、この後は 1,3,4,…となってしまい 2 は使えなくなります。1,2,3,の後に 3 を削除した場合は、次回追加時、3 となります。
 
サブグループ欄の「root」をクリックすると、全てのファイル内容を表示します。「root」以下のサブグループをクリックすると、そのサブグループに属するファイル内容だけを表示するようになっています。
 
[メモ入力編集]は、追加したファイル1つ1つにメモを記入する事が出来ます。Jw_cad 図面ファイルの場合には、その図面データに登録されている図面メモを参照する事が出来ます。
 
メニュー「編集」→「検索」を行うと、データベースに登録した内容を検索する事が出来るようにしています。検索出来るのは、登録したファイルのフォルダ名、ファイル名、メモ内容、です。検索文字の欄に入力を行って[検索]をクリックします。

検索文字は大文字・小文字・半角文字・全角文字は区別されます。データベース・テーブルの検索は、WHERE節で LIKE 演算子を利用して行っています。ワイルドカード「%」を検索文字の前後に付加しています。
任意の複数のテーブルを一度に検索させるようなSQL文は無いと思われますので、プログラムで1テーブルずつ繰り返して行っています。
 
本プログラムでは、複数のテーブルを同時に開く事は出来ないようになっているため、グループ名、サブグループ名をそれぞれ動的配列に格納して、それを参照・表示するようにしています。リレーショナルに参照させるようプログラミングする事も勿論可能だと思います。
 
 
今回は実行プログラムを圧縮しています。
 
 
 
 


 
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
シェアウェア
Script!World
データベース
 A B C D
 E F G H
 I J K L
 M N O P
 Q R S T
 U V W X
 Y Z
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.