Super Visual Formade 設計部 2.13から2.13eリリース情報

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

機能追加事項

1.FORMAT関数のマイナス記号拡張
FORMAT関数のマイナス記号を▲と△の2つに拡張しました。

例: FORMAT(-123,"▲ZZZ9")→▲123  
FORMAT(-123,"△ZZZ9")→△123

2.両面印刷API関数の追加(RPDL,PostScript(Level2),XEROXDP300)
 関数名:int VrSetDuplex(int handle,int mode,int Margin)
 パラメータ:handle Vrinitで取得したハンドル  
       Mode   とじ方向 (0:解除  1:上とじ  2:左とじ  3:右とじ)
       Margin  とじ代(050mm : 5mm単位)
 使用方法:VrInit()
      VrSetPrinter
      VrSetForm
      VrSetDuplex
        :
  注意:上記3機種以外はこのコマンドは無視されます。

 また、1文書内に複数の様式が混在する場合、新しい様式を読み込んだ時前回の様式と比較して以下の条件に1つでも当てはまり且つ、印刷が片面で終了した場合には自動的に排紙されます。
  1.用紙サイズが異なる場合
  2.用紙方向が異なる場合
  3.給紙トレイが異なる場合
  4. 縮小モードが異なる場合

  とじ代は5mm単位ですので、端数は切り捨てられます(PRDLのみ)
  APIによる指定がない場合には環境設定の設定に従います。

3.給紙トレイ選択API関数の追加(全機種)
以下のような不正な文字列データパラメタが指定された場合にチェックをするようにしました。
 関数名:int VrSetTray(int handle,int Tray)
 パラメータ:handle VrInitで取得したハンドル
 Tray  0:選択無し  1:トレイ1  2:トレイ2  3:トレイ3  4:トレイ4
 使用方法:VrInit()
      VrSetPrinter
      VrSetForm
      VrSetTray
        :

 注意:このAPIはVrSetFormで読み込んだ様式の「トレイ選択」情報を一時的に変更します。
    途中で新しい様式ファイルが読み込まれた場合には、その様式の設定に従います。

4.排紙トレイAPI関数の追加(RICOH IPSIO NX900,NX1000/1100のみ)
排出先のトレイをこのAPIで指定可能です。
 関数名:VrSetOutputBin(handle,Bin)
 パラメータ:handle VrInit()で取得したハンドル
       Bin  排紙トレイ番号
       使用方法:0 プリンタのシステム条件の設定
            1 上排紙トレイ(NX1000/NX1100)
            2 下排紙トレイ(NX1000/NX1100)
            3 横排紙トレイ(NX1000/NX1100)
            10 プリントポスト(プルーフトレイ)
            11~19 プリンタポスト(1~9ビン)
            20 フィニッシャー・シフトトレイ
            21 標準トレイ
 使用方法:VrInit()
      VrSetPrinter
      VrSetForm
      VrSetOutputBin
        :
      VrEndPage
      VrSetForm  
      (VrSetOutputBin)…… 排紙トレイに変更が無ければ様式毎に設定する必要はありません
        :
      VrEndPage
      VrQuit  
 注意事項:RPDL以外では無視されます。また、上記以外の指定値を設定した場合も無視します。
      ステープルやパンチを行う場合には、必ずフィニッシャー・シフトトレイを指定して下さい。

5.ステープル指定API関数の追加(RICOH IPSIO NX900のみ)
 関数名:VrSetStaple(handle,Location)
 パラメータ:handle VrInit()で取得したハンドル
       Location  綴じ位置
       使用方法:0 綴じない
            1 左上斜め綴じ
            2 左上垂直綴じ
            3 左2ヶ所綴じ
            4 左上水平綴じ
            5 左上綴じ
            6 右上斜め綴じ
            7 右上垂直綴じ
            8 右2ヶ所綴じ
            9 右上水平綴じ
            10 右上綴じ
            11 上2ヶ所綴じ
 使用方法:VrInit()
      VrSetPrinter
      VrSetForm
      VrSetStaple
        :
      VrEndPage
      VrSetForm  
      (VrSetStaple)…… 綴じ位置に変更がなければ様式毎に設定する必要はありません
        :
      VrEndPage
      VrQuit
 注意事項:RPDF以外では無視されます。また、上記以外の指定値は無視されます。
  排紙トレイには必ずフィニッシャー・シフトトレイを指定して下さい。用紙方向によっては指定の位置で綴じれない場合がありますのでご了承下さい。

