(現在 過去ログ2 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■229 / inTopicNo.1)  数字の位置えお指定したいのですが
  
□投稿者/ 大地 -(2005/09/15(Thu) 09:07:05)
    またまたお世話になります
    請求書のフォームがあり金額を入力します
    金額は最高10桁です
    これを伝票印刷するときに
    ↓
    □□□□□□□□□□
    のますに、ひとますづつに数字一桁入れて伝票印刷を行いたいので									
    #部分列( [金額],10,10)
    #部分列( [金額],10,9)
    というように関数を使用したのですが
    この関数だと金額が常に左詰めになってしまいます
    9桁以下のときは、常に右詰にしたいのですが
    どーすればよいのでしょうか
    よろしくおねがいします。

引用返信 [メール受信/OFF] 削除キー/
■230 / inTopicNo.2)  Re[1]: 数字の位置えお指定したいのですが
□投稿者/ 宮城 -(2005/09/15(Thu) 11:59:25)
    ■No229に返信(大地さんの記事)
    
    大地さん、こんにちは。
    
    > #部分列( [金額],10,10)
    > #部分列( [金額],10,9)
    
    これってそれぞれ、10文字目から10文字取り出せ、9文字取り出せってことですが
    それでいいんですか? だいぶ意味合いが違うように思いますが。
    
    また、#部分列は文字列操作関数なんで、おそらく数値と察せられる[金額]にその
    ままつかうのは無理ですよ。どうしてもならいったん #文字列で文字列化します。
    
    それでもって、文字列は普通左詰ですから、表示形式で右詰にもできますけど、
    
    > □□□□□□□□□□
    > のますに、ひとますづつに数字一桁入れて伝票印刷を行いたいので						
    
    というニーズにはどうもマッチしないようにお見受けしますが。
    
    # 以上指摘しつついったん退場(なにしに出てきた? (^^;; )

引用返信 [メール受信/OFF] 削除キー/
■231 / inTopicNo.3)  Re[2]: 数字の位置えお指定したいのですが
□投稿者/ 宮城 -(2005/09/15(Thu) 13:09:57)
    ■No230に返信(宮城さんの記事)
    
    まあこんなのはいかが。
    
    #複写(" ",10-#文字数(#文字列([金額])))+#文字列([金額])
    
    これで 10桁に満たない場合「 (半角スペース)」で補った10桁の
    文字列になりますので、「ひとます」ずつに対応した 10個のテキス
    ト領域作って、ソースに次の式セット。
    
    #部分列([10桁変換した文字列],n,1) nは1から10
    
    (ワーク的な項目さっさと追加する主義なもんで [10桁変換した文字列]
    という項目追加していただく前提です。無論そんなことしなくてもでき
    ますが、まちがえやすいわわかりにくいわで嫌い。)
    
    

引用返信 [メール受信/OFF] 削除キー/
■232 / inTopicNo.4)  Re[1]: 数字の位置えお指定したいのですが
□投稿者/ コージ -(2005/09/15(Thu) 13:18:08)
    1マスごとに設定
    左から1マス目は
    #条件選択(#文字数(#文字列([金額]))=10,#部分列(#文字列([金額],1,1)),#文字数(#文字列([金額]))≦9,#未定義))
    左から2マス目は
    #条件選択(#文字数(#文字列([金額]))=10,#部分列([金額],2,1),#文字数(#文字列([金額]))=9,#部分列(#文字列([金額]),1,1)),#文字数(#文字列([金額]))≦8,#未定義)
    左から3マス目は
    (左から2マス目を参考に)
    
    動作未確認
    
    間違いが発生するといけないので
    オブジェクトの属性[書式]タブ内で
    [表示]の[横の位置]を「右寄せ」、
    [文字間]を調整して設定した方が簡単・確実だと思います。
    (私はこの方法です。)
    

