サブ・ファイルのイメージを Web でわかりやすく表現してみよう。
今回のテーマは
目で見るサブ・ファイルの実体
である。
次のリスト・ボックスを見てほしい。
これが最初に出力したサブ・ファイルのイメージである。
商品コード | 商品名 | 単価 | 品種コード | 品種名 |
0001 | NV-BS30S | 目次ビデオ | 165,000 | 0002 | ビデオデッキ |
0002 | NV-BS50S | ビデオ画王 | 200,000 | 0002 | ビデオデッキ |
0003 | NV-CF1 | Cカセット編集ビデオ | 58,000 | 0002 | ビデオデッキ |
0004 | NV-CF2 | 商品AAA | 168,000- | 0003 | コンポ |
0005 | NV-CF81 | 更新テスト | 48,000 | 0005 | ヘッドホン |
0006 | NV-CF9 | 漢字テスト | 19,000 | 0002 | ビデオデッキ |
0007 | NV-F850 | 音声録画ビデオ | 140,000 | 0002 | ビデオデッキ |
0008 | NV-HK1 | 歌えるビデオ | 90,000 | 0002 | ビデオデッキ |
0009 | NV-H1T-S | みんなのビデオ | 69,800 | 0002 | ビデオデッキ |
0010 | NV-SX10 | ビデオ画王 | 115,000 | 0002 | ビデオデッキ |
0011 | NV-W1 | 世界放送方式ビデオ | 350,000 | 0002 | ビデオデッキ |
0012 | RX-DT75 | CDラジオカセット | 53,800 | 0003 | コンポ |
0013 | SC-CH150 | 超ミニ・コンポ | 70,000 | 0003 | コンポ |
0014 | SC-CH505 | パーソナル・ミニコンポ | 100,000 | 0003 | コンポ |
スクロール・バーを操作して次のページも表示して欲しい。
目に見えている行数が SFLPAG
=13 であり、SFLレコードの実体である
中身の行数が SFLSIZ
=14 である。
SFLSIZ
を SFLPAG
より +1 だけ大きく作っておくと SFLSIZ
は
IBM i OS によって自動的に拡張される。
ここでROLLUP(PgDnキー)を押すとさらに 13行のレコードが追加されて
次のような表示となる。
商品コード | 商品名 | 単価 | 品種コード | 品種名 |
0001 | NV-BS30S | 目次ビデオ | 165,000 | 0002 | ビデオデッキ |
0002 | NV-BS50S | ビデオ画王 | 200,000 | 0002 | ビデオデッキ |
0003 | NV-CF1 | Cカセット編集ビデオ | 58,000 | 0002 | ビデオデッキ |
0004 | NV-CF2 | 商品AAA | 168,000- | 0003 | コンポ |
0005 | NV-CF81 | 更新テスト | 48,000 | 0005 | ヘッドホン |
0006 | NV-CF9 | 漢字テスト | 19,000 | 0002 | ビデオデッキ |
0007 | NV-F850 | 音声録画ビデオ | 140,000 | 0002 | ビデオデッキ |
0008 | NV-HK1 | 歌えるビデオ | 90,000 | 0002 | ビデオデッキ |
0009 | NV-H1T-S | みんなのビデオ | 69,800 | 0002 | ビデオデッキ |
0010 | NV-SX10 | ビデオ画王 | 115,000 | 0002 | ビデオデッキ |
0011 | NV-W1 | 世界放送方式ビデオ | 350,000 | 0002 | ビデオデッキ |
0012 | RX-DT75 | CDラジオカセット | 53,800 | 0003 | コンポ |
0013 | SC-CH150 | 超ミニ・コンポ | 70,000 | 0003 | コンポ |
0014 | SC-CH505 | パーソナル・ミニコンポ | 100,000 | 0003 | コンポ |
0015 | SC-CH655 | ロングプレイ・コンポ | 129,000 | 0003 | コンポ |
0016 | SC-CH950 | ドルビー・ミニコンポ | 162,000 | 0003 | コンポ |
0017 | SF-SDCD | FFFFF | 19,000 | 0009 | |
0018 | TH-19VS30 | コンパクトTVBS19 | 120,000 | 0001 | カラーTV |
0019 | TH-21VS30 | コンパクトTVBS21 | 128,000 | 0001 | カラーTV |
0020 | TH-25GF10 | 衛星放送内蔵TV25 | 168,000 | 0001 | カラーTV |
0021 | TH-25GV10 | ビデオ内蔵型TV25 | 255,000 | 0001 | カラーTV |
0022 | TH-25VS30 | コンパクトTVBS25 | 11,300 | 0001 | カラーTV |
0023 | TH-29GF10 | カラーTV画王BS29 | 220,000 | 0001 | カラーTV |
0024 | TH-29GV10 | ビデオ内蔵型TV29 | 280,000 | 0001 | カラーTV |
0025 | TH-33VS35 | カラーTV画王BS33 | 350,000 | 0001 | カラーTV |
このように 14行目から 25行目まで表示されているが
正しくスクロールされて上記のように、あたかもページをめくったように
表示されるためには、
SFLSIZ
が拡張されていることSFLRCDNBR
としてセットされていることの二つの条件が満たされていなければならない。
SFLRCDNBR
( Subfile Record Number ) とは
A DSPREC 4S 0H SFLRCDNBR(CURSOR)
のように定義しておくと DSPREC
の含まれる行の画面が表示される、という設定となる。
この画面もスクロール・バーを操作して画面の状態を確認して欲しい。
※ TONAKAI による変換
EnterpriseServer の TONAKAI を使うと DSPF を HTML に変換することができる。
TONAKAI によってサブ・ファイルは 上記のようなリスト・ボックスに変換される。
RPG の開発者にとってスクロール・バーを使いたい、という憧れのようなものがあり
この機能は好評である。