6.ソート印刷指定API関数の追加(RICOH IPSIO NX900のみ)
 関数名:VrSetSort(handle,Condition)
 パラメータ:handle VrInit()で取得したハンドル
       Condition ソート条件
         0 ソートしない
         1 回転ソートしない
         2 回転ソートする
 使用方法:VrInit
      VrSetPrinter
      VrSetForm
      VrSetSort
         :
      VrEndPage
      VrSetForm  
      (VrSetSort)…… ソート条件に変更がなければ様式毎に設定する必要はありません
         :
      VrEndPage
      VrQuit  

 注意事項: RPDL以外では無視されます。また、上記指定値以外は無視されます。

7.パンチ指定API関数の追加(RICOH IPSIO NX900のみ)
 関数名:VrSetStaple(handle,Location)
 パラメータ:handle VrInit()で取得したハンドル
       Location  パンチ位置
         0 しない
         1 左
         2 右
         3 上
 使用方法:VrInit
      VrSetPrinter
      VrSetForm
      VrSetPunch
        :
      VrEndPage
      VrSetForm  
      (VrSetPunch)…… パンチ位置に変更が無ければ様式毎に設定する必要はありません
        :
      VrEndPage
      VrQuit
 
 注意事項:RPDL以外では無視されます。また、上記以外の指定値は無視されます。
 排紙トレイには、必ずフィニッシャー・シフトトレイを指定して下さい。両面やステープルと併用する場合には、綴じ方向を合わせるようにして下さい。用紙方向によって指定位置にパンチができない場合ありますので、ご了承下さい。

8.機種設定API関数の追加(RPDLのみ)
このAPIは使用する機種がPC-LASER系かMF-P系かを設定するものです。PC-LASER系とMF-P系ではトレイの番号が異なる為、このAPIで機種を明示的に指定することにより、トレイ指定の不具合をなくします。
 関数名: VrSetMachineKind(handle,Machine)
 パラメータ:handle VrInit()で取得したハンドル
       Machine 0だとPC-LASER系となり、1だとその他(MF-P等)になります。
 使用方法:VrInit()
      VrSetPrinter
      VrSetMachineKind
 注意事項:RPDL以外の機種では設定されていても無視されます。
      また、APIによる指定がない場合には環境設定の設定に従います。

9.ESC/Pでの連帳ページ長コマンド対応
連続帳票をESC/Pを持っているプリンタで出力すると、プリンタの機種によって改行コマンドで改行することで印刷する為か、印刷が縦方向にずれることがある。このようなプリンタの場合には予め1ページの縦方向のサイズを設定後に改ページコマンドを出すとずれないということがわかりましたので、ページ長コマンドを出せるようにしました。Windows配下のvfreport.iniという設定ファイルで[DotPrinter]セクションのUsePageSize=1とすることで、ページ長の設定で印刷するようになります。デフォルトはUsePageSize=0で動作します。

10.アンダーライン領域の変更
VrAttribute()で設定可能なアンダーラインの領域をフィールド全体から実際のデータ領域に変更できるようにします。
Windowsフォルダの下にあるvfreport.iniに以下のセクションを追加して下さい。

[Attribute]
UnderLineArea=0
UnderLineArea=1    フィールド全体
実際のデータ領域

11.IBM拡張文字、NEC選定IBM拡張文字出力対応
・ 下記の機種に対応を組み込みました。
NPDL(NPDL Level2),LIPS3(LIPSIII),ESC/Page,RPDL2,ESC/P,PR-201
・ Windowsフォルダの下にあるvfreport.iniに拡張文字を印刷する/しないの設定があります。 NPDL(NPDL Level2)  
   [NPDL]セクション   
     UseIbmExt=1  
   [LIPS3]セクション   
     UseIbmExt=1  
   [RICOH]セクション   
     UseIbmExt=1   

これと同時に、AdjustPercent=80をAdjustPercent=88をデフォルトの設定として出荷するよう変更しました。 

 ESC/P,PR-201  
   [DotPrinter]セクション   
     IBMGaiji=1   

ESC/PもPR-201もドットプリンタとして共通の設定です。 

 [Dot Gaiji]  
  1=FA40-FCFC,-1,-1,13,27  
  2=ED40-EFFC,-1,-1,13,27 

の3行も追加してあります。

この設定はIBM拡張文字が出力する為の調整値を定義しています。

※上記全ての機種で、デフォルトでは「IBM拡張文字を印刷する」となっています。

※ドットプリンタを除く共通の設定として

   [GaijiFontName]
   Font0=MS 明朝
   Font1=MS ゴシック

という設定も追加してあります。これは、IBM拡張文字のTrueTypeのフォント名です。固定ピッチのフォントのみ指定可能です。例えば、「MS P明朝」等は、プロポーショナルフォントなので、指定できませんのでご注意下さい。

12.クエリーの結果をCSV形式のファイルに落すAPIを追加
 関数名:VrOutputQuery(handle,pszFileName)
 パラメータ:handle VrInit()で取得したハンドル
       pszFileName 出力ファイル名
 使用方法:VrInit
      VrSetPrinter
      VrSetForm
      VrSetQuery
      VrCondition
      VrOutputQuery
      VrPrint
      VrQuit

