Cの改行文字をVBで認識するには?

解決


みさ  2001-06-06 20:56:02  No: 74469  IP: [192.*.*.*]

C言語の改行キー(\n)をVBのテキストボックスでも
改行として認識させるには、どうすれば良いのでしょうか?
何も手を加えずにVBで表示すると「・」となってしまいます。。。
ご存知の方がいらっしゃいましたら、宜しくご教授願います!!

編集    削除
たかみちえ  2001-06-07 00:42:14  No: 74470  IP: [192.*.*.*]

うーん、果たしてこれでだいじょうぶかな?
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の"\*"のコードが同じ記述法だったとしたら、こんなところです。

編集    削除
こころ  URL  2001-06-07 04:49:58  No: 74471  IP: [192.*.*.*]

要は、\n等はあくまでprintf関数が
改行を判断するのに使用するだけで
実際のテキストファイルの改行コードはCrとLfになります。
(VBでは定数vbCrLfが用意されている)

編集    削除
たかみちえ  2001-06-07 06:51:09  No: 74472  IP: [192.*.*.*]

うーん、
vbCrLfは、使えないときと使えるときがあるみたい…。
検索・おきかえではたしか、使えなかったような…。
chrで地道に置き換えていくのが無難です。
タブとかもそのまま変換できるし

編集    削除
みさ  2001-06-08 02:23:43  No: 74473  IP: [192.*.*.*]

たかみちえさん、こころさん、ありがとうございます。

Cのプログラムから受取ったデータ(改行あり)を
テキストファイルで保存し、それをVBから読む。
と言う処理をしています。
いったん保存した時のテキストファイルの中では改行は
\nではなくて、CrとLfになっていると言う事なのでしょうか?

すみません。お2人のやり取りに付いて行けていないようで。。。

編集    削除
たかみちえ  2001-06-08 02:33:11  No: 74474  IP: [192.*.*.*]

そうですねぇ。
ちなみに、Macからきたりしたテキストは、そこがchr(10)だけとかになってます。(つまりLfだけとか)
向こうで見ると、chr(13)とか、あまったのは×になるんですねぇ、

  えっとさてさて、話を戻して、
通常は意識しないでいいです。テキストファイルを渡したりするときは、そのままで。

  ところでおなじChrで、バックスペースもじってありますよね?
あれ、何に使うんでしょうかねぇ?
使っても実際には黒い点が出るだけだし…。

編集    削除
みさ  2001-06-14 01:30:12  No: 74475  IP: [192.*.*.*]

できました!
Palmから受取ったテキストだったのですが、
chr(10)だけで改行キーの認識ができました。
あまり難しく考えすぎる必要はなかったのかな?と思います。

どうもありがとうございました!!!

編集    削除
たかみちえ  URL  2001-06-14 02:26:41  No: 74476  IP: [192.*.*.*]

chr(10)だけでも改行は探せますけど…。
  それをおきかえした場合、chr(13)が2つになるかも…。
(別に画面には見えないけど)
  それから、よくある<BR>を貼り付けるのだと、
ひょっとしたらchr(10) <BR> chr(13)になって、
改行しなくなっちゃうかも…。

編集    削除