========================================================================== QR対応バーコード表示コンポーネント TQRBarImage Barcode Image Component for Quick Report Version 0.4 Copyright(C) 2002 〜 2005 DEKO M&I seizo ========================================================================== 【 概要 】 DEKOさんのバーコード生成ユニット ver0.70 (BCODE_07.LZH) (ITF部分についてはM&Iさん)をもとにクイックレポート対応バーコード表示 コンポーネント TQRBarImage を作成しました。 TQRBarImage で表示可能なバーコードの種類は以下の12種類です。 ・JAN(EAN)/短縮 ・UPC-A/UPC-E ・CODE-39 ・NW-7(CODABAR) ・ITF(Interleav 2of5) ・CTF(Code 2of5 | Industrial 2of5) ・IATA(IATA 2of5) ・MATRIX(Matrix 2of5) ・NEC(NEC 2of5 | COOP 2of5) ・カスタマーバーコード ・CODE-128 ・CODE-93 TQRBarImage は、TQRImage を継承していますので、TQRImage にバーコード表示 機能を追加したものという感覚で使用できます。LoadFromFile 等で画像を読み 込んだ後、画像の任意の位置にバーコードを表示するといった事も可能です。 また、ビットマップ形式で描画する場合は、バーコードを90度単位で回転させて 表示する事も可能です。 登録はコンポーネントのインストールで、QRBarImg.pas を選択して下さい。 【 プロパティ 】 このコンポーネント TQRBarImage で追加されたプロパティは、以下の通りです。 property BarType: TBarTypes; バーコードの種類を指定します。 TBarTypes は、次の様に定義されています。 type TBarTypes = (cbarJAN, cbarUPC, cbarCODE39, cbarNW7, cbarITF, cbarCTF, cbarIATA, cbarMATRIX, cbarNEC, cbarCUSTOMER, cbarCODE128, cbarCODE93); property Code: String; バーコードを生成するための文字列です。チェックデジットは入力する必要は ありません。自動生成します。ただし UPC-E の場合、先頭の文字は、0 に 固定されています。 JAN - 数値のみ(0〜9)。文字列長で通常/短縮を判別。(12桁/7桁) UPC - 数値のみ(0〜9)。文字列長でA/Eを判別。(11桁/7桁) CODE-39 - 0〜9、A〜Z、幾つかの記号(ソース参照) NW-7 - 0〜9、幾つかの記号(ソース参照) ITF - 数値のみ(0〜9) CTF - 数値のみ(0〜9) IATA - 数値のみ(0〜9) MATRIX - 数値のみ(0〜9) NEC - 数値のみ(0〜9) CUSTOMER - 0〜9、A〜Z及び- (郵便番号7桁 + 住所表示番号13桁) CODE-128 - 英数字及び記号 CODE-93 - 0〜9、A〜Z、幾つかの記号(ソース参照) property CommentUp: String; バーコード上部に表示するコメント文字列 property CommentUpLoc: TLocation; バーコード上部に表示するコメント文字列の表示方法を指定します。 TLocation は、次の様に定義されています。 type TLocation = (locLeft, locCenter, locRight); locLeft - 左詰で表示する locCenter - 中央に表示する locRight - 右詰で表示する property CommentDown: String; バーコード下部に表示するコメント文字列 property CommentDownLoc: TLocation; バーコード下部に表示するコメント文字列の表示方法を指定します。 TLocation は、次の様に定義されています。 type TLocation = (locLeft, locCenter, locRight); locLeft - 左詰で表示する locCenter - 中央に表示する locRight - 右詰で表示する property StartChar: Char; スタートキャラクタに使用するキャラクタ JAN - 使用しない UPC - 使用しない CODE-39 - '*'固定 NW-7 - 'A'〜'D' ITF - 使用しない CTF - 使用しない IATA - 使用しない MATRIX - 使用しない NEC - 使用しない CUSTOMER - 使用しない CODE-128 - 'A'〜'C'(キャラクタセット) CODE-93 - '('固定 property StopChar: Char; ストップキャラクタに使用するキャラクタ JAN - 使用しない UPC - 使用しない CODE-39 - '*'固定 NW-7 - 'A'〜'D' ITF - 使用しない CTF - 使用しない IATA - 使用しない MATRIX - 使用しない NEC - 使用しない CUSTOMER - 使用しない CODE-128 - 使用しない CODE-93 - ')'固定 property CD: Boolean; チェックディジットの有無 JAN - 必ず使用する UPC - 必ず使用する CODE-39 - True=使用、False=使用しない NW-7 - True=使用、False=使用しない ITF - True=使用、False=使用しない CTF - True=使用、False=使用しない IATA - 必ず使用する MATRIX - True=使用、False=使用しない NEC - True=使用、False=使用しない CUSTOMER - 必ず使用する CODE-128 - 必ず使用する CODE-93 - 必ず使用する(常に2個付加) property CDC: String; キャラクタペースのチェックデジットの値を保持するリード オンリイのプロパティ。チェックデジットが存在しない場合の値は、 ''(ナル文字)です。 property CDN: Integer; 数値ペースのチェックデジットの値を保持するリードオンリイの プロパティ。チェックデジットが存在しない場合の値は、-1 です。 CODE-93 の場合は、2個のチェックデジットを4桁の10進数で表現 します。1番目のチェックデジットは、(CDN mod 100) で、2番目の チェックデジットは、(CDN div 100) で得られます。 property Scale: TScale; 表示するバーコードの倍率を指定します。 TScale は、次の様に定義されています。 type TSCale = 1..10; property Angle: Integer; BarPicture = picBMP の時、すなわちビットマップ形式で描画する 場合は、バーコードを90度単位で回転させて表示する事が出来ます。 Angle は、0, 90, 180, 270 いずれかの値を取ります。 property Symbol: String; バーコード文字列にチェックデジットやスタート・ストップキャラクタ等 を加えた最終的なシンボル文字列 property SymbolDisp: Boolean; バーコード下部にシンボル文字列を表示するかどうかのスイッチ True=表示、False=表示しない property BarFont: TFont; シンボル文字列やコメントのフォントを指定します。 property Transparent: Boolean; バーコードの背景色を透過色にするかどうかのスイッチ True=透過色にする、False=背景色で描く property BarColor: TColor; 描画するバーコードの色 property BackColor: TColor; 描画するバーコードの背景色 property BarWidth: Integer; 描画されたバーコードの幅を保持するリードオンリイのプロパティ 描画前にバーコードの幅を指定する事は出来ません。バーコードの幅 に影響を与えるのはバーコードの倍率 Scale です。 property BarHeight: Integer; 描画するバーコードの高さを指定します。Customerバーコードの 場合は、リードオンリイのプロパティとして機能しますので、 描画前にバーコードの高さを指定する事は出来ません。 property BarLeft: Integer; 描画するバーコードの Canvas 上の 左上の X 座標を指定します。 property BarTop: Integer; 描画するバーコードの Canvas 上の 左上の Y 座標を指定します。 property BarSpaceUp: Integer; 描画するバーコードの上方向の余白のサイズを指定します。 property BarSpaceDown: Integer; 描画するバーコードの下方向の余白のサイズを指定します。 property BarSpaceLeft: Integer; 描画するバーコードの左方向の余白のサイズを指定します。 property BarSpaceRight: Integer; 描画するバーコードの右方向の余白のサイズを指定します。 property Match: Boolean; バーコード描画時にコントロールのサイズをバーコードのサイズに 合わせるかどうかを指定します。コントロール上にバーコードのみ を表示する場合は、このプロパティを True にして下さい。 property BarPicture: TPictures; バーコードの描画方法及びクリップボードへのコピー方法を指定します。 TPictures は、次の様に定義されています。 type TPictures = (picBMP, picEMF, picWMF); picBMP - ビットマップ形式で描画 (コピーは、ビットマップ形式で) picEMF - EMF形式で描画 (コピーは、EMF形式で) picWMF - EMF形式で描画 (コピーは、WMF形式で) property ElementRatio: TElementRatio; CODE39, NW7, ITF, CTF, IATA, MATRIX, NEC の場合にワイドバーとナローバー 及びワイドスペースとナロースペースの比率を 10 : 20 〜 10 : 30 すなわち、 1 対 2 から 1 対 3 の間で変化させます。ただし CTF, IATA は、ワイドスペース がありませんので、ワイドバーとナローバーの比率のみが対象となります。 TElementRatio は、次の様に定義されています。 type TElementRatio = 20..30; property BarEnabled: Boolean; バーコード表示を可能にするかどうかのスイッチ True=バーコード表示をする、False=バーコード表示を禁止する property BarDebug: Boolean; 与えられた Code プロパティが表示可能なものかどうかチェックする場合に使う スイッチです。このプロパティを True にすると、実際のバーコード表示は行な わず、Code が表示可能なものかどうかチェックして BarDisped プロパティの値 のみをセットします。 True=デバッグモードにする、False=デバッグモードを解除する property BarDisped: Boolean; バーコードの描画に成功した時に True セットされるリードオンリイの プロパティです。False にセットされるのは、主にバーコード生成文字列 (Code プロパティ)が正しく入力されていない場合です。 property BarFrame: TFrameSize; バーコードの周囲に描くフレーム(外枠)のサイズを指定します。 TFrameSize は、次の様に定義されています。 type TFrameSize = 0..100; ※Match プロパティとTransparent プロパティを同時に True にする事 は出来ません。 両プロパティは、互いに排他的関係にあります。(ソース参照) ※BarPictureプロパティは、Match プロパティが True の場合のみ picEMF 及び picWMF に設定する事が可能です。(ソース参照) ※BarPictureプロパティが、picEMF, picWMF いずれの場合でもコントロール への表示は、EMF形式で行なわれます。コピー方法の違いを指定するために これらの定数が設けられています。(ソース参照) 【 使用方法 】 複数のプロパティを設定する場合、一つ設定する度にバーコードを再表示する ルーチンを実行します。この様な事を避ける為には BarEnabled プロパティを 先頭で False に設定し、他の全てのプロパティを設定し終えたところで最後に BarEnabledプロパティを True にして下さい。 【 具体例1 】Transparent, Match 両プロパティともに False の場合 (既存の画像の上にバーコードを上描きします。) ・ ・ QRBarImage1.BarEnabled := False; // バーコード表示を一時的に禁止します。 QRBarImage1.Picture.LoadFromFile(FileName); // 画像をロード QRBarImage1.BarType := cbarJAN; // JAN コードを選択 QRBarImage1.Scale := 2; // 倍率を2に指定 QRBarImage1.SymbolDisp := True; // シンボル文字列を下部に表示する。 QRBarImage1.Transparent := False; QRBarImage1.Match := False; QRBarImage1.BarColor := clBlack; // バーコードの色を黒色に指定 QRBarImage1.BackColor := clWhite; // バーコードの背景色を白色に指定 QRBarImage1.BarHeight := 105; // バーコードの高さを指定 QRBarImage1.BarLeft := 0; // バーコードの表示位置を指定(X座標) QRBarImage1.BarTop := 0; // バーコードの表示位置を指定(Y座標) QRBarImage1.BarSpaceUp := 10; // バーコードの上方向の余白のサイズを指定 QRBarImage1.BarSpaceDown := 0; // バーコードの下方向の余白のサイズを指定 QRBarImage1.BarSpaceLeft := 10; // バーコードの左方向の余白のサイズを指定 QRBarImage1.BarSpaceRight := 10; // バーコードの右方向の余白のサイズを指定 QRBarImage1.Code := '4940125'; // Code プロパティに文字列をセット QRBarImage1.BarEnabled := True; // この時点でバーコードを表示します。 // 描画に成功した場合は、BarDisped プロパティが True にセットされます。 // そして BarWidth に実際に描画されたバーコードの幅がセットされます。 ・ ・ ※この具体例1の様にすると既存の画像の上にバーコードを上描きします。 【 具体例2 】Transparent = True の場合 (バーコードの背景色を透過色にする場合) ・ ・ QRBarImage1.BarEnabled := False; // バーコード表示を一時的に禁止します。 QRBarImage1.Picture.LoadFromFile(FileName); // 画像をロード QRBarImage1.BarType := cbarJAN; // JAN コードを選択 QRBarImage1.Scale := 2; // 倍率を2に指定 QRBarImage1.SymbolDisp := True; // シンボル文字列を下部に表示する。 QRBarImage1.Transparent := True; // 背景色を透過色にする。 QRBarImage1.BarColor := clBlack; // バーコードの色を黒色に指定 QRBarImage1.BarHeight := 105; // バーコードの高さを指定 QRBarImage1.BarLeft := 0; // バーコードの表示位置を指定(X座標) QRBarImage1.BarTop := 0; // バーコードの表示位置を指定(Y座標) QRBarImage1.BarSpaceUp := 10; // バーコードの上方向の余白のサイズを指定 QRBarImage1.BarSpaceDown := 0; // バーコードの下方向の余白のサイズを指定 QRBarImage1.BarSpaceLeft := 10; // バーコードの左方向の余白のサイズを指定 QRBarImage1.BarSpaceRight := 10; // バーコードの右方向の余白のサイズを指定 QRBarImage1.Code := '4940125'; // Code プロパティに文字列をセット QRBarImage1.BarEnabled := True; // この時点でバーコードを表示します。 // 描画に成功した場合は、BarDisped プロパティが True にセットされます。 // そして BarWidth に実際に描画されたバーコードの幅がセットされます。 ・ ・ ※この具体例2の様にすると既存の画像の上にバーコードを描きます。 (バーコードの背景色は、透過色になります。) ※Transparent プロパティを True にすると同時に Match プロパティは、 False になりますので Match プロパティをセットする必要はありません。 両プロパティは、互いに排他的関係にあります。(ソース参照) 【 具体例3 】Match = True の場合 (バーコードのみ表示して、コントロールのサイズを バーコードのサイズに合わせる場合) ・ ・ QRBarImage1.BarEnabled := False; // バーコード表示を一時的に禁止します。 QRBarImage1.BarType := cbarJAN; // JAN コードを選択 QRBarImage1.Scale := 2; // 倍率を2に指定 QRBarImage1.SymbolDisp := True; // シンボル文字列を下部に表示する。 QRBarImage1.Match := True; // バーコードのサイズに合わせて表示する。 QRBarImage1.BarPicture := picEMF; // メタファイル(EMF)表示を選択 QRBarImage1.BarColor := clBlack; // バーコードの色を黒色に指定 QRBarImage1.BackColor := clWhite; // バーコードの背景色を白色に指定 QRBarImage1.BarHeight := 105; // バーコードの高さを指定 QRBarImage1.BarLeft := 0; // バーコードの表示位置を指定(X座標) QRBarImage1.BarTop := 0; // バーコードの表示位置を指定(Y座標) QRBarImage1.BarSpaceUp := 10; // バーコードの上方向の余白のサイズを指定 QRBarImage1.BarSpaceDown := 0; // バーコードの下方向の余白のサイズを指定 QRBarImage1.BarSpaceLeft := 10; // バーコードの左方向の余白のサイズを指定 QRBarImage1.BarSpaceRight := 10; // バーコードの右方向の余白のサイズを指定 QRBarImage1.Code := '4940125'; // Code プロパティに文字列をセット QRBarImage1.BarEnabled := True; // この時点でバーコードを表示します。 // 描画に成功した場合は、BarDisped プロパティが True にセットされます。 // そして BarWidth に実際に描画されたバーコードの幅がセットされます。 ・ ・ ※この具体例3の様にするとバーコード描画時にコントロールのサイズを バーコードのサイズに合わせます。コントロール上にバーコードのみを 表示する場合は、この様にして下さい。 ※Match プロパティを True にすると同時に Transparent プロパティは、 False になりますので Transparent プロパティをセットする必要は ありません。両プロパティは、互いに排他的関係にあります。(ソース参照) ※Match プロパティが True の場合のみメタファィル形式での描画を選択 出来ます。(picEMF 及び picWMF) これ以外の場合は、ビットマップ 形式のみの描画となります。 【 資料(CODE-128キャラクタ表) 】 以下は、バーコード生成ユニット ver0.70(BCODE_07.LZH) の README.TXT よりの抜粋です。 CODE-128 では、バーコード文字列(Code プロパティ)の入力に3通りの表記 を選べるようになっています。スタートキャラクタ(StartChar プロパティ) の値('A', 'B', 'C' の何れか)を指定して以下の何れかのキャラクタセット を選択して下さい。 ------------------------------------------------------------------ A B C ------------------------- SP SP <00> ! ! <01> " " <02> # # <03> $ $ <04> % % <05> & & <06> ' ' <07> ( ( <08> ) ) <09> * * <10> + + <11> , , <12> - - <13> . . <14> / / <15> 0 0 <16> 1 1 <17> 2 2 <18> 3 3 <19> 4 4 <20> 5 5 <21> 6 6 <22> 7 7 <23> 8 8 <24> 9 9 <25> : : <26> ; ; <27> < < <28> = = <29> > > <30> ? ? <31> @ @ <32> A A <33> B B <34> C C <35> D D <36> E E <37> F F <38> G G <39> H H <40> I I <41> J J <42> K K <43> L L <44> M M <45> N N <46> O O <47> P P <48> Q Q <49> R R <50> S S <51> T T <52> U U <53> V V <54> W W <55> X X <56> Y Y <57> Z Z <58> [ [ <59> \ \ <60> ] ] <61> ^ ^ <62> _ _ <63> ' <64> a <65> b <66> c <67> d <68> e <69> f <70> g <71> h <72> i <73> j <74> k <75> l <76> m <77> n <78> o <79> p <80> q <81> r <82> s <83> t <84> u <85> v <86> w <87> x <88> y <89> z <90> { <91> | <92> } <93> ~ <94> <95> <96> <97> <98> <99> ※「SP」は半角スペースです。。 ※「<」及び「>」はそれぞれ「<<」、「>>」と表記します。 ※特殊キャラクタは「<キャラクタ>」と表記します。 Ex.1 コードセットAで「FNC1 BEL ABC>DEFG LF」の場合、 「ABC>>DEFG」となります。 Ex.2 コードセットCで「1234567890」の場合、 「<12><34><56><78><90>」となります。 ※CODE-128で「UCC/EAN-128」を表す事もできます。 【 資料(CODE-39アスキーコード組合せ表) 】 CODE-39では、 使用文字種 = 「0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%」 の43文字ですが、このうち「$/+%」の4文字は制御キャラクタで、この 4文字と他の文字を組み合わせて以下の様にフルアスキーを表わす事が 出来ます。 ASCII CODE-39 ASCII CODE-39 ASCII CODE-39 ASCII CODE-39 ---------------- ---------------- ---------------- ---------------- %U SP SP @ %V ` %W $A ! /A A A a +A $B " /B B B b +B $C # /C C C c +C $D $ /D D D d +D $E % /E E E e +E $F & /F F F f +F $G ' /G G G g +G $H ( /H H H h +H $I ) /I I I i +I $J * /J J J j +J $K + /K K K k +K $L , /L L L l +L $M - - M M m +M $N . . N N n +N $O / /O O O o +O $P 0 0 P P p +P $Q 1 1 Q Q q +Q $R 2 2 R R r +R $S 3 3 S S s +S $T 4 4 T T t +T $U 5 5 U U u +U $V 6 6 V V v +V $W 7 7 W W w +W $X 8 8 X X x +X $Y 9 9 Y Y y +Y $Z : /Z Z Z z +Z %A ; %F [ %K { %P %B < %G \ %L | %Q %C = %H ] %M } %R %D > %I ^ %N ~ %S %E ? %J _ %O %T ※「SP」は半角スペースです。 ※ 特殊キャラクタは「<キャラクタ>」と表記します。 ※ %X, %Y, %Z も を表わします。 Ex.1 CODE-39で「Delphi」を表わす場合「D+E+L+P+H+I」と入力します。 【 資料(CODE-93アスキーコード組合せ表) 】 CODE-93では、 使用文字種 = 「0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%<$><%><+>」 の47個ですが、このうち「<$><%><+>」の4個は制御キャラクタで、 このこの4個の制御キャラクタと他の文字キャラクタを組み合わせて 以下の様にフルアスキーを表わす事が出来ます。 ASCII CODE-93 ASCII CODE-93 ASCII CODE-93 ASCII CODE-93 ---------------- ---------------- ---------------- ---------------- <%>U SP SP @ <%>V ' <%>W <$>A ! A A A a <+>A <$>B " B B B b <+>B <$>C # C C C c <+>C <$>D $ $ D D d <+>D <$>E % % E E e <+>E <$>F & F F F f <+>F <$>G ' G G G g <+>G <$>H ( H H H h <+>H <$>I ) I I I i <+>I <$>J * J J J j <+>J <$>K + + K K k <+>K <$>L , L L L l <+>L <$>M - - M M m <+>M <$>N . . N N n <+>N <$>O / / O O o <+>O <$>P 0 0 P P p <+>P <$>Q 1 1 Q Q q <+>Q <$>R 2 2 R R r <+>R <$>S 3 3 S S s <+>S <$>T 4 4 T T t <+>T <$>U 5 5 U U u <+>U <$>V 6 6 V V v <+>V <$>W 7 7 W W w <+>W <$>X 8 8 X X x <+>X <$>Y 9 9 Y Y y <+>Y <$>Z : Z Z Z z <+>Z <%>A ; <%>F [ <%>K { <%>P <%>B < <%>G \ <%>L | <%>Q <%>C = <%>H ] <%>M } <%>R <%>D > <%>I ^ <%>N ~ <%>S <%>E ? <%>J _ <%>O <%>T ※「SP」は半角スペースです。 ※ 特殊キャラクタは「<キャラクタ>」と表記します。 ※ <%>X, <%>Y, <%>Z も を表わします。 Ex.1 CODE-93で「Delphi」を表わす場合「D<+>E<+>L<+>P<+>H<+>I」と入力します。 【 テクニカル情報 】 ここでは、TQRBarImage 使用上の技術的な面を解説します。 1)ITF だけでなく全てのバーコードでフレーム(外枠)を描くことが出来ます。 これは賛否両論、色々とあると思いますが、バーコードを描いてからその上 にフレームを描くというアプローチをあえて取っています。その為に上下左右 の余白のサイズ(BarSpaceUp, BarSpaceDown, BarSpaceLeft, BarSpaceRight) を十分に取らないとバーコードの端がフレームに隠れてしまう場合があります。 2)バーコードの上下にコメントを描くことが出来る様ます。フレームの場合と 同様、上下左右の余白のサイズを十分に取らないとバーコードの上下が コメントに隠れたり、コメントが一部しか表示されないといった場合が あります。 3)デバッグ用として BarDebug プロパティがあります。BarDebug プロパティを 使うと与えられた Code プロパティが表示可能なものかどうか実際の表示前に チェックする事が可能です。 【 新しくなった点 】 // Version 0.2 // ・Symbol プロパティを追加しました。 バーコード文字列にチェックデジットやスタート・ストップキャラクタ等 を加えた最終的なシンボル文字列です。 ・CDC プロパティを追加しました。 キャラクタペースのチェックデジットの値を保持するリード オンリイのプロパティ。チェックデジットが存在しない場合の値は、 ''(ナル文字)です。 ・CDN プロパティを追加しました。 数値ペースのチェックデジットの値を保持するリードオンリイの プロパティ。チェックデジットが存在しない場合の値は、-1 です。 CODE-93 の場合は、2個のチェックデジットを4桁の10進数で表現 します。1番目のチェックデジットは、(CDN mod 100) で、2番目の チェックデジットは、(CDN div 100) で得られます。 // Version 0.3 // ・property BarPicture を TBarPictures から TPictures に変更 しました。TPictures は、次の様に定義されています。 type TPictures = (picBMP, picEMF, picWMF); // Version 0.4 // ・Angle プロパティを追加しました。 BarPicture = picBMP の時、すなわちビットマップ形式で描画する 場合は、バーコードを90度単位で回転させて表示する事が出来ます。 Angle は、0, 90, 180, 270 いずれかの値を取ります。 【 謝辞 】 このプログラムの主要部分は、DEKOさんのバーコード生成ユニット ver0.70(BCODE_07.LZH) (ITF部分についてはM&Iさん)に依存しています。 メタファイル関係では、M&Iさんのコードを使用させて頂き、また多大の ご協力を頂いています。 コンポーネント化は、seizo が行ないました。 DEKOさん、M&Iさん、有難うございました。 【 著作権 】 このプログラムの著作権は、DEKOさん、M&Iさん、そして seizo の三者が 有します。 【 ソフトウェア種別 】 このプログラムはフリーソフトウェアです。以下の事項を御承諾頂ければ、 自由にコピー、使用、配布を行なって頂いて構いません。 ◎このプログラムを使用した上でのいかなる損害、損失にも当方は一切 責任を負いません。このプログラムの使用は、使用者の責任において 行なって下さい。 ◎このプログラムを配布される場合は、このドキュメントファイルも含め 全てのファイルをオリジナルの状態で配布して下さい。 【 その他 】 まだまだ、改良の余地はたくさんあると思います。バグや感想、「ここは、 こうした方が良いのではないか?」等のご意見がありましたらメールで 御連絡下さい。特に、このプログラムの主要部分は、DEKOさんのユニット に依存していますので、DEKOさんのホームページを御覧頂ければ大変参考 になると思います。 ◎DEKOさんの連絡先 e-mail : ht_deko@nifty.com Home Page : http://homepage1.nifty.com/ht_deko/ ◎M&Iさんの連絡先 e-mail : masahiro.inoue@nifty.ne.jp Home Page : http://member.nifty.ne.jp/m-and-i/ ◎seizoの連絡先 e-mail : seizo@mars.dti.ne.jp TQRBarImage やその他の関連ソフト等をここで紹介しています。 http://www.vector.co.jp/vpack/browse/person/an003597.html seizo NIFTY : SGQ02732 e-mail : seizo@mars.dti.ne.jp