過去の桐井戸端BBS (桐ver.8)
3008 強制改行文字を使わないで改行する方法 小松亀一 1999/10/26-13:53
契約書等サンプル文書書式の桐によるデータベース化を試みている者です。

項目内で改行する場合、強制改行文字に「/」を指定しております。
データをワープロ等で使用するためコピーすると「/」もついて回るため
いちいち削除しなければならず、不便です。

全く基本的なことかも知れませんが、項目内で改行する場合に強制改行文字
を使用しないで、エンターキーによる改行を行う方法があれば、ご教示頂ければ幸いです。

3009 Re:強制改行文字を使わないで改行する方法 宮城 1999/10/26-16:19
記事番号3008へのコメント
小松亀一さん、こんにちは。正攻法を思いつかないので姑息な手です。

問題となる項目を[テキスト]として、[テキスト・ワープロ用]をダミー
で持ちます。そして、こちらの項目計算式を

#文字置換([テキスト],"/","")

とし、ワープロ等での使用の場合、[テキスト]訂正後こちらを置換してから使う。

我ながら、本当に姑息。どなたかもっと良い案をお願いします。

3010 Re:強制改行文字を使わないで改行する方法 幅田 1999/10/26-16:38
記事番号3009へのコメント
>我ながら、本当に姑息。どなたかもっと良い案をお願いします。

良い案ではないんですが、強制改行文字にスペース(空白文字)を
使えば、見えなくなりますが...
...やっぱり宮城さんの案の方がいいですね。

話はちがいますが、入力時に、CTRL+Enterで強制改行文字を
入力することができますね。

3011 Re:強制改行文字を使わないで改行する方法 小松亀一 1999/10/26-17:00
記事番号3009へのコメント
宮城さん、幅田さん、早速のご回答有り難うございます。

宮城さんの方法しばらく考えて漸く意味が分かりました。
さすが良く考えられると感服しました。

ただ、項目[テキスト・ワープロ用]を項目計算式#文字置換([テキスト],
"/","")で置換後は「/」が消えてしまい、ワープロに貼り付けた文章が
改行なくズルズル続いてしまいますね。

幅田さん言われる強制改行文字をスペースとした場合も同様ですね。

私としては、項目内の文字データにエンター(リターン)キーによる改行
を付け、ワープロに貼り付けた場合も改行がなされるようにしたいのですが、
データベースの項目内では制約があって無理なのでしょうか。


3012 強制改行文字をワープロ文書の改行復帰コードに変換 佐田 守弘 1999/10/26-17:39
記事番号3008へのコメント
小松亀一先生、ご無沙汰です。

強制改行文字を入力せずに、エンターキーを押せば改行するといった方法は、原理的にありません。

●ワープロなどの改行の方法
ワープロないしエディタの場合でも、改行位置には改行コードが埋めこまれています。ワープロの画面上には、改行コ
ードが表示されないだけです。
テキストファイルやワープロ文書の場合には、通常、改行コードとしてCR/LFコードが使われます。CR/LFコードとは、
日本語では改行復帰コードとも言われ、改行(&h0D、10進で13)、復帰(&h0A、同10)の2つのコントロールコードを組み
合わせたものです。
ワープロやエディタなどで、文書の途中でエンターキー(PC-9801ではリターンキー)を押すと、カーソル位置にこのコー
ドが入り、画面上は改行が行われます。

●桐の強制改行文字の意味
桐の様なデータベースでは、テキストファイルを出力した時に、1レコード1行で、改行する形式で出力します。つまり1
レコードの終りにはCR/LFコードが出力されます。
もし項目値の途中に改行コードを入れてしまうと、その場所がレコードの末尾になってしまうわけで、都合が悪いわけ
です。これは桐からテキストを出力する時だけでなく、桐がCSV形式のデータを読み込む場合でも同じです。
そこで、CR/LFコードではないが桐の上で改行をさせるコードをユーザーが選ぶ仕組みになっています。これが強制
改行文字です。

●桐からワープロに出力する場合
既に宮城さんと幅田さんが述べられている様に、単に強制改行文字を除くだけなら、
 #文字置換([<項目>],<強制改行文字>,#未定義)
で可能ですが、この場合には改行位置で文字列が続いてしまい、桐の上で入力した強制改行文字の位置での改行
が失われます。
そこで、桐の強制改行文字をCR/LFコードに変換して出力してみたらいかがでしょうか。変換の関数は次の通りです。
 #文字置換([<項目>],<強制改行文字>,#JIS(13)+#JIS(10))

佐田守弘(KS-00119)

3015 Re:強制改行文字をワープロ文書の改行復帰コードに変換 小松亀一 1999/10/26-21:10
記事番号3012へのコメント
佐田先生、お久しぶりです。早速のご回答有り難うございました。

私のレベルでは、正確な理解は困難ですが、大変な勉強になりました。
やはり佐田先生は「凄いなー」の一語です。