引用返信 [メール受信/OFF] 削除キー/
■233 / inTopicNo.5)  #右側文字列
□投稿者/ ONnoji -(2005/09/15(Thu) 13:19:30)
    >金額は最高10桁です
    >これを伝票印刷するときに
    >↓
    >□□□□□□□□□□
    >のますに、ひとますづつに数字一桁入れて伝票印刷を行いたいので
    >#部分列( [金額],10,10)
    >#部分列( [金額],10,9)
    >というように関数を使用したのですが
    
    次のように試されたらいかがでしょうか???
    
    ■変更前
    
    #部分列( [金額],10,10)
    
    ■変更後
    
    #部分列( #右側文字列( #複写( "□",10 ) + #str([金額]), 10 ),10,1 )
    
    事前準備として、
    #複写( "□",10 ) は "□□□□□□□□□□" の文字列を作ります。
        ↑
    ※□は全角空白文字または半角空白文字の意味です。
    
    さらに、この文字列に#str([金額]) を連結しますので、
    例えば、[金額]の値が "1234" だった場合、
    "□□□□□□□□□□1234"  という文字列が出来あがります。
    
    最後の仕上げに#右側文字列( )を利用して、
    この長ったらしい文字列の右側から10文字取り出します。
     ↓
    "□□□□□□1234"
    
    図式風に…こうすると、
    #部分列( "□□□□□□1234",  1, 1 ) → "□" になります。
    #部分列( "□□□□□□1234",  2, 1 ) → "□" になります。
      :
      :
    #部分列( "□□□□□□1234",  7, 1 ) → "1" になります。
    #部分列( "□□□□□□1234",  8, 1 ) → "2" になります。
    #部分列( "□□□□□□1234",  9, 1 ) → "3" になります。
    #部分列( "□□□□□□1234", 10, 1 ) → "4" になります。
    
    実際には、"□□□□□□1234" の部分を
    #右側文字列( #複写( "□",10 ) + #str([金額]), 10 )
    と書きますので注意してください。
    
    各マスに印字する場合は、
    左のマスから順番に次のような式を指定すれば出来上がると思います。
    
    #部分列( #右側文字列( #複写( "□",10 ) + #str([金額]), 10 ),1,1 )
    #部分列( #右側文字列( #複写( "□",10 ) + #str([金額]), 10 ),2,1 )
      :
      :
    #部分列( #右側文字列( #複写( "□",10 ) + #str([金額]), 10 ),9,1 )
    #部分列( #右側文字列( #複写( "□",10 ) + #str([金額]), 10 ),10,1 )
    

引用返信 [メール受信/OFF] 削除キー/
■234 / inTopicNo.6)  Re[1]: 数字の位置えお指定したいのですが
□投稿者/ アックン( -(2005/09/15(Thu) 13:27:04)
    大地さん
    下記のように文字列として扱うと、一応できるにはできるのですが。
    文字列として扱わないで、算術関数を使うスマートな方法は? >ALL
    
    10桁目: #cond( #文字数( #str([金額]) )>9 , #sstr( #文字列反転( #str([金額]) ) , 10 , 1 ) )
     9桁目: #cond( #文字数( #str([金額]) )>8 , #sstr( #文字列反転( #str([金額]) ) ,  9 , 1 ) )
     :
     2桁目: #cond( #文字数( #str([金額]) )>1 , #sstr( #文字列反転( #str([金額]) ) ,  2 , 1 ) )
     1桁目: #cond( #文字数( #str([金額]) )>0 , #sstr( #文字列反転( #str([金額]) ) ,  1 , 1 ) )
    
    アックン(=^・^=)

引用返信 [メール受信/OFF] 削除キー/
■235 / inTopicNo.7)  Re[3]: 数字の位置えお指定したいのですが
□投稿者/ 宮城 -(2005/09/15(Thu) 13:47:09)
    ■No231に返信(宮城さんの記事)
    
    #文字列([金額],10)で10桁文字列つくっておいて、#部分列で1文字ずつ取り出すのは
    一緒。10個のテキスト側で#文字数に応じ上位「0」は表示しないということもできそう
    ですね。 

引用返信 [メール受信/OFF] 削除キー/
■236 / inTopicNo.8)  Re[1]: 数字の位置えお指定したいのですが
□投稿者/ たゆー -(2005/09/15(Thu) 16:58:06)
    ぜんぜん別アプローチで
    
    ○仮に銀行振り込みのように、等間隔の場所にレポート印字という条件がつきますが
    
    ・#右側文字列( #複写( "□",10 ) + #文字列([金額]), 10 )
     数値の前に"□"(スペース)を、数値文字列含む10桁になるように取得後
     テキストオブジェクトで均等割付を行えば可能です
    
    *ただし、郵便番号やクレジットカードのように途中に「-」がある場合は
     上記を必要桁に分割する必要があります
    
    > 数値の前に"□"(スペース)を、・・・
    印字が半角の場合は半角スペース・全角の場合は全角スペースです
    

引用返信 [メール受信/OFF] 削除キー/
■237 / inTopicNo.9)  Re[1]: 数字の位置えお指定したいのですが
□投稿者/ 大地 -(2005/09/15(Thu) 19:44:25)
    ありがとうございました
    おかげさまで解決する事ができました。

