Super Visual Formade 設計部 2.11から2.12bリリース情報

公開日時:2012/10/01 19:15 記事番号:000009236
製品ブランド:SVF

機能追加事項

1.VrSetPrinter()でのプリンタチェック
VrSetPrinter()で無効なポートやプリンタが指定された時に、今まではVrSetPrinter()関数の戻り値は0で返ってきていたが、「PRN_HANDLE_ERR(-3)」を返すようにした。また、無効な機種(リファレンスマニュアルP224に載っている記述名以外のもの)が設定された時には、「DLL_LOAD_ERR(-32)」を返すようにしました。
Windows配下のvfreport.iniの[Printer]セクションのDeviceCheck=1(機種名)、PortCheck=1(ポート名、プリンタ名)で有効となります。

2.連写フォームでのVrPaperEject()関数の自動発行
連写機能を使用して設計している場合に、プレビューを行うとアプリケーション側でVrPaperEject()関数を発行しないと、最終ページが全ての連写アイテムにデータが入っていない状態だと表示されなかったが、VrPreviewEndPage()関数内で、内部的にVrPaperEject()関数を発行するようにしました。

3.設計関数_PAGE_CNT関数の初期化できる機能を追加
"_PAGE_CNT"関数の初期化が実行関数からできるようにしました。フィールド属性のフラグにページ番号の初期化フラグを新設し、実行時に設定したフィールドの値の変化でページ番号を初期化できる機能を追加しました。設計部のレポート属性ダイアログで改ページのチェックがある場合に、フィールドの一括設定のレポートライタータグに新設した「ページカウントのクリア」をチェックすると機能します。
プログラムで設定する場合には、VrAttribute()関数を使用します。
設定: VrAttribute(handle,"フィールド名","PageNo=0")
解除: VrAttribute(handle,"フィールド名","PageNo=1")

4.VrGetAttribute()関数で印刷した総ページ数を取得できる関数を追加
書式: VrGetAttribute(handle,"","TotalPageCount",buffer)
bufferに取得した総ページ数が入ります。
文字型でbufferエリアを確保しておいて下さい。  

下記シーケンスのようにVrPrint()とVrQuit()の間で呼び出して下さい。
VrInit

VrSetForm

VrsOut
  :
  :

VrEndRecord

VrPrint

VrGetAttribute

VrQuit

注意: この総ページ数を取得する方法はサブフォームとレコードがあるフォームでないと使用できません。また、この関数を使用すると総ページを帳票上に出力できるようになります。

5.グローバル変数機能を追加
‘&’で囲まれた名前をグローバル変数として管理し、フィールドの編集式又は計算式から参照可能としました。グローバル変数は文字型のみであり、初期値は空文字となります。
グローバル変数は、VrInit()VrQuit()まで設定された値を保持し、VrSetForm()を何度実行しても値は変化しません。このため複数フォームにまたがって同じ値を設定したい場合に効果があると思われます。グローバル変数を設定するにはVrsOut()のフィールド名として名前を指定します。

例:Field1というフィールドの編集式に"[$VRIABLE$]"と設定を行った場合
A.VrsOut(handle,"$VARIABLE$","ABCD") Field1には「ABCD」と印字される
B.VrsOut(handle,"$VARIABLE$","1234") Field1には「1234」と印字される
C.VrsOut(handle,"$VARIABLE$","") Field1には何も印刷されません

6.郵政バーコード対応
郵政バーコードを出力できるように対応しました。
注意: ・ レーザープリンタのみで対応です。(ESC/P及びPR201では出力不可能です)
・ 基本的にデータは20桁固定となっています。20桁を超える場合にはデータはカットされます。20桁に満たない場合はCC4(チェックコード)を埋め込みますので、データを20桁に合わせる必要はありません。
・ 同じポイントで設計されていても、プリンタの解像度によって若干大きさが異なる場合もありますので、ご了承下さい。

7.小数点以下の印字関連での機能追加
編集スタイルに「右詰め(小数点位置固定)」という項目を追加しました。
小数点の位置でそろえ右詰します。
また、編集式に次の記述方法も追加致しました。

使用例: FORMAT(フィールド名,"ZZ,ZZZPZZZ")
小数点以下がゼロの場合も小数点を印字する。有効数字がない場合は小数点も印字しない。

設定例及び出力結果
       |     |      編集式の設定
編集スタイル | データ |ーーーーーーーーーーーーーーーーーーー
       |     | ZZZ.ZZZ | ZZZPZZZ | ZZZ.999
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
  右詰   | 1.123 | **1.123 | **1.123  | **1.123
       | 1.120 | ***1.12 | **1.12*  | **1.120
       | 1.100 | ****1.1 | **1.1**  | **1.100
       | 1.000 | ******1 | **1.***  | **1.000
       | 0.000 | ******* | ******* | ***.000
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
 右詰    | 1.123 | **1.123 | **1.123 | **1.123
 小数点固定 | 1.120 | **1.12* | **1.12* | **1.120
       | 1.100 | **1.1** | **1.*** | **1.100
       | 1.000 | **1.*** | ******* | **1.000
       | 0.000 | ******* |      | ***.000

8.PCL5ドライバ対応
PCL5(HP LaserJet 4V)用ランタイムを組み込みました。

9.検索パス機能を追加
frm、bmp、vrqファイル用検索パス機能を追加しました。VrSetForm()等ファイルのフルパスを設定せずにファイル名のみ指定すると、環境設定の環境変数タブで設定したフォルダを検索します。

10.設計部でのレコードのチェック機能追加
サブフォームからレコードがはみ出ていないかチェックするようにした。また、レコードからはみ出ているフィールドがないかチェックするようにしました。はみ出ている場合には、メッセージが表示されます。

11.フィールド名の指定桁数を拡張
フィールド名の指定を30バイトまで指定できるように変更しました。

12.設計内容の印刷の変更
設計内容の印刷を設計されている座標順に印刷するように変更しました。

13.アイテム選択機能
編集アイテムの選択、表示アイテムの選択をキーボードで、できるようにしました。

14.クエリー設計での自動リンク制御機能
クエリー設計の動作設定ダイアログに「フィールドの自動リンク」というチェックボックスを追加しました。チェックを外すと、複数テーブルを追加した際に、同名の項目名同士の自動リンクをしないようになります。

15.リピートフィールド設計時の数値データの処理制御機能追加
以下のようにWindows配下のvfreport.iniの設定を変更することにより処理が変わります。
[Fclib]セクションのFuncExecte部分です。

数値フィールドにデータが送られなかった場合
FuncExecute=0(デフォルト)
通常のフィールド 0を出力する
リピートフィールド 0を出力しない

FuncExecute=1
通常のフィールド 0を出力する
リピートフィールド 0を出力する

FuncExecute=2
通常のフィールド 0を出力しない
リピートフィールド 0を出力しない
FuncExecute=2が今回追加した分です。

修正事項

1.設計部まわりの機能での修正点
・ 設計内容の印刷を実行すると、印刷実行時にエラーになってしまい、印字されない項目がある点を修正しました。
・ テスト印刷を実行した際に、全角フィールドが半角で出力されてしまう点を修正しました。
・ 固定文字を縦2倍にし、かつ縦書きにすると表示がおかしくなってしまう点を修正しました。

2.印刷(プレビュー含む)関連機能での修正点
・ イメージ印刷時に、プリンタの解像度を貼りつけているビットマップの解像度に合わせて印刷すると、ビットマップの部分が大きく出力されてしまう点を修正しました。
・ イメージ印刷時に、スタック印刷を行うとスプールが終了されなくなってしまう点を修正しました。
・ LIPS3で印刷時に、ページの先頭文字が縦倍や横倍の設定になっていると、その文字の倍率が違うものになってしまう点を修正しました。
・ ESC/Pで印刷時に、同じY座標上に2つのフィールドを設計した場合、2つのフィールドの位置関係によって、2つのフィールドが設計上離れていてもくっついて出力される点を修正しました。
・ プレビュー実行時に、Windowsのタスクバーが左側にあると、プレビューの縦スクロールバーが消えてしまう点を修正しました。
・ プレビュー実行時に1ページ分しかないデータをVrPreviewStartPage()関数とVrPreviewEndPage()関数を使用した場合、「印刷予約」ボタンが押せるが、設定が反映されない点を修正しました。

3.クエリー関連機能での修正点
・ クエリー設計のツールバーのオプションの中に様式名を設定する際、ルートディレクトリの様式を一覧から選択すると、が2つついてしまう。(例:A:WINGARC.vrq)
・ ORACLEのDBを使用し、クエリー設計時にODBCドライバをインターソルブ系のもの(Ver.2.10.0001)を使用すると、SQLの実行を行った際に結果が全て空白で出力される点を修正しました。

4.実行時の処理関連の修正点
・ デリミッタの指定をしている場合に、自動リンクフィールドの設定になっているフィールドに空文字を出力すると、化けた文字が出力される場合がある点を修正しました。
・ 環境設定から印字位置調整を行い書き込みをしても反映されない点を修正しました。
・ 連写機能を使用し1つのフォームの中に2つを印刷する場合に、連写が片方だけで終了すると、連写領域外に設計されているフィールドが印刷されない点を修正しました。
・ 直線が一つも設計されていない様式で、VrAttribute()関数を使用してアンダーラインを指定するとアプリケーションエラーとなってしまうことがある点を修正しました。
・ 設計関数でFORMAT()関数を使用している場合に、文字列の中に”p”,”P”,”v”,”V”を先頭付加文字として使用した場合に表示がおかしくなる点を修正しました。
(例:FORMAT(field,”Page:ZZ9”)やFORMAT(Field,”Version.ZZ9.99”))
・ サブフォームとレコードがあるフォームで、明細行の溢れにより改ページが発生すると、正しい集計値を計算しない場合がある点を修正しました。具体的には、改ページ後最初の1行目のデータが余計に演算されてしまう。
・ サブフォームとレコードがあるフォームで、レコード内に設計されていないフィールドの編集式で他のフィールド値を参照していると、明細行の溢れによる改ページが行われると次のレコードのデータが印刷されてしまう点を修正しました。
・ サブフォームとレコードがあるフォームで、自動リンクフィールドを指定している際にはデリミッタ指定での分割か桁数での分割かどちらかの方法でのみ分割を行っていたが、デリミッタと桁数の両方で処理するように修正しました。
・ レコードの改行ピッチを1/6インチ単位や1/8インチ単位にしていると、ヘッダーレコードがページの最後に印刷されてしまうことがある点を修正しました。