CSVファイルの内容をプリンタへ帳票印刷する

作品プログラム
動作環境
プロデル1.7.1046
投稿者
ゆうと
更新日
2021-02-11 16:12:14
ダウンロード数
251

作品のプログラム

データというデータ表を作る
データへ「KEN_ALL.CSV」から読み込む
プリンタ1というプリンタを作る
プリンタ1の用紙サイズは、「A4」

メイン画面を表示する
待機する

メイン画面とは
  ウィンドウを継承する
  はじめ手順
    初期化する
    
    選択図形は、無
    処理中は、×
    データ表図形(キャンバス1)を作って表図形とする
    表図形をキャンバス1に加える
    表図形の位置は、{10,10}
    表図形の背景色を白に変える
      そのはみ出し描画は、×
    表図形のページは、-1
    表図形のデータは、データ
    キャンバス1のページは、0
    スライダ1の最大値を表図形の総ページ数に変える
    表図形を更新する
    キャンバス1の内部大きさは、{(表図形の幅+20)*1.5,(表図形の高さ+20)*1.5}
    キャンバス1を更新する
  終わり

  初期化する手順
  ーー自動生成された手順です。
  ーーここにプログラムを書き加えても消える場合があります。
    この実質大きさを{478,399}に変える
    この内容を「表を印刷するサンプル」に変える
    初期化開始する
    キャンバス1というキャンバスを作る
      その位置と大きさを{0,46,478,353}に変える
      その自動更新を×に変える
      その内部大きさを{2000,2000}に変える
      その自動調整を○に変える
      そのドッキング方向を「全体」に変える
    パネル1というパネルを作る
      その位置と大きさを{0,0,478,46}に変える
      その移動順を1に変える
      そのドッキング方向を「上」に変える
      ボタン1というボタンをパネル1へ作る
        その位置と大きさを{316,6,112,34}に変える
        その内容を「印刷」に変える
        その移動順を1に変える
      スライダ1というスライダをパネル1へ作る
      スライダ1を初期化開始する
        その位置と大きさを{21,3,275,69}に変える
        その最小値を1に変える
        その値を1に変える
        その移動順を2に変える
      スライダ1を初期化終了する
    初期化終了する
    この設計スケール比率を{144,144}に変える
終わり
  スライダ1が変化した時の手順
    キャンバス1のページは、スライダ1の値
    表図形を更新する
    キャンバス1を更新する
  終わり
  ボタン1がクリックされた時の手順
    キャンバス1の総ページ数は、(データの行数/30)-1を切り上げたもの
    キャンバス1をプリンタ1へ印刷プレビュー
  終わり

  開いた時の手順
    キャンバス1の内部大きさは、{(表図形の幅+20)*キャンバス1の倍率,(表図形の高さ+20)*キャンバス1の倍率}
  終わり
終わり

データ表図形とは
  子キャンバスを継承する
  セルは、{}
  はじめ(キャンバス)の手順=(キャンバス)
    セル高さは、30
    余白は、20
    列数は、15
    表示行数は、[(プリンタ1の用紙大きさの高さ-余白*2)/セル高さを切り捨てたもの]の整数-1
    【ページサイズ:サイズ】は、サイズ(列数*100,(表示行数+1)*セル高さ)を作ったもの
    四角形を描いて枠図形とする
    枠図形の位置と大きさは、{0,余白,ページサイズの幅+1,ページサイズの高さ+1}
      その太さを2に変える
    自分の大きさは、{プリンタ1の用紙大きさの幅,プリンタ1の用紙大きさの高さ}
    自分の線色は、透明
    文字を描いてページ番号ラベルとする
      その位置は、{プリンタ1の用紙大きさの幅-100,0}
      そのフォントを「メイリオ」に変える

    //見出し
    横位置は、0
    列番号を1から列数まで増やしながら繰り返す
      線を描く
        その始点は、{横位置,余白}
        その終点は、{横位置,余白+ページサイズの高さ}
      文字を描いてセル(1,列番号)とする
        その位置は、{横位置,余白}
        そのフォントを「メイリオ」に変える
      横位置=横位置+100
    繰り返し終わり
    横位置は、30

    カウンタは、0
    縦位置は、セル高さ+余白
    行番号を1から表示行数まで増やしながら繰り返す
      線を描く
        その始点は、{0,縦位置}
        その終点は、{ページサイズの幅,縦位置}
      横位置は、0
      列番号を1から列数まで増やしながら繰り返す
        文字を描いてセル(行番号+1,列番号)とする
          そのフォントを「メイリオ」に変える
          その大きさ調整を×に変える
          その位置と大きさは、{横位置,縦位置,100,セル高さ}
        横位置=横位置+100
      繰り返し終わり
      縦位置=縦位置+セル高さ
      カウンタを増やす
    繰り返し終わり
  終わり
  +データ:データ表
  再描画された時の手順
    更新する
  終わり
  自分を更新する手順
    データの列一覧のすべての【列要素】についてそれぞれ繰り返す
      セル(1)(列要素の番号)の内容は、列要素の名前
    繰り返し終わり
    現在ページは、親のページ-1
    もし現在ページが0以下なら現在ページは、0
    ページ番号ラベルの内容は、「[現在ページ+1]ページ」
    行番号を1から表示行数まで増やしながら繰り返す
      全体行番号は、行番号+現在ページ*表示行数
      もし全体行番号がデータの行数より大きいなら
        データの列一覧のすべての【列要素】についてそれぞれ繰り返す
          セル(行番号+1)(列要素の番号)の内容は、「」
        繰り返し終わり
      そうでなければ
        【行要素】は、データの(全体行番号)行目を取得したもの
        データの列一覧のすべての【列要素】についてそれぞれ繰り返す
          セル(行番号+1)(列要素の番号)の内容は、行要素の(列要素の番号)列目を取得したもの
        繰り返し終わり
      もし終わり
    繰り返し終わり
  終わり
  総ページ数を取得する手順
    [(データの行数/表示行数)を切り上げたもの]を返す
  終わり
終わり
	

▲ページの先頭へ