13.設計部関連での追加機能
・ 様式ファイル保存時にフィールド名の重複チェックをするよう機能追加しました。
・ ツールバーの「表示」に「座標表示単位」を追加しました。(ドット又はミリ単位で表示)
・ 「名前を付けて保存」の場合に、下地にビットマップを使用している場合には、ファイル名にビットマップファイル名を表示するようにしました。
・ 「フィールドの一括設定」の「レポートライター」にて、ヘッダレコードや合計レコードを設定する場合に、ヘッダにはヘッダレコードのみを、合計には合計レコードと総計レコードを表示するようにしました。
・ 「フィールドの一括設定」の「レポートライター」にて、キー順に同一番号の設定をできないようにしました。これは同一のキー順を複数フィールドに割り当ててしまうとキーブレイクのタイミングがまちまちになってしまう為、変更しました。

修正事項

1.設計部まわりの機能での修正点
・ 固定文字をカット&ペーストした場合に、文字の属性が引き継がれない点を修正しました。
・ 設計されているフォームで繰り返しフィールドが多い様式をプレビューや実行すると繰り返し項目のピッチが設計時とずれてしまう点を修正しました。
・ ライブラリファイルとしてクエリーファイルを使用し、フォームを自動生成した場合に、同名のフィールドが存在するとそのまま止まってしまう点を修正しました。
・ 3枚綴りで様式を設計した際に、2ページ目のみマスクを設定すると、1・3ページもマスクされてしまう点を修正しました。
・ 画面をスクロールした際に、ルーラーの文字が欠けてしまうことがある点を修正しました。
・ カラー版設計部を使用している際に、印刷色を変更して終了しても、保存確認のダイアログが表示されない点を修正しました。


2.印刷(プレビュー含む)関連機能での修正点
・ サブフォームとレコードが設計されているフォームを、プレビューしてから印刷するとMOVEフィールドが効かなくなってしまう点を修正しました。
・ プレビューから入力を行う際に、最初にフォーカスが行くフィールドのカンマや等の除去処理が行われない。また、入力終了後、最後にフォーカスがあったフィールドの内容が編集されない点を修正しました。
・ プレビューから入力を行う際に、縦書きフィールドに入力すると、カーソル位置と異なる位置に文字が入力されてしまう点を修正しました。
・ プレビューからページを指定して印刷すると、PAGE()関数を使用してページ番号を印刷する部分が、必ず1ページから始まってしまう点を修正しました。
・ シーケンシャルモードでプレビューを行った場合に、複数ページを印刷する際に、次ページボタンを押下せずに、印刷ボタンを押下しても何も印刷されない点を修正しました。
・ サブフォームとレコードが設計されているフォームで、マスクの設定になっているフィールドが入力ボタンを押下すると表示されてしまう。また、入力する際のフォーカスも移動してしまう点を修正しました。
・ イメージ印刷で出力した場合に、プリンタがESC/Pドライバを持っているものだと、矩形の角丸めがずれて印刷されてしまう点を修正しました。
・ イメージ印刷で出力した場合に、半角カタカナの「ャ」「ュ」「ョ」「ッ」が回転の設計をされていても、回転されない点を修正しました。
・ Bitmapファイルが白黒反転されて印刷されてしまう場合があり、その際vfreport.iniという設定ファイルの[Emulate]セクションのBitmapReverse=Trueと設定すると白黒反転は治るが、点線や網掛けが印刷されなくなってしまう点を修正しました。
・ イメージ印刷で出力した場合に、印刷中断ダイアログが最前面に表示されない点を修正しました。
・ イメージ印刷で出力する際に、実行したプログラムが動くプロセスがサービス実行されているとWin.iniの[PrinterPorts]セクションを読みこめない為、プリンタが存在していないのに、存在しないと判断し印刷ができない点を修正しました。
・ WinNTから「まいと~くFAX Ver.3」に出力すると、用紙方向指定が効かない点を修正しました。
・ 「StarFAX」に出力すると用紙方向の指定が最初のページしか効かない点を修正しました。
・ ESC/PとPR-201で出力した際に、帳票上に固定文字で半角の”%”が出力されない点を修正しました。
・ ESC/PとPR-201で出力した際に、文字の縦幅が0.5倍だった時に、文字ピッチがL効にならなくなってしまうことがある点を修正しました。
・ ESC/P(イメージ)とPR-201(イメージ)で出力した際に、VrAdjustm()関数が効かない点を修正しました。
・ ESC/PAGEで出力すると以前のバージョンに比べて出力速度が遅くなってしまう点を修正しました。
・ LIPS3で出力した際に、LIPS4機にレターサイズが正しく出力されない点を修正しました。
・ PRESCRIBE2で出力した際に、用紙サイズによる自動給紙がうまくいかない点を修正しました。
・ PRESCRIBE2で出力した際に、プリンタがLS-1700,3700,6700等の新しいバージョンのROMを搭載しているプリンタの場合、イメージデータ(バーコード、ビットマップ、外字) が欠けてしまう場合がある点を修正しました。
・ PRESCRIBE2でReportDirector経由で印刷すると、印刷終了後に、プリンタ本体のパネルに「ページガノコッテイマス」というメッセージが表示される点を修正しました。
・ LS-1700,3700,6700系のプリンタで縦書きの文字を印刷すると印字位置がずれる点を修正。Windows配下のvfreport.iniの[PRESCRIBE2]セクションにてTextAdjust=0だとLS-1550,3550,6550系、TextAdjust=1だとLS-1700,3700,6700系となります。
・ PDF版でPDFに落す際に、MOVE機能を利用しているフィールドがあると、そこに半角文字が含まれているPDFへ出力する際にエラーになってしまう点を修正しました。
・ PDF版でPDFに落す際に、矩形の塗りこみに網掛けパターンを使用するとエラーになることがある点を修正しました。(AcrobatReaderVer.4からは網掛けをグレースケール以外でも表示できる)
・ PDF版でPDFに落す際に、BMPファイルとその他の文字を重ねるとどちらかが優先されてしまう点を修正しました。
・ PDF版でPDFに落す際に、前のフィールドの内容がつぎのフィールドに出力される場合がある点を修正しました。


3.クエリー関連機能での修正点
・ DBフィールド名等の文字列のカット&ペーストができない点を修正しました。
・ 同一名称のテーブルと複数追加すると、SELECT文等でそれらを区別できない点を修正しました。
・ 空白の列(最後の列を除く)が削除できない点を修正しました。
・ ACCUCOBOL用のODBCドライバがフィールド一覧の取得時にエラーになってしまう点を修正しました。
・ ODBCのテキストドライバを指定したファイルDSNを使用するとエラーになってしまう点を修正しました。


4.実行時の処理関連の修正点
・ デバックモードをONにしている状態で、フィールドに対して256バイト近いデータを渡すと動作が不安定になることがある点を修正しました。
・ 連写機能を使用しているフォームファイルで、固定に貼りつけるBMPを扱うとアプリケーションエラーになってしまうことがある点を修正しました。
・ VrSetDocName2()関数を発行している場合に、プレビューを行うと設定が効かなくなってしまう点を修正しました。
・ 設計関数のLEN関数を使用したフィールドに文字列末尾に空白があるデータを送ると、コールしているDLL(VRW32.dllとVR32MAIN.dll)の違いにより結果が変わってしまう点を修正しました。
・ 多倍精度十進浮動小数点演算ライブラリの設定を行い、設計関数のPAGE関数が含まれているものを実行すると、PAGE関数の初期値が0になってしまうことがある点を修正しました。
・ 設計関数のLEFT関数を使用している場合に、指定されているバイト数の部分の文字が2バイト文字だった場合に、分れた1バイト分の文字コードで文字が出力されてしまう点を修正しました。
・ カラー版を使用している場合に、VrAdjustm()関数等で印字位置調整を行うと、カラーのBMPファイルが設定の2倍ずれてしまう点を修正しました。
・ 環境設定でプレビューするや、イメージ印刷・ESC/P(イメージ)・PR-201(イメージ)に設定されていると印字位置調整の書きこみがされない点を修正しました。
・ サブフォームとレコードがあるフォームで、条件付の集計関数を使用すると、最初のレコードの値が集計されない点を修正しました。
・ サブフォームとレコードがあるフォームで、重複を除く総計演算を行うと、全レコード値がそのまま計算されてしまう点を修正しました。
・ サブフォームとレコードがあるフォームで、全ての明細レコードに”初期値なら印刷しない”に設定されている場合、2.12bまでは最低1行の明細レコードが出力されるが、それ以降のバージョンだとレコードが表示されない。表示しないという設定なので表示されないのが本当の動作なので、デフォルトは表示されません。2.12b以前のバージョンと同様な動作を行いたい場合には、vfreport.iniの[ReportWriter]セクションに、ForceRecordOutput=1と設定して下さい。
・ サブフォームとレコードがあるフォームで、総計レコードに”初期値なら印刷しない”に設定をすると、総計レコードが全く出力されなくなる点を修正しました。
・ サブフォームとレコードがあるフォームで、多倍精度十進浮動小数点演算ライブラリを使用して、あるデータの割り算を実行するとループしてしまう点を修正しました。
例:7183746/2302431.21