解決済み!
引用返信 [メール受信/OFF] 削除キー/
■238 / inTopicNo.10)  Re[1]: 数字の位置えお指定したいのですが
□投稿者/ 緒方 -(2005/09/15(Thu) 20:15:07)
    解決済みなので余計なことかもしれませんが
    私も以前部分列を使って1文字づつ取り出してやっていました
    しかし、今は次のやり方でやっています
    金額のオブジェクトを所定用紙の印刷範囲まで広げて
    オブジェクトの属性−書式タブ−文字間−指定値
    で数値を入れて文字間を広げてぴったり印刷しています
    もちろん金額は数値ではなく文字に変換し文字位置は右詰です
    

引用返信 [メール受信/OFF] 削除キー/
■240 / inTopicNo.11)  決められた位置に数字合わせ
□投稿者/ 佐田 守弘 -(2005/09/15(Thu) 22:54:56)
http://www.m-sada.com
    大地さん
    既に解決済みとの事ですが、金額の数字の位置合わせに苦労されている様ですね。
    さて、皆様が書かれている様に、文字列にして1文字ずつ印字するなり、両端揃え
    で印刷するのも1つの方法ではありますが、特に1文字ずつ印字するのは、かなり
    面倒であり、間違いの訂正や、後からの修正に大変に苦労するものです。
    (私も経験者です)
    
    金額の数字は数字として印刷するのが本来であり、自然だろうと思います。
    ポイントは、数字文字の間隔をいかに調整するかですが、レポートでの印字の文字間
    は0.1mm単位で自由に設定できます。
    
    具体的には金額を印刷するオブジェクトの[書式]のタブを開き、「文字間」を継承
    から指定値に変更して下さい。
    これによってその右側の文字間の設定が有効になり、0.1mm単位での指定ができます。
    印字する文字は10文字までなので、仮に0.1mm以下の誤差があっても、トータルの誤差は
    1mm以内になりますから、指定枠の中にほぼ収められるはずです。
    
    ポイントは固定ピッチフォントを指定することです。プロポーショナルフォントでは、
    文字間を指定する意味がありません。
    
    文字間をいくつに設定すればよいかは、印字の幅(mm)と印字する文字サイズ(ポイント数)
    から、計算は可能ですが、まあ、試行錯誤でためしてみるのも1つの方法かと思います。

引用返信 [メール受信/OFF] 削除キー/
■243 / inTopicNo.12)  Re[2]: 決められた位置に数字合わせ
□投稿者/ 大地 -(2005/09/16(Fri) 11:59:48)
    ありがとうございます
     
    
    > ポイントは固定ピッチフォントを指定することです。プロポーショナルフォントでは、
    > 文字間を指定する意味がありません。
     
     この固定ピッチフォントとプロポーショナルフォントは、どこで設定するのでしょうか?
    
     教えて下さい。

引用返信 [メール受信/OFF] 削除キー/
■244 / inTopicNo.13)  固定ピッチフォントとプロポーショナルフォントはフォント名で選択
□投稿者/ 佐田 守弘 -(2005/09/16(Fri) 20:26:16)
http://www.m-sada.com
    大地
     >この固定ピッチフォントとプロポーショナルフォントは、どこで設定するのでしょうか?
    テキストオブジェクトの[フォント]のタブで設定します。あるいはレポートのファイル属性
    にも[フォント]のタブがあり、ここでレポート全体で使用するフォントの設定ができます。
    
    で、質問の意味は、
    「固定ピッチフォントとプロポーショナルフォントのどちらを選ぶかの設定をどこで行うか?」
    という意味だと思いますが、そういった設定ではなく、フォント名で選びます。
    
    日本語フォントであれば、「MS ゴチック」は固定ピッチ、「MS Pゴチック」はプロポーショナル
    です。他のフォントについても、フォント名の中にPが付いていたらプポーショナルの意味で
    ある事が多いと思います(調べてませんが多分ほとんどその意味でしょう)。
    
    なお英文フォントはほとんどがプロポーショナルフォントだと思いますから、英数字を英文フォント
    で印刷すると、固定ピッチにはならないと思います。

引用返信 [メール受信/OFF] 削除キー/
■251 / inTopicNo.14)  Re[4]: 固定ピッチフォントとプロポーショナルフォントはフォント名で選択
□投稿者/ 大地 -(2005/09/17(Sat) 14:29:14)
    ありがとうございました
    とても参考になりました。

引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -