C言語の改行キー(\n)をVBのテキストボックスでも
改行として認識させるには、どうすれば良いのでしょうか?
何も手を加えずにVBで表示すると「・」となってしまいます。。。
ご存知の方がいらっしゃいましたら、宜しくご教授願います!!
うーん、果たしてこれでだいじょうぶかな?
Public Function Msgboxc(…Msgboxと同じ引数) As Msgboxresult
Msgboxc = Msgbox(Replace(Replace(Replace(Prompt,"\n",chr(10) & chr(13)),"\t",chr(9)),"\\","\"),ボタン定数etc…)
END Function
えーっと、1行で書いて、デバックしにくいコードですけど、
"\n"と言う文字を、CrとLfに置き換えます。
あと、タブ文字の、"\t"(javascriptでは)をタブに変換したりします。
んー、JavaScriptとCの"\*"のコードが同じ記述法だったとしたら、こんなところです。
要は、\n等はあくまでprintf関数が
改行を判断するのに使用するだけで
実際のテキストファイルの改行コードはCrとLfになります。
(VBでは定数vbCrLfが用意されている)
うーん、
vbCrLfは、使えないときと使えるときがあるみたい…。
検索・おきかえではたしか、使えなかったような…。
chrで地道に置き換えていくのが無難です。
タブとかもそのまま変換できるし
たかみちえさん、こころさん、ありがとうございます。
Cのプログラムから受取ったデータ(改行あり)を
テキストファイルで保存し、それをVBから読む。
と言う処理をしています。
いったん保存した時のテキストファイルの中では改行は
\nではなくて、CrとLfになっていると言う事なのでしょうか?
すみません。お2人のやり取りに付いて行けていないようで。。。
そうですねぇ。
ちなみに、Macからきたりしたテキストは、そこがchr(10)だけとかになってます。(つまりLfだけとか)
向こうで見ると、chr(13)とか、あまったのは×になるんですねぇ、
えっとさてさて、話を戻して、
通常は意識しないでいいです。テキストファイルを渡したりするときは、そのままで。
ところでおなじChrで、バックスペースもじってありますよね?
あれ、何に使うんでしょうかねぇ?
使っても実際には黒い点が出るだけだし…。
できました!
Palmから受取ったテキストだったのですが、
chr(10)だけで改行キーの認識ができました。
あまり難しく考えすぎる必要はなかったのかな?と思います。
どうもありがとうございました!!!
chr(10)だけでも改行は探せますけど…。
それをおきかえした場合、chr(13)が2つになるかも…。
(別に画面には見えないけど)
それから、よくある<BR>を貼り付けるのだと、
ひょっとしたらchr(10) <BR> chr(13)になって、
改行しなくなっちゃうかも…。