過去の桐井戸端BBS (桐ver.8)
11665 レポートで条件によって直線の太さを変えたい 永井 2001/06/15-21:44
桐V8sp6 を勉強中です。
スケジュール表を作成していますが、予定時間帯に相当する部分に罫線より太めの直線を引きたいと考えております。
V5であった 「描画」コマンドに代替できるコマンドがないので苦労しています。
どなたか方法を教えてください。

11671 レポート>条件で線の太さを変えたい 悲しげ 2001/06/15-23:10
記事番号11665へのコメント
どもっ、永井さん
タイトルが「レポートで直線を引きたい」となってまして、これだと線オブジェクトを使えばいいだけのことですから、勝手に変えさせてもらいました。

さて

>スケジュール表を作成していますが、予定時間帯に相当する部分に
>罫線より太めの直線を引きたいと考えております。

私はレポートの線オブジェクトは苦手で殆ど使っていないのですが、
例えばテキストオブジェクト。これは、線ではなくてボックスなんですが、細長いボックスとすれば、
太い線の代わりもできそうな気がします(ラブルオブジェクトも大体同様)。
このテキスト(ラベル)オブジェクトの属性中「印字属性」タブで「属性式」を設定可能です。
ここで、条件に応じて網かけなり反転なりを指定して、結果的に意図する表現ができないものかどうか?

>V5であった「描画」コマンドに代替できるコマンドがないので苦労していま

はて?
描画コマンドは単に画面描画で、印刷には使えなかったような?
もし別件で、画面表示上での問題でしたら、Win桐のフォームはかなりの表現力があります(慣れれば、ですが)。(^^;)
11676 Re:レポートで直線を引きたい 佐田 守弘 2001/06/16-03:08
記事番号11665へのコメント
永井さん
「レポートで直線を引きたい」
と書かれていますが、これはレポートの話ですか、
描画コマンド的な機能を期待されている点と、関連する別のツリーでの質問内容を併せて読んでみますと、
印刷を行いたいのではなくて画面表示をしたい様に思えてならないのですが。

因みに、レポートとは印刷の機能、フォームは画面表示の機能です。
この2つは別物です。

佐田守弘(KS-00119)
11696 Re:レポートで直線を引きたい 永井 2001/06/16-17:10
記事番号11676へのコメント
佐田 守弘さんは No.11676「Re:レポートで直線を引きたい」で書きました。
>永井さん
>「レポートで直線を引きたい」
>と書かれていますが、これはレポートの話ですか、
>描画コマンド的な機能を期待されている点と、関連する別のツリーでの
>質問内容を併せて読んでみますと、印刷を行いたいのではなくて
>画面表示をしたい様に思えてならないのですが。
>
>因みに、レポートとは印刷の機能、フォームは画面表示の機能です。
>この2つは別物です。
>


佐田 守弘さん いつもご指導ありがとうございます。

 ご指摘のとおり表示も印刷もと考えておりましたので、質問の内容がチグハグになってしまいました。
 要点を整理しますと、スケジュールを画面で作成し、印刷もしたい。
(1) フォーム上で、該当日のスタート時刻から、10分程度の単位で予定時間を入力し、その入力値に応じた直線を表示したい。
(2) フォームで入力したデータをもとに、フォームと同様のレポート印刷をしたい。
ということになります。

小生としては、下記の2点がよくわからないのです。
 ・フォーム上で入力した数値に応じた線を書かせる方法
 ・レポートにデータに応じた線を引く方法

11701 Re:レポートで直線を引きたい 佐田 守弘 2001/06/17-01:20
記事番号11696へのコメント
永井さん
やっとやりたい事が分かりました。
ただし、
>・フォーム上で入力した数値に応じた線を書かせる方法
>・レポートにデータに応じた線を引く方法
は、桐の基本機能としてはできません。
まず桐ver.5にあった描画コマンドですが、これがWindows版でなくなったのは、おそらく描画コマンドで背景の塗色をする必要性が無くなったからでしょう。
また、MS-DOS環境ではグラフィック座標の概念がありましたが、Windowsではこの概念も無くなってしまい、
MS-DOSの様な方法で描画する事ができなくなってしまった事も理由の1つかも知れません。

Windows版の桐では、フォームにもレポートにも直線オブジェクトがあり、ウインドウ上の指定座標間を結ぶ直線が描けます。
しかしながらこの時の視点と終点は固定されており、他の値によってこれを変更する事ができません。
つまり、直線オブジェクトをスケジュール表の横棒の変わりには使えないのです。

ではどうするか。結局桐の既存機能を使って、類似の事を実現する方法を編み出す「頭の体操」問題になりますね。

グラフ機能で何とかならないかもその1つの方法なのかも知れません。
私がふと思いついたのが、一覧表か伝票オブジェクトを使い、1つのセルを1分単位の時間帯に見立て、
スケジュールが埋まっていたら(表の項目値に例えば1が入力されている)背景色を変えて、帯状に表示する方法です。

表の方は多分、10分単位の時間帯を1つの項目とする形で表を作る事になると思います。
表示や印刷は、属性式を使って背景を変更する事になるかと思います。
実際には試していないアイデアですが、チャレンジしてみる価値は有るかも知れません。

佐田守弘(KS-00119)
11704 Re:レポートで直線を引きたい 永井 2001/06/17-16:49
記事番号11701へのコメント
佐田 守弘さん ありがとうございます。

 1つのセルを単位時間にする方法は思いつきませんでした。
 早速トライしてみます。
11678 Re: ケント 2001/06/16-08:26
記事番号11663へのコメント
永井さん こんにちは

思いつきだけで試したことは無いのですが、"構成比棒グラフ"は利用できないでしょうか。
1日24時間の構成をグラフ化するわけです。
スケジュールが入っているところは黒で塗りつぶしし、その他のところは白(透明?)にすればいいのかな。

がんばってください。

戻る