過去の桐井戸端BBS (桐ver.8) |
9081 | 固定長ファイルで書き出すには? | OUCHI | 2000/12/22-18:59 |
桐ver8を使用しています。 作成したDATAを固定長のtxtファイルで書き出す方法はありませんか? 作成したDATAの文字数はバラバラなので指定した文字数の合わせて(空白を挿入)固定長のtxtファイルを作成したいのですが..... 又逆に固定長のtxtファイルを読み込む方法もあれば知りたいです。 たぶんVBAとかでプログラムを作れば簡単なのでしょうが、簡単にできる方法があれば教えて下さい。 現在、ちなみに読み込む方は、accsessに機能があるので一回accsessにインポートしてから”,”切りのtxtで書き出してから 桐に読み込むという大変面倒な作業をしています。 どうかよろしくお願いします。 | |||
9084 | Re:固定長ファイルで書き出すには? | 悲しげ | 2000/12/22-22:02 |
記事番号9081へのコメント どもっ、OUCHIさん 1)書き出す場合、 ----------------------------------------- [a] [b] [c] [d] あいうえお かきく けこ さしすせ ----------------------------------------- であり、[a]を12byte、[b]を10byte、[c]を8byte、[d]を16byteの固定長にしたいとします。 簡単には、項目[e]を増設して項目計算式を次のようにします。 #sstr([a],-1,-12)+#sstr([b],-1,-10)+#sstr([c],-1,-8)+#sstr([a],-1,-16) そして、この項目[e]の値を書き出します。 この場合、各項目値は左寄せとなります。#部分列関数(#sstr)の仕様については、 桐を起動してメニューバーからヘルプ/トピックをご覧下さい。 要するに与えられた桁数になるまで、後ろに半角空白が補われます。 各項目値を右寄せとしたければ、#右側文字列関数を使います。 項目計算式は#last([a],-12)+#last([b],-10)+#last([c],-8)+#last([a],-16)になります。 これは与えられた桁数になるまで、前に半角空白が補われます。 これらを組み合わせれば、各項目ごとに右寄せ・左寄せを混在させることも可能です。 ちなみに、中央揃えはパス。(^^;) 以上は、関数の引き数にマイナス符号を付けています。 これは桁=byte、即ち半角ベースで考えているからです。 もし全て全角と云うことならば、引き数にマイナス符号はつけません。 2)読み込む場合 桐自体に固定長読み込みの機能があるはずですので、それを探して試してみて下さい。 ただ、実は私はそれがうまいこと使いこなせなくて(^^;)、私自身はしばしば別な手法を使っていますんで、 ここは他の方のコメントにお任せします。(^^;)(^^;) | |||
9103 | ありがとうございました | OUCHI | 2000/12/25-15:31 |
記事番号9084へのコメント 悲しげ 様 アドバイスありがとうございます。早速教えてもらった方法で行なってみました、感動しました。 今まで苦労していたのでとてもうれしいです。 本当にありがとうございました。 ouchi |