Super Visual Formade 設計部 2.08cから2.11リリース情報

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

機能追加事項

1.イメージ印刷時の印刷取消画面の表示切替え
イメージ印刷時の「印刷取消画面」の切替えを可能にしました。
Vfreport.iniの[Emulate]セクションの、PrintDlgNameを変更することによって表示を切替えます。
PrintDlgName=DIALOG_2・・・・・ 従来通りの画面(デフォルト)
PrintDlgName=DIALOG_3・・・・・ 従来の印刷取消画面から、VisualFormadeReportやVersion等タイトル部分を消去した画面

2.プレビュー画面のキーボードでのフォーカス制御
プレビュー画面にてキーボードでのフォーカス制御を可能にしました。TABキーによりフォーカスが順番に移動し、Enterキーで選択されます。

3.フィールドの編集式からの属性変更
フィールドの編集式から属性変更関数を使用できるようにしました。
(従来は実行関数でアプリよりVrAttribute()を使用していただいていました)
例:FORMAT(field,"ZZZ,ZZ9")+IF(field アンダーライン部分が属性変更の指定です。
Fieldが0以下だった場合に、fieldの表示をボールドにし、かつイタリックにします。
VrAttribute()と編集式の設定では、編集式の設定が有効となります。
Edit=やCalc=の設定及び変更はできません。(エラーとなります)

4.SELECT()関数の拡張
SELECT()関数の選択肢を10個まで設定できるように拡張しました。

5.設計関数MONTH2()を追加
設計関数の編集式にMONTH2()という関数を追加しました。
 機能:日付データの月を文字型データとして取得します
 書式:MONTH2(yyyymmdd)
 説明:yyyymmddは月だけを求める日付型データ及び、データが入ってくるフィールド名を指定。
    yyyymmddのmmのみを1=Jan,2=Feb,3=Mar……という形の文字型データで印字します。
 例:
 編集式 MONTH2("20000325")
 印字結果 Mar

 補足説明:Windows配下にあるvfreport.iniの[Fclib]セクションに
      MONTH=Jan,Feb,Mar……と設定することにより、他の文字への変換も可能です。
      ひと月あたり16バイトまでとなります。また、必ず12ヶ月分記述して下さい。

6.リピートフィールドでの計算式・編集式の実行
リピートフィールドにデータが入らない場合でも計算式や編集式を実行できるようにしました。Windows配下のvfreport.iniの[Fclib]セクションにFuncExecute=1と記述することにより、データが入らなくても計算式や編集式を実行するようになります。ゼロサプレス等の機能に有効です。

7.レポートライターフォームでの設計関数にRANK()を追加
サブフォームとレコードが設計されているフォームの場合にRANK(),RRANK(),PRANK(),GRANK()関数を追加しました。RANK()関数の前にRがついているものは、累計したデータの中のRANKをとります。Pがついているものは、そのページ内のRANKを取り、Gがついているものは全てのデータの中でのRANKを取得します。
機能: 使用関数により設定されている範囲内での指定された数値フィールドの大きいデータから順に表示するようにできます。
  また、あるキーに設定されているフィールドをグループサプレス、重複時の罫線を印刷しない、センタリングの設定を行い、この設定に伴う別のフィールドでも同様に、グループサプレス、重複時の罫線を印刷しない、センタリングを実行できるようにしました。
例: 順位というフィールドの計算式にRANK([@金額])と記述します。
順位 金額 得意先
1 25,000 ああああ
1 25,000 いいいい
3 21,000 うううう
4 19,000 ええええ
4 19,000 おおおお
フィールド順位、金額にグループサプレスを設定すると以下のようになります。
順位 金額 得意先
1 25,000 ああああ
  いいいい
3 21,000 うううう
4 19,000 ええええ
おおおお

8.レポートライターフォームでのバナーの自動挿入
指定されたフィールド値が変化した時点で改ページし、指定様式をバナーとして印字します。VrSetForm() データ出力までの間に次の関数でフィールドとバナー様式を設定します。この設定は次に呼ばれるVrSetFormが実行されるまで有効となります。
書式: VrAttribute(handle,field,"BANNER=y")
field=フィールド名
y=様式ファイル名
例: VrAttribute(handle,"売上月","BANNER=C:WINGARCWINGARC.frm")
売上月の内容が変化すると改ページを行い、c:WINGARCWINGARC.frmが挿入されます。VrAttribute(handle,"売上月","BANNER=")
様式ファイル名をなにも設定しないと上記のバナー印刷設定が解除されます。
バナー様式ファイルのパスを省略した場合には、メインフォームで指定されているパスが採用されます。
バナー用フォームにデータを出力することはできません。

9.レポートライターフォームでのソート順変更
あらかじめ設定されているソート順や昇順・降順をプログラムから変更することが可能となりました。VrSetForm() データ出力までの間で次の関数を実行します。
次にVrSetForm()がコールされるまで設定が有効となります。
書式:VrAttribute(hande,filed,"ORDER=n")
   field=フィールド名(*は特殊用途で使用可能です)
   n=数値:ソート順(+は昇順、-は降順)
   ASC:昇順(順序は変えずに昇順に設定)
   DESC:降順(順序は変えずに降順に設定)
   NULL:設定を解除オ設計時の設定に戻す
例1: 売上月、売上日の順でソートし、売上日は降順で表示するように設定。
VrAttribute(handle,"売上月","ORDER=1")
VrAttribute(handle,"売上日","ORDER=-2")
例2: ソートの順番を変えずに売上日を昇順で表示するように設定。
VrAttribute(handle,"売上日","ORDER=ASC")
例3: ソートの順番を変えずに売上日を降順で表示するように設定。
VrAttribute(handle,"売上日","ORDER=DESC")
例4: 全てのソート指定を解除するように設定。
VrAttribute(handle,"*","ORDER=")
例5: 売上日のソート指定を解除するように設定。
VrAttribute(handle,"売上日","ORDER=")
注意: この設定はあくまでのソート順のみの変更であり、キーブレイクによる合計行やヘッダー指定をしている場合や、グループ集計演算を使用しているようなフォームの場合には、昇順/降順の変更のみが可能となり、ソート順序の変更や解除は行えませんのでご了承下さい。

10.レポートライターフォームでのレコードの挿入
キーブレイク時に改ページを行う場合に、サブフォームに印字可能領域が残っていれば指定されたレコードを出力することが可能になります。明細行が帳票上設計されている明細行数に満たないで改ページする場合、最終行に「以下余白」等の指定メッセージ行を自動的に印字することが可能です。
書式: VrAttribute(handle,field,"BLANK=r")
field=フィールド名(指定されるフィールド名にはキー設定されていなければなりません)

r=レコード名(NULLの場合には設定解除指定となります)
例1: 得意先フィールドがブレイクすると、明細レコードの次にレコード「YOHAKU」を印刷する。
YOHAKUレコード内の「data」フィールドに「以下余白」というデータを出力する設定。
VrsOut(handle,"data","以下余白")
VrAttribute(handle,"得意先","BLANK=YOHAKU")
例2: 得意先フィールドのブレイク設定で、指定レコードの挿入を解除したい場合。
VrAttribute(handle,"得意先","BLANK=")

11.クエリー実行時のテーブル名を指定する機能
クエリーを実行する際に、作成した時のDBテーブル名と実行時のDBテーブル名が違う場合に、テーブル名を指定することが可能です。
書式: VrCondition(handle,"クエリー設計時のテーブル名=実行時のテーブル名",6)
注意: モードは必ず6を設定して下さい。
クエリー設計時のテーブル内容(項目名等)と実行時のテーブル内容が同じでないと正常にデータが出力されません。

12.クエリー実行時のデータファイルのディレクトリを変更する機能
クエリーを実行する際に、作成した時のDBファイルがあるディレクトリと、実行時のDBファイルがあるディレクトリが違う場合に、以下のオプションをVrSetQuery()関数の第2パラメータで指定することにより、変更が可能となります。

(Microsoft ODBCドライバのヘルプより抜粋)
DBQ AccessまたはParadoxドライバの場合、データベースファイルの名前。
Excel5ドライバでExcel5.0ファイルにアクセスする場合の、ブックファイルの名前。
DEFAULTDIR データベースファイル(Accessドライバの場合)または、ディレクトリ(dBase、Excel、FoxPro、Pradox、Textドライバの場合)のパス。
例: (A)VrSetQuery(handle,"","DBQ=C:datadata.mdb","クエリーファイル名.vrq",0)
(B)VrSetQuery(handle,"","DefaultDir=C:DATA","クエリーファイル名.vrq",0)
使用するODBCドライバにより上記のどちらかで変更可能となります。他のドライバを使用する場合は、そのドライバのマニュアルを参照して下さい。ユーザ名やパスワードと一緒に指定をする場合には以下の例のようにセミコロンで区切って下さい。
VrSetQuery(handle,"","UID=???;PWD=???;DBQ=C:datadata.mdb","クエリーファイル名.vrq",0)

13.クエリーでのORACLE対応
ORACLEドライバとODBCドライバを選択して使用できるように機能を追加しました。
SQL*Net及びNet8経由でDBとやりとりを行いますので、SQL*NetやNet8が入っていない場合には使用できません。

修正事項

1.設計部まわりの機能での修正点
・ 設計内容の印刷を行った際に、フィールドの情報が3ページ以上にわたる場合に、その次のページも3ページとなってしまう点を修正しました。
・ 罫線自動認識を行った際に、イメージスキャナによりビットマップファイルの形式に差異があり一部のビットマップファイルで自動認識ができない点を修正しました。
・ ライブラリウィンドウを表示している状態でフィールドを選択した時に、マウスを移動せずにボタンを離すとエラーが発生してしまう点を修正しました。
・ 設計部からテスト印刷を実行した際に、計算式や編集式が設定されていないと、デバックウィンドウでエラーになってしまう点を修正しました。

2.印刷(プレビュー含む)関連機能での修正点
・ 16ビットアプリケーションからESC/P(イメージ)で出力すると正常に印刷されない点を修正しました。
・ 「イメージ印刷」実行時に、スプールモードを文書毎に設定し、100ページ以上の印刷を行うとリソースが足りなくなり、スプールされなくなる点を修正しました。
・ 「イメージ印刷」実行時にOSがWindows95でかつプリンタがLP-8300に対して、「ぁ」や「っ」等小さな文字を縦書きで印刷しようとすると文字化けが発生する点を修正しました。
・ 「ESC/P」で出力時に、文字列の一番最後に”@”があると、その文字列全体が出力されない点を修正しました。
・ 「PR-201」で出力時に、固定文字を印刷するように設定し、かつ固定文字が横0.5倍と設計されていると、文字間ピッチ自体も半分になってしまう点を修正しました。
・ 「RPDL2」で印刷した際に、プリンタがSP-7やSP-8のものだと、VF側で送っているコマンドの中の座標ユニット設定コマンドがサポートされていない為、ゴミとなって印刷される点を修正しました。
・ 複数のフォームファイルが使用されている連続ページをプレビューし、1ページづつ次ページへ進めて行くと”不正な処理”というエラーが発生する点を修正しました。
・ ビットマップフィールドが複数ページプレビューを行うと正しく表示されない点を修正しました。
・ バーコードのフィールドにデータが送られない場合にプレビューを行うと異常終了してしまう点を修正しました。
・ 綴りのフォームをクエリーから実行しプレビューすると、1ページ目は正常に表示されるが、2ページ目以降が綴りの1枚めと2枚めのフィールドが重なってしまうことがある点を修正しました。

3.クエリー関連機能での修正点
・ 「新規作成」を行った場合に「データソースの選択」画面でキャンセルボタンを押下するとエラーダイアログが表示され、その後の動作がおかしくなってしまう点を修正しました。
・ テーブルリストが表示されているWindows(テーブルを追加していくWindow)を縦方向にスクロールしたままの状態で設計画面を閉じると次回開く時に正常に開けない場合がある点を修正しました。
・ WindowsNT4.0SP3がインストールされているPCで、クエリー設計部の中でODBCDriverに接続できなかった場合にエラーが発生することがある点を修正しました。
・ オプションの中にある様式ファイルの設定で画面で参照ボタンを押下し、ファイルを指定する際にパス名が長いと省略形のパス文字列が設定されてしまう点を修正しました。

4.実行時の処理関連の修正点
・ VrAdjustd(),VrAdjustm()関数を使用し、プレビューから印刷を行うと、設定値より2倍移動してしまう点を修正しました。
・ 数千ページの大量印刷を行った場合に、メモリ不足になってしまう点を修正しました。
・ リンクサブフォームが存在するフォームファイルで、サブフォーム内にレコードに含まれていないフィールドがあると、その内容がリンク先のサブフォームに複写されない点を修正しました。
・ サブフォームの枠やレコードの枠の設定が「四角」になっていて、かつ線種が「なし」になっているとアプリケーションエラーとなってしまう点を修正しました。
・ 連写機能を使用しているフォームでVrAttributer()が正常に実行されないことがあったり、アプリケーションエラーになってしまうことがある点を修正しました。
・ サブフォームやレコードが作成されている帳票で、かつ連写機能も使用されている場合に、アプリケーションエラーが発生してしまうことがある点を修正しました。
・ 連写機能を使用しているフォームで、直線が一つも設計されていないと、切り取り線も出力されない点を修正しました。
・ 自動改ページ「する」という設定の場合に、SUM関数を指定してるフィールドが最終ページでのみしか実行されない点を修正しました。
・ テンポラリに設定されているフォルダの属性になんらかの設定がされていた場合に、アンインストール時にテンポラリパスが見つけられずにアンインストールができない点を修正しました。
・ VrSetPrinter()等でESC/PAGEから他のプリンタに切替える際に、10バイトのプリンタモード切替えコマンドが出力されてしまう点を修正しました。