>そこで、桐の強制改行文字をCR/LFコードに変換して出力してみたらいかがでしょうか。
>変換の関数は次の通りです。
> #文字置換([<項目>],<強制改行文字>,#JIS(13)+#JIS(10))

私なりにやってみて結果が分かり次第報告申し上げます。

尚、前にも話題になっていましたが、佐田先生の桐v5時代にエーアイ出版から出した
入門シリーズの桐v8版、待ち遠しくてたまりません。

3016 Re:強制改行文字をワープロ文書の改行復帰コードに変換 小松亀一 1999/10/26-21:24
記事番号3015へのコメント
佐田先生、お世話になります。

>>そこで、桐の強制改行文字をCR/LFコードに変換して出力してみたらいかがでしょうか。
>>変換の関数は次の通りです。
>> #文字置換([<項目>],<強制改行文字>,#JIS(13)+#JIS(10))
>
>私なりにやってみて結果が分かり次第報告申し上げます。

早速、[改行契約書式]という項目を作り、計算式に

#文字置換([契約書式],"/",#JIS(13)+#JIS(10))

を入れて試してみました。
すると"/"が全角スペース?に置換されており、それをコピーしてワープロ(メモ帳と
一太郎)に貼り付けてみましたが、改行にはなりませんでした。

私の計算式が間違っているのかも知れません。

3017 Re:強制改行文字をワープロ文書の改行復帰コードに変換 幅田 1999/10/26-23:07
記事番号3016へのコメント
>早速、[改行契約書式]という項目を作り、計算式に
>#文字置換([契約書式],"/",#JIS(13)+#JIS(10))
>を入れて試してみました。
>すると"/"が全角スペース?に置換されており、それをコピーしてワープロ(メモ帳と
>一太郎)に貼り付けてみましたが、改行にはなりませんでした。

私も佐田先生は「すごいなー」と思いました。
けど、できなかったんですか?
私は佐田先生のやり方は試していませんが、もしそれでもだめなら
やはり一括処理しかないでしょう。
というわけで、乗りかかった船ですのでちょっと考えてみました。

表を開いたり、該当するレコードに位置をあわせるところは省略してあります。
まず、表を開いて実行してみてください。
[テキスト]のデータを最初から1文字づつ読み取って&テキストに代入していき
強制改行文字の”/”が見つかったら、印字コマンドでテキストファイルに
書き出しています。
書き出された”テキスト.TXT”をメモ帳等で開くとちゃんと改行されているはずですが...


−−−−−−−−−−−−−−−−−−−−−−−−−−

変数宣言 数値{&位置}
変数宣言 文字列{&一文字,&テキスト}

&テキスト=””
&一文字=”DUMMY”
&位置=1

印字開始 ”テキスト.TXT”

繰り返し (&一文字<>””)
  &一文字=#部分列([テキスト],&位置,1)
    ケース開始
      ケース (&一文字=”/”)
        印字 &テキスト
        &テキスト=””
      ケース その他
        &テキスト=&テキスト+&一文字
      ケース終了
  &位置=&位置+1
繰り返し終了

印字 &テキスト

印字終了

終了
−−−−−−−−−−−−−−−

また、その後、

シェル実行 ”テキスト.txt”

の一行を加えれば、書き出されたファイルが関連付けされたエディターで
表示されるので、そのままコピー&貼り付けで再利用できますね。

なお、この一括処理を利用する場合、
「ツール」→「環境設定」→「環境設定」ダイアログの「一括」で「高度な設定」ボタンを押し、
「高度な設定(一括)」で「印字コマンドでコントロールも時を展開する」のチェックマークをはずして
おいてください。

でないと、もしもデータとなる文章の中に ”\n”という文字があった場合、桐はそれを改行文字として
判断してしまい、文字を書き出さず、ただ改行のみをしてしまいます。
3018 改行復帰コードの出力は不可能でした 佐田 守弘 1999/10/27-00:28
記事番号3017へのコメント
小松先生、幅田さん
#3012の書き込みは誤っておりました。
確認してみたところ、桐の関数「#JIS」は、0から31までのコードは、全て不正文字とみなされて、半角スペースが返される仕様でした。
このため、上記のコメントに記載した関数は使えません。
前発言は取り消しさせて頂きます。

幅田さんが書かれている様に、やはり一括処理を使わないと難しい様です。

佐田守弘(KS-00119)

3019 Re:改行復帰コードの出力は不可能でした 小松亀一 1999/10/27-05:43
記事番号3018へのコメント
佐田先生、幅田さん、ご指導有り難うございました。

佐田先生のデータベースと改行コード等についてのご解説は、私にとっては大変な
勉強になりました。
幅田さんご解説の一括処理は私の作るレベルを遙かに超えていますが、これを機会に
勉強してみます。

不明点が出てきましたら、又質問させていただきますので宜しくお願い申し上げます。

3021 Re:桐で完結する必要性があるの? Ogo 1999/10/27-11:31
記事番号3019へのコメント
どうして桐で完結させようとするのでしょう?
テキストファイルの特定1文字を、事後にただ単に置換すればいいだけでしょう?

メモ帳なんて最低のテキストエディターは論外ですが、秀丸でも Dana でも WZ でも、
まともなテキストエディターならば「改行コードに置換する」能力程度はあると思い
ますけど。(多くは \n という書き方で x0D0A(Windows 標準の改行コード)を表現
でき、文字置換ができます)。

複数のテキストファイルでも、同時に広げた全てのファイルに対して、一気に同一の
置換を行うなんてのもできるでしょ、まともなテキストエディターなら。

また、テキストエディターやワープロにこんな機能がなくても、これを実現してくれる
ユーティリティーソフトはたくさん存在します。

http://www.vector.co.jp/vpack/filearea/win95/util/text/index.html

http://www.vector.co.jp/vpack/filearea/win95/util/text/conv/index.html

例えば TextSS なんてユーティリティは如何?(フリーソフト)

http://www.vector.co.jp/soft/win95/util/se072729.html

全部一発で処理したいなんていうなら、AWK, Perl, SED なんかを使うように
スクリプト(バッチファイル)を組んで一括処理から呼び出すんでしょうね。

3023 Re:桐で完結する必要性があるの? 小松亀一 1999/10/27-12:45
記事番号3021へのコメント
Ogoさんご指導有り難うございます。

>テキストファイルの特定1文字を、事後にただ単に置換すればいいだけでしょう?
>まともなテキストエディターならば「改行コードに置換する」能力程度はあると思い
>ますけど。

私はワープロは一太郎ライトをメイン、メモ帳をサブに使用しております。
一太郎ライトの文字置換では改行コードに置換する方法が判りませんでした。
一太郎で置換する方法があればご教示いただければ幸いです。

>また、テキストエディターやワープロにこんな機能がなくても、これを実現してくれる
>ユーティリティーソフトはたくさん存在します。
>
>http://www.vector.co.jp/vpack/filearea/win95/util/text/index.html

ご指摘のHPを探索して勉強してみます。有り難うございました。

桐のワープロ機能がもう少し向上し、わざわざワープロにつけ替えるないで、桐だけで処
理できるようになれば良いのですが。いのですが。

3036 Re:桐で完結する必要性があるの? Ogo 1999/10/28-00:01
記事番号3023へのコメント
>一太郎ライトの文字置換では改行コードに置換する方法が判りませんでした。
>一太郎で置換する方法があればご教示いただければ幸いです。

私は一太郎を持っていません。返答不能です。

>>まともなテキストエディターならば「改行コードに置換する」能力程度はあると思い
>>ますけど。
>私はワープロは一太郎ライトをメイン、メモ帳をサブに使用しております。

そもそも一太郎はテキストエディターではありません。メモ帳は論外の低品質です。

>桐のワープロ機能がもう少し向上し、わざわざワープロにつけ替えるないで、桐だけで処
>理できるようになれば良いのですが。いのですが。

桐はワープロではありません。それを志向すべき筋合いものでもないと思いますが。
テキスト処理はテキストエディターを始めとするテキスト処理用のソフトを使うのが順当
で、ワープロはテキスト処理を目的としたソフトではありません。

メモ帳で開いて全文コピーして一太郎に貼り付けるなんて手順よりも、テキストファイル
を軒並み一気にフィルターを通して変換してしまい、最後にワープロに読み込んで整形す
る方がよっぽど楽だと思うんですがね。私なんか。

特にメモ帳を仕事で使おうなんて神経は理解できない。
たとえ Windows にオマケでついているからって……

ちなみに、まともなテキストエディターを利用する気になったら、メモ帳をお払い箱に
するために「メモ帳トラッパー」をインストールすることをお勧めします。

http://home.att.ne.jp/red/takeone/soft/index.htm

3039 Re:桐で完結する必要性があるの? 小松亀一 1999/10/28-06:24
記事番号3036へのコメント
Ogoさん、度々のコメント有り難うございます。

>そもそも一太郎はテキストエディターではありません。メモ帳は論外の低品質です。

お陰様にて秀丸をダウンロードして、"/"を改行コードに簡単に置換できることを発見
しました。

>桐はワープロではありません。それを志向すべき筋合いものでもないと思いますが。

かばねやみ(ものぐさ)な私は、桐で全ての事務処理をすることを志向しております。
2001年から漸く裁判書類もA4横書き化されるので、桐だけで間に合うようになら
ないかと期待しているところです。

そうなれば"/"を改行文字としてそのまま使用出来るのですが。

>ちなみに、まともなテキストエディターを利用する気になったら、メモ帳をお払い箱に
>するために「メモ帳トラッパー」をインストールすることをお勧めします。

一応ダウンロードしてインストールしてみました。少しずつ勉強してみます。

色々ご指導有り難うございました。

この記事は佐田守弘氏によって詳しく解説されています。

戻る