過去の桐井戸端BBS (桐ver.8)
17256 フォームのテキストオブジェクトでの文字列変数に改行コードを代入できますか? べべ 2002/09/14-18:08
ども、べべともうします。
困ったことがあるといつもROMさせていただいております。

タイトルにありますように、文字列の変数の中に改行コードって代入できないのでしょうか?
フォームの中にテキストオブジェクトを一つ設けて、
一括処理の処理状況をそこにメッセージとして表示したいのですが、たとえば

1)○○○○処理中
2)○○○○完了
 ・
 ・
 ・
n)hogehoge終わりました。

みたいなメッセージを変数にいれられないかと、小一時間考えたり、
過去ログにあたったりしたのですが参考になりそうなスレッドが見当たりませんでした。

&message =&message +"1)○○○○処理中"+#jis(13)+#jis(10)
&message =&message +"2)○○○○完了"+#jis(13)+#jis(10)
とかやってみたのですが、

1)○○○○処理中 2)○○○○完了 

とテキストオブジェクトにはつながって表示されます。
(※ #jis()関数では0から255は半角スペースになるみたいで...)

アクセスのVBAとかだったら vbCrLf で改行されるんですけど。

識者の方のお知恵をお借りしたく、投稿させて頂きます。

何卒、宜しくお願いいたします。

17257 Re:文字列変数に改行コードを代入できますか? 悲しげ 2002/09/14-18:46
記事番号17256へのコメント
どもっ、べべさん
桐では任意の文字を強制改行文字として指定できます。
例えば「↓」をそうしたい場合は、フォームのオブジェクト属性は
「編集」タブ、右下「設定」牡丹、「改行」タブの中の
「非表示強制改行文字」の欄に「↓」を入れます。

※上部メニューバー「書式(S)」「定義画面の設定(O)」で
「詳細プロパティを使用する」にチェックが入っている必要があります。

その上で

条件(なんとか2) &msg=&msg+"↓2)○○○完了"
・・・・
条件(なんとか3) &msg=&msg+"↓3)○○○完了"

のようにすることができると思います。

ちなみに、「○○処理中」と「○○完了」の表示を切り替えたいのならば、
変数をもうひとつを使ったらいいかもしれません。
例えば次のように。

&TMP=&msg
・・・・
条件(なんとか2a) &msg=&TMP+"↓2)○○○処理中"
・・・・
条件(なんとか2b) &msg=&TMP+"↓2)○○○完了"
&TMP=&msg
・・・・
条件(なんとか3a) &msg=&TMP+"↓3)○○○処理中"
・・・・
条件(なんとか3b) &msg=&TMP+"↓3)○○○完了"
&TMP=&msg


ps:
「\n」が使えてもいいような気もするんですが、フォームでは効かないみたいですね。
17281 Re:文字列変数に改行コードを代入できますか? べべ 2002/09/17-10:29
記事番号17257へのコメント
悲しげさん、すばやいレスありがとうございました。
教えていただいた方法、早速使わせていただきます。

ps.¥nでいけたらと思って僕も試してはみたんですが、駄目でした。
¥nが使えるようにしてくれるよう、K3さんにはお願いしたいです。
17282 Re:文字列変数に改行コードを代入できますか? 悲しげ 2002/09/17-12:07
記事番号17281へのコメント
どもっ、べべさん
「\n」が使えない訳は何となく推察がつきました。↓参照
http://www2u.biglobe.ne.jp/~s_tanaka/cgi-bin/bbs/bbs.cgi(*注)

17286 Re:文字列変数に改行コードを代入できますか? べべ 2002/09/17-19:22
記事番号17282へのコメント

悲しげさん、わざわざありがとうございます。教えていただいたURL、
拝見させていただきました。
【多遊】さんのBBSもかなり盛り上がってみたいですね。こちらも時々ROMさせていただきます。

それと、悲しげさんに教えていただいた方法でバッチリいけました。
有難うございました。
管理人より
No.17282の*注について
悲しげさんのコメントにある
http://www2u.biglobe.ne.jp/~s_tanaka/cgi-bin/bbs/bbs.cgiは、【多遊】さんが運営する掲示板であり
その中で、非表示強制改行文字列に「¥n」を使った場合、2行改行されてしまうという話題がありました。
その原因として、うにんさんのコメントの中で、強制改行文字はもともと複数指定することができ、「¥n」を
指定した場合、「¥」も「n」も改行文字としてみなされたということを説明しておられます。

・・・・・・以下【多遊】さんの掲示板より引用・・・・・・・

●<3092> フォームで強制改行/【多遊】
悲しげさんへ。もしご覧になられていましたら。

>「\n」が使えてもいいような気もするんですが、フォームでは効か
>ないみたいですね。
的をはずしそうなので、ここに書いておきますが。

私の環境での話ですが、実は不思議な症状がでます。
フォームで「非表示強制改行」で、「\n」を設定すると、改行されます。
ただ、2行改行です

例:「あああああ\nいいいいい」の場合

表示例@
あああああ
いいいいい・・・・でなく

表示例A
あああああ

いいいいい・・・・のように一行空白が、入ります。

そこで、非表示強制改行を「\」だけにすると、@の様になります。
また、仮に非表示強制改行に「ab」を設定すると
例:「あああああbaいいいいい」の場合でもAのように一行空白改行に
なります。改行文字は、一文字単位に処理されているような感じです。
少し変でしょうか?。一応ご報告まで。


●<3093> Re>【多遊】さんの3092 /悲しげ
見ました。
で、再現できました。
で、これは「\n」自体とは直接関係なさそうですね。
例えば非表示強制改行文字に「\nab」と入れて、ソースが次
のようだったとします。

ああ\いい\nうう\naええ\nabおお

この場合の画面表示は

ああ
いい

うう


ええ



おお

のようになりますから、どうやら複数の強制改行文字を入力した場合、
その「どれでも」ひとつの改行と見なされるみたいですね。これって不具合なの?
いずれにせよ、使う場合は1文字に限った方が無難かも?
否、たとえば「.」でも「。」でも「!」でも改行できるという有り難〜い仕様だったり?(ヘルプ未確認)


●<3095>悲しげさんの3093/うにん
強制・あふれ改行文字は、元々複数指定できる仕様です。
(V7のマニュアルによると、64文字まで)あふれ改行文字に「市区町」を指定する例が出ています。
(改行文字は「改行文字列」じゃないので、文字単位で処理されます。
「ます。」の時だけ改行して「です。」は改行しない、とかいう設定はできませんね^^)

戻る