過去の桐井戸端BBS (桐ver.8)
3746 文字幅を同じに表示したい 初心者 1999/12/14-13:05
いつもありがとうございます。
v5からv8に移植中です。

例えば、商品名の入力なんですが
dosの時から全角20文字(半角40文字)
を入力可能桁数にしてました。
(一括で#部分列関数でカットしてました)

windows全般のことなんですが
画面に表示した場合、全角20文字でも
文字によって長さが違う為、ちょっと
不便なんです。なんかいい方法ないでしょうか?

3747 Re:文字幅を同じに表示したい maruhashi 1999/12/14-15:29
記事番号3746へのコメント
表示用のフォントが、プロポーショナルになっているからでしょう。
固定幅のフォントに変えれば、だいたい問題なくなります。
知っていたら失礼ですが、一応違いを説明しておきます。
例えば、英字の「I」と「M」は、固定幅のフォントでは同じ幅になり、
「I」の部分が間延びします。機械式タイプライターは、これでした。
プロポーショナルは、「I」の幅を小さく、「M」の幅を大きくして、
自然な表示にします。
日本語は、漢字とかなで幅の違いはほとんどありませんが、
空白文字と半角カタカナは、幅に違いが出て来ます。
ちなみに、日本語フォントでは、「MS P明朝」などのように、
「P」が入っていれば、まずプロポーショナルです。
表示フォントを、「MS明朝」か「MSゴシック」にすれば、
幅が統一されるはずです。

3753 Re:文字幅を同じに表示したい 佐田 守弘 1999/12/14-21:59
記事番号3747へのコメント
初心者さん
オブジェクトに表示する文字のピッチを揃えるだけでよいのでしたら、
maruhashiさんが#3747で書かれている固定ピッチフォントを使う方法でほぼ解
決します。

むしろ、全角20文字に限定することに意味があるのかどうか、
もしどうしても文字数制限をする事が必要であれば、別の方法で考えると言っ
た解決方法を考えるべきだと思います。
文字数制限の方法は、項目制約を使うのが簡単です。

佐田守弘(KS-00119)

3760 Re:文字幅を同じに表示したい 初心者 1999/12/15-10:09
記事番号3753へのコメント
>むしろ、全角20文字に限定することに意味があるのかどうか、
>もしどうしても文字数制限をする事が必要であれば、別の方法で考えると言っ
>た解決方法を考えるべきだと思います。
>文字数制限の方法は、項目制約を使うのが簡単です。


maruhashiさん、佐田さんどうもありがとうございます。
文字数制限をしているのは、印刷する場合、一定の桁数
をとりますよね、それを超えたら、以下の行が、ずれたので
テキストデータは桁数制限するようになったんです。

桐5時代は、なんでも一括でやってしまおう、という感じ
だったんです。ある部分は表定義で、ある部分は一括で
するより全部一括処理でと思い・・・・。
それを引き継いでV8への移行なものですから。

3766 印刷行数などを一定以内に収める方法 佐田 守弘 1999/12/15-23:58
記事番号3760へのコメント
初心者さん
文字数を制限する目的が理解できました。
確認しますと、一覧表印刷ないし帳票印刷で、所定の行数いないに印刷するために、
入力する文字数を制限する必要がある、という意味と解釈させて頂きます。

上記の目的であれば、入力する文字数を制限する必要は全くありません。
一定の行数の中に印刷させる方法をがいくつかありますので、これを利用するのが便
利です。

@一覧表印刷の場合
データ行の行数を固定することによって、全てのデータ行を指定行数に固定して印刷
できます。この場合、指定行数に収まらない文字列データは、あふれた部分が切り捨
てられます。
切り捨てたくない場合には、フォントサイズを自動縮小して、その範囲に印刷するこ
とも可能です。

Aレポートの場合
一覧表形式のレポートは、文字数に応じて必要な行数が自動で取られます。つまり、
印刷行数は一定にはなりません。これに対して、伝票形式を使うと、行数は固定にな
ります。この場合も、あふれた文字は切り捨てられます。

B印刷する文字数を始めから切り詰める
レポートでは表に入力されている文字の中から、先頭何文字だけを印刷するといった
形で、印刷する文字数を制限することも可能です。これは、テキストに次の様な計算
式を設定して下さい。
#部分列([<印字する項目>],1,n)
ここで、nは印字する文字数です。桁数で指定する時には、-nを指定して下さい。

佐田守弘(KS-00119)

3780 Re:印刷行数などを一定以内に収める方法 初心者 1999/12/16-20:42
記事番号3766へのコメント
どうも、親切な解説ありがとうございます。

入力時に桁数制限する必要ないみたいですね。止めます。
でも、入力しているのに印刷したら、印字されない
というのも、なんかイヤなので、
フォントサイズを自動縮小するようにしてみようと思います。

作成しているほとんどの帳票は、ぎっしり詰め込んで
きつきつなんです。ほとんど半角で印字してました。(v5時代)
v8になってフォントを指定できるからいいですね。
でも、印刷速度が遅くなったのはつらい。

戻る